diff --git a/ar/README.md b/ar/README.md new file mode 100644 index 000000000..7c08388ed --- /dev/null +++ b/ar/README.md @@ -0,0 +1,29 @@ +--- +description: The first stablecoin that earns a yield while it's still in your wallet +--- + +# Introduction + +## **A Better Form of Money** + +Origin Dollar (OUSD) is a new stablecoin that was initially launched in September 2020 on the Ethereum network. Its design is superior to existing stablecoins because OUSD captures competitive yields while being passively held in wallets. + +![](.gitbook/assets/origin-dollar-summary.jpeg) + +**Background** + +In 1999, Yu Pan, Origin’s R\&D engineer, and his fellow PayPal co-founders [conceived](https://www.cnbc.com/2017/08/14/david-sacks-cryptocurrency-interview.html) of creating “the new world currency”, complete with interest yielding strategies and debit cards without having to connect to traditional banking systems. Several pivots and an eBay acquisition later, PayPal dropped its ambitions in this area. + +Almost two decades later, Tether introduced the concept of a USD-denominated stablecoin in 2014. Since then, stablecoins have proven themselves as an ideal way of transferring value without exposing users to the price volatility of free-floating currencies. Today, more value is [transferred via Tether](https://www.bloomberg.com/news/articles/2019-10-01/tether-not-bitcoin-likely-the-world-s-most-used-cryptocurrency) than with Bitcoin. Meanwhile, Decentralized Finance (DeFi) has experienced an explosion of growth with [billions of dollars](https://defipulse.com) of capital now locked up in smart contracts that generate yields from lending and trading protocols. + +One of the problems with existing stablecoins is that users have to constantly choose between holding an easily spendable coin and earning yields by locking their tokens up in smart contracts. For example, users that lock up USDC in Aave cannot spend a portion of that USDC simultaneously. Expensive Ethereum gas fees serve as "switching costs" each time those users want to switch between spending mode and earning mode. + +To make matters worse, yields from lending and trading activities change rapidly. Sophisticated DeFi yield earners are familiar with constantly having to rebalance their portfolio of assets across many competing platforms. This is time-consuming and expensive as gas fees once again eat into yields. In addition, it is time-consuming to calculate real ROI as APYs are unstable and constantly fluctuating. There isn't an easy unit of account. As a result, while DeFi is growing extremely rapidly, it still makes it difficult for many cryptocurrency users to participate. + +With OUSD, there’s no need to unwind complicated positions when you want to spend your OUSD. You can transfer it freely without having to pay gas to unlock spendable capital. In addition, OUSD gives you access to some of the highest-earning opportunities across DeFi with none of the hassles. The OUSD smart contract will deploy your underlying capital to a diversified set of yield-earning strategies, rebalancing over time to achieve great yields while diversifying risk. Earnings automatically accrue in your wallet and compound continuously while you hold OUSD. Again, no staking or lockups are required. OUSD also serves as an ideal unit of account. DeFi investors no longer need complicated spreadsheets to calculate their earnings as they can easily see their constantly updated OUSD balances in real-time as their interest compounds automatically. OUSD is an ideal stablecoin for DeFi yield farmers and novice cryptocurrency users alike. + +Created by cryptocurrency and fintech veterans, the Origin Dollar is brought to you by the [team](https://www.originprotocol.com/team) at [Origin Protocol](https://www.originprotocol.com) that includes serial entrepreneurs, early cryptocurrency investors, early employees at YouTube, engineering managers at Google/Dropbox, and one of the Paypal co-founders, Yu Pan. + +For those interested in diving into the technical details of how it works, these docs are a great place to start. We encourage developers to audit and contribute to our [Github](http://www.github.com/OriginProtocol) (100% open-source). Our team hangs out in [Discord](https://www.originprotocol.com/discord) if you have questions or need help getting started. + +Welcome to the future of money. diff --git a/ar/SUMMARY.md b/ar/SUMMARY.md new file mode 100644 index 000000000..a389e6c18 --- /dev/null +++ b/ar/SUMMARY.md @@ -0,0 +1,64 @@ +# Table of contents + +* [Introducing OUSD](README.md) +* [How It Works](how-it-works.md) +* [Getting Started](getting-started.md) +* [Analytics Dashboard](analytics-dashboard.md) +* [FAQ](faq.md) + +## Core Concepts + +* [Elastic Supply](core-concepts/elastic-supply/README.md) + * [Rebasing & Smart Contracts](core-concepts/elastic-supply/rebasing-and-smart-contracts.md) +* [Yield Generation](core-concepts/yield-generation/README.md) + * [Lending](core-concepts/yield-generation/lending.md) + * [Market Making](core-concepts/yield-generation/market-making.md) + * [Rewards](core-concepts/yield-generation/rewards.md) +* [Wrapped OUSD](core-concepts/wrapped-ousd.md) +* [Supported Stablecoins](core-concepts/supported-stablecoins/README.md) + * [USDT](core-concepts/supported-stablecoins/usdt.md) + * [USDC](core-concepts/supported-stablecoins/usdc.md) + * [DAI](core-concepts/supported-stablecoins/dai.md) +* [Supported Strategies](core-concepts/supported-strategies/README.md) + * [Compound](core-concepts/supported-strategies/compound.md) + * [Aave](core-concepts/supported-strategies/aave.md) + * [Curve](core-concepts/supported-strategies/curve.md) + * [Convex](core-concepts/supported-strategies/convex.md) +* [Fund Management](core-concepts/fund-management.md) +* [Price Oracles](core-concepts/price-oracles.md) + +## Governance + +* [Principles](governance/principles.md) +* [Admin Privileges](governance/admin-privileges.md) +* [OGN Staking](governance/ogn-staking.md) +* [Contributing](governance/contributing.md) +* [Vote Delegation](governance/vote-delegation.md) + +## Smart Contracts + +* [Architecture](smart-contracts/architecture.md) +* [Registry](smart-contracts/registry.md) +* [API](smart-contracts/api/README.md) + * [Vault](smart-contracts/api/vault.md) + * [ERC-20](smart-contracts/api/erc-20-1.md) + * [Timelock](smart-contracts/api/timelock.md) + * [Strategies](smart-contracts/api/strategies.md) + +## Security & Risks + +* [Risks](security-and-risks/risks.md) +* [Audits](security-and-risks/audits.md) +* [Insurance](security-and-risks/insurance.md) +* [Bug Bounties](security-and-risks/bug-bounties.md) + +## Guides + +* [Integration Guide For Exchanges](guides/integration-guide-for-exchanges.md) +* [Incentivized Harvesting Guide](guides/incentivized-harvesting-guide.md) + +## Links + +* [Github](https://www.github.com/originprotocol/origin-dollar) +* [Discord](https://www.originprotocol.com/discord) +* [originprotocol.com](https://www.originprotocol.com) diff --git a/ar/analytics-dashboard.md b/ar/analytics-dashboard.md new file mode 100644 index 000000000..9c3e6a577 --- /dev/null +++ b/ar/analytics-dashboard.md @@ -0,0 +1,31 @@ +# Analytics Dashboard + +{% hint style="info" %} +Visit [analytics.ousd.com](https://analytics.ousd.com) to see how funds are allocated, view historical performance data, and track your personal gains. +{% endhint %} + +The [APY dashboard](https://analytics.ousd.com/apy) is primarily intended for consumption by our engineering team, but we went ahead and deployed it since our ethos is "public by default" and everything that we do is [open-source](http://github.com/OriginProtocol). Unfortunately, that often means erring on the side of transparency and not necessarily the side of taking the time to explain things clearly. + +Before diving into the yield calculation, it's important to understand how OUSD works both in terms of [yield generation](https://docs.ousd.com/core-concepts/yield-generation) and [rebasing](https://docs.ousd.com/core-concepts/elastic-supply). You can read all about that in these [docs](https://docs.ousd.com), including [the part about smart contracts being excluded from yield](https://docs.ousd.com/core-concepts/elastic-supply/rebasing-and-smart-contracts). + +To summarize how APY is calculated, it's the annualized rate of change in OUSD's internal accounting of users' balances between two points in time. To understand that, let's break down the columns in the historical APY table (in reverse order). + +**Ratio** + +There are two types of OUSD balances: rebasing (most accounts) and non-rebasing (smart contracts that have not opted in). The OUSD token contract maintains a separate internal accounting for each type of balance using what it calls "credits". The ratio shown here is the rebasing supply of OUSD divided by the rebasing credits, which gives us the exchange rate between the two. + +**Credits** + +Some smart contracts holding OUSD have unique credit balances because their rebasing status has changed at some point in the past (by opting in or out). Here we show the sum of all rebasing credits and non-rebasing credits. When multiplied by the ratio, it gives the difference between backing supply and non-rebasing supply. + +**Non-rebasing** + +This is the portion of supply held in other smart contracts that have not opted in to rebasing. When added to (credits \* ratio), this equals backing supply. Note also that the **%** column shows the percentage of OUSD that is non-rebasing. + +**Boost** + +The APY is effectively "boosted" for rebasing accounts thanks to the fact that some OUSD is non-rebasing. Think about all of the stablecoins that were used as collateral to mint the non-rebasing OUSD. Those stablecoins are still earning through our yield farming strategies, but the gains are accruing only to the rebasing accounts. The result is that the effective APY is higher than it would be without this mechanism. The boost is the measure of this difference. If boost is 100%, then regular OUSD holders are enjoying double the APY that they otherwise would. + +**APR/APY calculation** + +Bringing this full circle, we currently measure yield by measuring the change in the [rebasing credits per token](https://github.com/OriginProtocol/origin-dollar/blob/master/contracts/contracts/token/OUSD.sol#L45) between two points in time. But there are a few other considerations to note. First, we have to make an assumption about how many Ethereum blocks are mined on an average day. We use a [fixed 6,500](https://github.com/OriginProtocol/ousd-analytics/blob/master/eagleproject/core/views.py#L43), but the actual number of blocks per day is variable. Second, we need a reasonable time horizon to measure. We focus on 30 days, which has proven to be a relatively consistent window of time during which a complete sample of yield-generating activities has occurred. Third, we convert APR into APY by assuming [constant daily compounding](https://github.com/OriginProtocol/ousd-analytics/blob/master/eagleproject/core/views.py#L449-L451). In other words, yield is constantly being reinvested into the same strategies. Finally, there is one notable drawback to using the rebase ratio to measure yield. Since rebase events currently occur sporadically (and not very frequently in a world of high gas prices), the APY won't reflect earnings that have not yet been translated to account balances. For example, there could be an interest rate spike in Compound or a volume spike in the Curve 3pool strategy, which would cause OUSD to earn more than it does on an average day. Until [the rebase method](https://github.com/OriginProtocol/origin-dollar/blob/master/contracts/contracts/vault/VaultCore.sol#L365-L370) gets called, the APY will underreport these earnings. In fact, anyone who sells OUSD during that time would be missing out on the "[next rebase](https://analytics.ousd.com)". The good news is that you should be able to observe the change in your balance over one week and it (annualized) should approximately equal our advertised APY. diff --git a/ar/architecture/erc-20-1.md b/ar/architecture/erc-20-1.md new file mode 100644 index 000000000..a9caff400 --- /dev/null +++ b/ar/architecture/erc-20-1.md @@ -0,0 +1,19 @@ +# ERC-20 + +{% hint style="success" %} +The main ERC20 address for Origin Dollar \(OUSD\) is: +**0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +OUSD is an ERC-20 compliant token with one novel property that is important to understand. + +{% hint style="warning" %} +Wallets and exchanges that wish to integrate OUSD should not cache token balances for OUSD as this value will change frequently as yield is accrued to token holders. +{% endhint %} + +The biggest difference separating OUSD from your average ERC-20 token is the way OUSD's`balanceOf()` function will return a variable amount based on the total value of the pool multiplied by the holder's stake in the pool. This difference is vital to understand, particularly for wallets and exchanges that wish to integrate the OUSD token. This value should be fetched in real-time instead of being cached since OUSD rebases frequently. + + + + + diff --git a/ar/architecture/erc-20.md b/ar/architecture/erc-20.md new file mode 100644 index 000000000..9a789241b --- /dev/null +++ b/ar/architecture/erc-20.md @@ -0,0 +1,12 @@ +# Overview + +![](../.gitbook/assets/ousd_docs_graphics_3.png) + +OUSD is made up of a series of smart contracts. Each of these contracts is wrapped in a proxy contract that can be upgraded via the governance protocols. + +Internally, ownership in the pool is tracked using a credits system that represents the percent ownership of the pool for each holder. The ERC-20 contract handles the conversion to USD terms when viewing a balance or initiating a transfer between wallets. + +The Vault is responsible for minting and burning OUSD. It also enforces the percentage of assets that are deployed to each of the supported [Strategies](../core-concepts/supported-strategies/). To optimize gas costs, the vault maintains a buffer to allow most deposits and redemptions to occur without winding/unwinding assets from strategies. + + + diff --git a/ar/architecture/strategies.md b/ar/architecture/strategies.md new file mode 100644 index 000000000..3133d5b03 --- /dev/null +++ b/ar/architecture/strategies.md @@ -0,0 +1,14 @@ +# Strategies + +New strategies can be added or removed at any time to respond to new market realities and diversify risk. + +At launch, OUSD will take advantage of a single strategy and deploy deposited capital to Compound. We intend to deploy many other strategies soon thereafter. + +Once we migrate to decentralized governance, it is our intent for the community to propose new strategies and to vote on the appropriate weight for each strategy in the pool. We anticipate that most OUSD holders will value having some exposure to higher yield opportunities while maintaining more conservative positions for a portion of the funds. + + + + + + + diff --git a/ar/architecture/timelock.md b/ar/architecture/timelock.md new file mode 100644 index 000000000..b26b30f1c --- /dev/null +++ b/ar/architecture/timelock.md @@ -0,0 +1,22 @@ +# Timelock + +{% hint style="danger" %} +The timelock will be added soon after everything is verified as working. Until then, the contracts will be governed by Origin's 5 of 8 multi-sig. This allows for a faster response if any critical issues are discovered. +{% endhint %} + +The timelock contract enforces a 48 hour wait period before any changes to the OUSD contracts can be executed. The timelock can be called by our multi-sig and is the owner of our [ERC-20](erc-20.md), [Vault](vault.md), and [Strategies](strategies.md) contracts. Time-delaying admin actions gives users a chance to exit OUSD if its admins become malicious, are compromised, or make a change that the users do not like. + +{% hint style="info" %} +The timelock is a safety measure that gives OUSD holders 48 hours to withdraw their funds if they have objections to any proposed upgrades to the protocol. +{% endhint %} + +OUSD is using a slightly modified version of the [Compound Timelock](https://compound.finance/docs/governance) which has been [audited by OpenZeppelin](https://blog.openzeppelin.com/compound-finance-patch-audit/). The 3 notable differences are: + +1. OUSD will initially use a shorter wait period \(48 hours\) than Compound \(72 hours\) to allow for a faster response if any issues are discovered. +2. Once the 48 hours have passed, anyone is free to execute the call, not just the owner of the contract. +3. Deposits \(but not withdrawals or transfers\) can be immediately frozen without requiring the 48 waiting period. This is in case a major vulnerability is discovered. + + + + + diff --git a/ar/architecture/vault.md b/ar/architecture/vault.md new file mode 100644 index 000000000..ebb2a96dc --- /dev/null +++ b/ar/architecture/vault.md @@ -0,0 +1,17 @@ +# Vault + +The vault is at the core of the protocol. The vault is responsible for minting/redeeming OUSD tokens, rebalancing funds between the various supported strategies, and liquidating rewards tokens. + +The most important publicly callable functions on the Vault are: + +* `mint()`allows a single supported stablecoin to be converted to OUSD +* `mintMultiple()`allows multiple supported stablecoins to be converted to OUSD in a single call +* `redeem()`allows a specified amount of OUSD to be redeemed for other supported stablecoins. +* `redeemAll()`allows a user to redeem their entire balance of OUSD for other supported stablecoins. This is particularly useful since user balances are constantly growing as yield is accrued. +* `rebase()`updates the balances for all users based on the value of the assets currently stored in the pool. +* `allocate()`moves the assets under management into their prescribed [Stategies](strategies.md) to maximize yield and diversify risk. + +On redemptions, it is the protocol and not the user that decides which stablecoin\(s\) to return to the user. This decision of which coin\(s\) to return is based on the internal ratios of the assets that are being held in the pool. + + + diff --git a/ar/core-concepts/elastic-supply.md b/ar/core-concepts/elastic-supply.md new file mode 100644 index 000000000..2cf0fd8ae --- /dev/null +++ b/ar/core-concepts/elastic-supply.md @@ -0,0 +1,18 @@ +# Elastic Supply + +**Elastic Supply. Stable Price.** + +OUSD works differently than most tokens. Instead of the price increasing as the value of the assets under management increase \(as with Compound cTokens or Yearn yTokens\), the value of one OUSD remains constant at approximately $1. Instead, the contracts constantly adjust the monetary supply and automatically updates the balance in every token holder’s wallet to reflect the yield that has been earned by the protocol. + +{% hint style="info" %} +Think of it as interest accruing in your bank account. The unit of account and value for the US dollar doesn’t change. You just get more US dollars over time as you earn interest. +{% endhint %} + +![](../.gitbook/assets/ousd_docs_graphics_4.png) + +This mechanism was inspired by the novel approach taken by [Ampleforth](https://www.ampleforth.org/), but there are some key differences that are worth highlighting: + +1. OUSD is 100% backed by other stablecoins and will not have the same challenge maintaining the peg to the dollar. Given the ease of minting and redeeming OUSD, we can count on arbitrageurs to ensure the peg is maintained. +2. OUSD rebasing should only increase supply since the amount of OUSD minted is tied to the realized gains earned by the underlying strategies. Your principal is protected as long as nothing goes wrong with the underlying lending/AMM and stablecoin protocols. Any decrease in your balance would be an indication of trouble in the system. +3. Unlike Ampleforth, which rebases once a day, the monetary supply of OUSD is constantly being updated in real-time as yield is generated. + diff --git a/ar/core-concepts/elastic-supply/README.md b/ar/core-concepts/elastic-supply/README.md new file mode 100644 index 000000000..a681d0615 --- /dev/null +++ b/ar/core-concepts/elastic-supply/README.md @@ -0,0 +1,21 @@ +# Elastic Supply + +**Elastic Supply. Stable Price.** + +OUSD works differently than most tokens. Instead of the price increasing as the value of the assets under management increase (as with Compound cTokens or Yearn yTokens), the value of one OUSD remains constant at approximately $1. Instead, the contracts constantly adjust the monetary supply and automatically updates the balance in every token holder’s wallet to reflect the yield that has been earned by the protocol. + +{% hint style="info" %} +Think of it as interest accruing in your bank account. The unit of account and value for the US dollar doesn’t change. You just get more US dollars over time as you earn interest. +{% endhint %} + +![](../../.gitbook/assets/ousd\_docs\_graphics\_4.png) + +This mechanism was inspired by the novel approach taken by [Ampleforth](https://www.ampleforth.org), but there are some key differences that are worth highlighting: + +1. OUSD is 100% backed by other stablecoins and does not have the same challenge maintaining the peg to the dollar. Given the ease of minting and redeeming OUSD, we can count on arbitrageurs to ensure the peg is maintained. +2. OUSD rebasing will only increase supply since the amount of OUSD minted is tied to the realized gains earned by the underlying strategies. Your principal is protected as long as nothing goes wrong with the underlying lending/AMM and stablecoin protocols. Your OUSD balance will never decrease, but the value could drop if there's a failure in the underlying systems. +3. Unlike Ampleforth, which only rebases once a day, the monetary supply of OUSD is constantly being updated in real-time as yield is generated. Rebases are triggered regularly as users interact with the OUSD contracts. Chainlink Keepers ensure at least one rebase occurs every day. + +**Manually triggering a rebase** + +Anyone can trigger a rebase at any time by [calling the rebase function on the vault](https://etherscan.io/address/originvault.eth#writeProxyContract). You can do this on Etherscan by connecting a web3 wallet. diff --git a/ar/core-concepts/elastic-supply/rebasing-and-smart-contracts.md b/ar/core-concepts/elastic-supply/rebasing-and-smart-contracts.md new file mode 100644 index 000000000..cdebbc4bf --- /dev/null +++ b/ar/core-concepts/elastic-supply/rebasing-and-smart-contracts.md @@ -0,0 +1,22 @@ +# Rebasing & Smart Contracts + +If you are using a multi-sig wallet or another smart contract that wishes to participate in the rebasing aspect of OUSD you must call OUSD’s`rebaseOptIn()` function. This only applies to smart contracts as standard EOA wallets are enrolled automatically. + +{% hint style="info" %} +Multi-sig wallets or other smart contracts must call`rebaseOptIn()`to earn yield. +{% endhint %} + +By default, OUSD that is held on smart contracts will not participate in the rebasing nature of the token and will forfeit any yield unless the smart contract explicitly opts-in. This increases the composability of OUSD within DeFi as many protocols weren't designed with the expectation that balances might change. To other DeFi protocols, OUSD works just like any other normal, well-behaved ERC-20 until you ask it to change. This is a particularly useful attribute for automated market makers (AMM’s) like Uniswap which break when the number of tokens they are holding changes unexpectedly. + +![The Gnosis Safe OUSD app will prompt you to opt in to yield](../../.gitbook/assets/ousd-app-in-gnosis-safe.png) + +Smart contracts must explicitly opt-in to receiving yield via the rebasing mechanism. This fixes the issue with the expanding supply on AMM’s while still allowing multi-sig wallets and other smart contracts the opportunity to still participate and earn yield. + +{% hint style="warning" %} +If you are deploying a contract and intend to call`rebaseOptIn()`to earn yield you cannot call it from the contract's constructor. The contract must be deployed before it can be called. +{% endhint %} + +[Gnosis Safe](https://gnosis-safe.io) users are encouraged to use the Origin Dollar app which will prompt you to opt in to receiving yield. If you are using the "Old" [Gnosis Wallet](https://github.com/gnosis/MultiSigWallet) or another contract-based wallet, you will need the [proxy contract address for OUSD](../../smart-contracts/registry.md) and the corresponding [ABI](https://api.etherscan.io/api?module=contract\&action=getabi\&address=0x1ae95dd4eeae7ed03da79856c2d44ffa3318f805). Once you add those, you will be able to call the `rebaseOptIn()` function to opt into receiving yield via rebasing or`rebaseOptOut()` to turn it off again. + + + diff --git a/ar/core-concepts/fund-management.md b/ar/core-concepts/fund-management.md new file mode 100644 index 000000000..d6b1920c5 --- /dev/null +++ b/ar/core-concepts/fund-management.md @@ -0,0 +1,23 @@ +# Fund Management + +The OUSD smart contract aggregates all users' stablecoin deposits into a single pool of assets that are then deployed into earning strategies based on preset allocations. In contrast to Yearn Vaults, TokenSets, or Zapper opportunities, users do not select individual strategies. All deposited stablecoins and consequently all OUSD tokens are fungible. + +The weighting of how assets are distributed between the supported strategies is decided by OGN holders using weekly snapshot voting. These votes happen offchain and do not cost any gas. The results of the weekly poll will then be executed onchain by members of the [Strategist multi-sig](https://etherscan.io/address/0xF14BBdf064E3F67f51cd9BD646aE3716aD938FDC) (known as "Strategists"). + +Ultimately, we believe it should be up to the community to decide what the right balance of risk/reward is appropriate for OUSD. We encourage the community to favor high-yield strategies while still maintaining diversification across multiple strategies to remove single points of failure and minimize risk. + +**How strategy allocation voting works:** + +* New snapshot proposals will open for voting on the [OGN governance portal ](http://vote.originprotocol.com)at midnight Tuesday UTC (7pm eastern Monday). The poll will be open for 48 hours, ending at midnight Thursday UTC (7pm eastern on Wednesday). +* During this time, those interested can discuss allocation changes in a thread in the #governance channel on [Origin's Discord](https://www.originprotocol.com/discord). +* Each proposal will use "weighted voting", with options for each coin/strategy combination and an option to keep the existing allocation unchanged. OGN holders can spread their votes among different listed strategies or the existing allocation. +* After the voting time has ended, Strategists will submit, verify, and execute transactions to change OUSD to the determined allocation percentages for the week. If more than 50% of the weighted votes are cast for the existing allocation, Strategists will take no action. +* Allocations will be executed for strategies that use all stablecoins first (like Convex), then each stablecoin will be allocated to the remaining strategies according to the ratio of votes for that stablecoin / strategy combination. +* If the Strategists deem any of the allocations unsafe to the funds behind OUSD, they may choose to not execute those. In addition, Strategists may decline to execute minor adjustments where the gas costs would be greater than the expected benefits. +* Like all governance proposals, Strategist allocations must meet the minimum quorum requirements (currently 1M OGN) to be considered valid. +* From a security standpoint, it is important to know that while Strategists have the ability to move funds between approved strategies or instantly pause rebasing in the case of an emergency, Strategists do not have the power to add new strategies or withdraw funds without going through the timelock. Community members can use the Strategy Validator tools to more easily [create](https://analytics.ousd.com/strategist/creator) and [decode](https://analytics.ousd.com/strategist) which actions are being performed by the Strategists. +* When voting, please remember it is inefficient to move in and out of the Convex strategy frequently and some funds need to always remain outside of Convex in order to accommodate withdrawals. + + + +**** diff --git a/ar/core-concepts/fund-management/README.md b/ar/core-concepts/fund-management/README.md new file mode 100644 index 000000000..4f6287602 --- /dev/null +++ b/ar/core-concepts/fund-management/README.md @@ -0,0 +1,6 @@ +# Fund Management + +The OUSD smart contract aggregates all users' stablecoin deposits into a single pool of investable assets. Funds are then allocated across one or more [earning strategies](earning-strategies.md) at any given moment in time. The Vault favors high-yield strategies but also seeks to maintain diversification across multiple strategies. Diversification removes single points of failures and mitigates risks. + +In contrast to Yearn Vaults, TokenSets, or Zapper opportunities, users do not select individual strategies. All deposited stablecoins and consequently all OUSD tokens are fungible. + diff --git a/ar/core-concepts/fund-management/diversification.md b/ar/core-concepts/fund-management/diversification.md new file mode 100644 index 000000000..3d98a522e --- /dev/null +++ b/ar/core-concepts/fund-management/diversification.md @@ -0,0 +1,8 @@ +# Diversification + +The initial version of the OUSD Vault smart contract gives each valid strategy a simple weight between 0% and 100% to perform simple asset allocation. These weights will be shifted often via updates by Origin in the short-term and by decentralized governance in the long-term. + +Diversification across multiple underlying DeFi [platforms](../supported-strategies/) will reduce smart contract and other systemic risks. The smart contract will calculate current and expected APYs in an effort to provide competitive returns to OUSD holders. Over time, the Vault contract will be upgraded to intelligently and autonomously shift between strategies without any manual intervention. For example, the Vault will automatically shift capital between various lending strategies to optimize for yields. + +However, it is still expected that certain risk parameters or decisions on whether certain strategies will be included in the automated decision-making engine will be made through governance votes. + diff --git a/ar/core-concepts/fund-management/earning-strategies.md b/ar/core-concepts/fund-management/earning-strategies.md new file mode 100644 index 000000000..0fb0111e4 --- /dev/null +++ b/ar/core-concepts/fund-management/earning-strategies.md @@ -0,0 +1,6 @@ +# Earning Strategies + +Earning strategies put deployed capital to work across various DeFi platforms. The Vault will determine which strategies are active and what percentage of deployed capital they will receive. + +In addition, strategies will be upgraded over time. For example, at launch, there will be an initial [Compound strategy](../supported-strategies/compound.md). Over time, this may be replaced by a v2 or v3 Compound strategy. + diff --git a/ar/core-concepts/price-oracles.md b/ar/core-concepts/price-oracles.md new file mode 100644 index 000000000..1b08c685f --- /dev/null +++ b/ar/core-concepts/price-oracles.md @@ -0,0 +1,38 @@ +- - - +description: OUSD uses Chainlink to secure the protocol from pricing attacks +- - - + +# Price Oracles + +### Stablecoin Pricing + +OUSD is designed to stay pegged at 1 USD and be 1:1 backed with its underlying stablecoins. This is trickier than it sounds because these underlying stablecoins are constantly deviating from their own desired 1 USD pegs. While the majority of daily fluctuations are minor, there have been major swings in price that have occurred in the past and are likely to occur again in the future. + +| Coin | **Low** | **High** | **Delta** | **Source** | +| ---- | ---------------------------------------------------- | ---------------------------------------------------- | --------- | --------------------------------------------------------------------------- | +| USDC |

$0.929222

Mar 13, 2020

|

$1.11

Oct 15, 2018

| $0.180778 | [CoinMarketCap](https://coinmarketcap.com/currencies/usd-coin/) | +| USDC |

$0.924188

Aug 02, 2020

|

$1.17

May 08, 2019

| $0.245812 | [CoinGecko](https://www.coingecko.com/en/coins/usd-coin) | +| DAI |

$0.945505

May 10, 2020

|

$1.11

Mar 13, 2020

| $0.164495 | [CoinMarketCap](https://coinmarketcap.com/currencies/multi-collateral-dai/) | +| DAI |

$0.903243

Nov 25, 2019

|

$1.22

Mar 13, 2020

| $0.316757 | [CoinGecko](https://www.coingecko.com/en/coins/dai) | +| USDT |

$0.849809

Feb 02, 2017

|

$1.21

May 27, 2017

| $0.360191 | [CoinGecko](https://www.coingecko.com/en/coins/tether) | +| USDT |

$0.572521

Mar 02, 2015

|

$1.32

Jul 24, 2018

| $0.747479 | [CoinMarketCap](https://coinmarketcap.com/currencies/tether/) | + +The rebasing function treats 1 stablecoin as 1 OUSD for simplicity and to protect OUSD balances from being affected by the daily fluctuations in the price of the underlying stablecoins. Since the rebase function only counts coins, OUSD balances should only increase. + +In order to mint and redeem the appropriate number of OUSD on entry and exit, the smart contracts need to accurately price the USDT, USDC, and DAI that is entering and exiting the system. + +As an added precaution, OUSD never pays more than a dollar for a stablecoin, nor sells a stablecoin for less than a dollar. Oracles giving wrong prices will not result in a reduction of the number of stablecoins held. Gains that are collected as a result of stablecoins slipping from their peg are redistributed to the remaining holders of OUSD in the form of additional yield. + +As a decentralized protocol, OUSD must rely on non-centralized sources for these prices. OUSD uses Chainlink oracles for pricing data for DAI, USDC and USDT. You can read more about [our decision to work with Chainlink](https://blog.originprotocol.com/how-origin-uses-chainlink-oracles-to-secure-ousd-bff5601e840e) on our blog. Here are the Chainlink oracles we are currently using for stablecoin pricing: + +{% embed url="https://data.chain.link/usdt-usd" %} + +{% embed url="https://data.chain.link/usdc-usd" %} + +{% embed url="https://data.chain.link/dai-usd" %} + +### Reward Token Oracles & Front Running Protection + +When reward tokens from OUSD strategies are sold for additional yield, Chainlink oracles are checked to ensure that the sale price slippage has not exceeded normal bounds. These oracles are listed on our [registry](../smart-contracts/registry.md) page under the "Oracles" tab. + +The same is also true for OGN buybacks from OUSD yield.\ \ When minting and redeeming OUSD, a miniumun required amount can be passed into the contract call to ensure that the entire transaction fails if not enough OUSD or stablecoins would be returned to the user due to changing prices. diff --git a/ar/core-concepts/price-oracles/README.md b/ar/core-concepts/price-oracles/README.md new file mode 100644 index 000000000..58ed68ed4 --- /dev/null +++ b/ar/core-concepts/price-oracles/README.md @@ -0,0 +1,126 @@ +# Price Oracles + +OUSD is designed to stay pegged at 1 USD and be 1:1 backed with its underlying stablecoins. This is trickier than it sounds because these underlying stablecoins are constantly deviating from their own desired 1 USD pegs. While the majority of daily fluctuations are minor, there have been major swings in price that have occurred in the past and are likely to occur again in the future. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CoinLow + High + Delta + Source +
USDC +

$0.929222

+

Mar 13, 2020

+
+

$1.11

+

Oct 15, 2018

+
$0.180778CoinMarketCap +
USDC +

$0.924188

+

Aug 02, 2020

+
+

$1.17

+

May 08, 2019

+
$0.245812CoinGecko +
DAI +

$0.945505

+

May 10, 2020

+
+

$1.11

+

Mar 13, 2020

+
$0.164495CoinMarketCap +
DAI +

$0.903243

+

Nov 25, 2019

+
+

$1.22

+

Mar 13, 2020

+
$0.316757CoinGecko +
USDT +

$0.849809

+

Feb 02, 2017

+
+

$1.21

+

May 27, 2017

+
$0.360191CoinGecko +
USDT +

$0.572521

+

Mar 02, 2015

+
+

$1.32

+

Jul 24, 2018

+
$0.747479CoinMarketCap +
+ +The rebasing function treats 1 stablecoin as 1 OUSD for simplicity and to protect OUSD balances from being affected by the daily fluctuations in the price of the underlying stablecoins. Since the rebase function only counts coins, OUSD balances should only increase. + +In order to mint and redeem the appropriate number of OUSD on entry and exit, the smart contracts need to accurately price the USDT, USDC, and DAI that is entering and exiting the system. As a decentralized protocol, OUSD must rely on non-centralized sources for these prices. + +{% hint style="info" %} +OUSD fetches the price from multiple on-chain oracles and uses the exchange rate that is most advantageous for the vault when minting or redeeming. +{% endhint %} + +In order to prevent malicious attacks and to encourage long-term investors over short-term speculators, the OUSD contract compares price feeds from multiple sources and will use whichever exchange rate benefits the entire vault over the individual. This mechanism protects the vault funds from arbitrageurs and prevents any individual from being able to take advantage of any temporary inefficiencies caused by mispriced oracles to deplete the shared pool of assets. + +This protects the funds in the vault while rewarding long-term holders. Since the safest price depends on the direction of the trade, the Origin oracle exposes both a `priceUSDMint()` and a `priceUSDRedeem()`. + +OUSD uses Chainlink as oracle for DAI, USDC and USDT. + +{% embed url="https://feeds.chain.link/eth-usd" caption="" %} + +The specific smart contract address for each oracle being used are listed on our [registry](../../smart-contracts/registry.md) page. + +It is possible that additional oracles will be added to the protocol over time. Support may also be removed if any of these oracles become unreliable. + diff --git a/ar/core-concepts/price-oracles/untitled.md b/ar/core-concepts/price-oracles/untitled.md new file mode 100644 index 000000000..7a413944b --- /dev/null +++ b/ar/core-concepts/price-oracles/untitled.md @@ -0,0 +1,25 @@ +# Untitled + +## Getting Super Powers + +Becoming a super hero is a fairly straight forward process: + +``` +$ give me super-powers +``` + +{% hint style="info" %} + Super-powers are granted randomly so please submit an issue if you're not happy with yours. +{% endhint %} + +Once you're strong enough, save the world: + +{% code title="hello.sh" %} +```bash +# Ain't no code for that yet, sorry +echo 'You got to trust me on this, I saved the world' +``` +{% endcode %} + + + diff --git a/ar/core-concepts/supported-assets/README.md b/ar/core-concepts/supported-assets/README.md new file mode 100644 index 000000000..56390ccf6 --- /dev/null +++ b/ar/core-concepts/supported-assets/README.md @@ -0,0 +1,20 @@ +# Supported Stablecoins + +**Supported Stablecoins** + +It is important to understand that OUSD is only as strong as the stablecoins that are backing it. Any loss to the underlying assets will cause a similar loss to the value of OUSD. + +Currently, OUSD supports the following stablecoins: + +{% page-ref page="usdt.md" %} + +{% page-ref page="usdc.md" %} + +{% page-ref page="dai.md" %} + +None of these stablecoins are perfect, but we selected them because of their widespread usage. While these stablecoins have lost their USD peg on multiple occasions, they have demonstrated resiliency in eventually getting back to their 1 USD targets. + +It is important to note that all these stablecoins introduce non-trivial counter-party risk. Tether, in particular, has had well-documented banking troubles and regulatory challenges. In addition, both USDT and USDC have backdoors that grant their issuers the power to freeze money in their holder's wallets. While DAI does not have any direct backdoors, it's assets can also be negatively impacted since USDC is accepted as collateral for minting DAI. + +Despite these concerns, there are already billions of dollars betting on the security of these stablecoins. It is possible that additional stablecoins will be added to the protocol over time. Support may also be removed if any of these stablecoins prove to be too unreliable or put OUSD holders funds in jeopardy. + diff --git a/ar/core-concepts/supported-assets/dai.md b/ar/core-concepts/supported-assets/dai.md new file mode 100644 index 000000000..4be5c3788 --- /dev/null +++ b/ar/core-concepts/supported-assets/dai.md @@ -0,0 +1,20 @@ +# DAI + +![](../../.gitbook/assets/dai.png) + +Dai is a fiat-pegged stablecoin launched as a ERC-20 token on the Ethereum blockchain in December 2017. A major upgrade from single-collateral Dai \(SAI\) to multi-collateral Dai \(DAI\) was completed in November 2019. Dai is pegged to the US dollar. + +Dai is minted by users locking up crypto assets such as ETH or USDC as collateral in a collateralized debt position \(CDP\) called a vault. Previously, only ETH was accepted as collateral. The reserves and status of each vault can be viewed on the blockchain in real-time. The health of these vaults and the Dai stablecoin are closely monitored. + +Dai is the world's third-largest stablecoin with over $400 million in circulation. In addition, cDAI and aDAI, synthetic versions of Dai on the lending platforms Compound and Aave, combine for over $600 million in circulation. + +| Key Facts | | +|:------------- |:------------------------------------------------------------------------------------------------------------------- | +| Issued by | MakerDAO | +| Name | Dai | +| Symbol | DAI | +| Address | [0x6b175474e89094c44da98b954eedeac495271d0f](https://etherscan.io/token/0x6b175474e89094c44da98b954eedeac495271d0f) | +| Decimals | 18 | +| Official site | [https://makerdao.com/](https://makerdao.com/) | +| Holders | Over 140k addresses | + diff --git a/ar/core-concepts/supported-assets/usdc.md b/ar/core-concepts/supported-assets/usdc.md new file mode 100644 index 000000000..2647d7c83 --- /dev/null +++ b/ar/core-concepts/supported-assets/usdc.md @@ -0,0 +1,22 @@ +# USDC + +![](../../.gitbook/assets/usdc-coin-bd351fb779%20%281%29.png) + +USD Coin \(USDC\) is a fiat-pegged stablecoin launched as a ERC-20 token on the Ethereum blockchain in October 2018. USDC is pegged to the US dollar and can easily be redeemed for US dollars. + +Each USDC is backed by a 1:1 ratio with the equivalent amount of fiat currency held in custodial accounts by members of Centre, a consortium founded by Circle and Coinbase. Members of Centre are regulated financial institutions based in the US. Monthly audits of reserves are published by Grant Thornton LLP. + +USDC is the world's second-largest stablecoin after USDT and has quickly grown to over $1 billion in circulation. However, USDC remains far behind USDT's $12+ billion in circulation. + +| Key Facts | | +|:------------- |:------------------------------------------------------------------------------------------------------------------- | +| Issued by | Centre | +| Name | USD Coin | +| Symbol | USDC | +| Address | [0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48](https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48) | +| Decimals | 6 | +| Official site | [https://www.centre.io/usdc](https://www.centre.io/usdc) | +| Holders | Over 200k addresses | + + + diff --git a/ar/core-concepts/supported-assets/usdt.md b/ar/core-concepts/supported-assets/usdt.md new file mode 100644 index 000000000..4ae2afe89 --- /dev/null +++ b/ar/core-concepts/supported-assets/usdt.md @@ -0,0 +1,22 @@ +# USDT + +![](../../.gitbook/assets/image%20%281%29.png) + +Tether \(USDT\) is a fiat-pegged stablecoin that was initially built on top of Bitcoin via the Omni Layer Protocol. In September 2017, Tether announced they would be launching additional ERC-20 tokens for United States dollars on the Ethereum blockchain. + +Each Tether issued into circulation is said to be backed by a one-to-one ratio with the equivalent amount of fiat currency held in a custodial account by Tether Limited, a Hong Kong-based company with close ties to the cryptocurrency exchange, Bitfinex. + +Despite the controversy ****around ****the company's failure to provide a promised audit showing adequate reserves backing tether, USDT is still the world's largest stablecoin by market cap and currently the fourth-largest cryptocurrency after BTC, ETH and XRP. + +| Key Facts | | +|:------------- |:---------------------------------------------------------------------------------------------------------------- | +| Issued by | Tether Limited | +| Name | Tether | +| Symbol | USDT | +| Address | [0xdac17f958d2ee523a2206206994597c13d831](https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7) | +| Decimals | 6 | +| Official site | [https://tether.to/ ](https://tether.to/%20) | +| Holders | Over 1.8M addresses | + + + diff --git a/ar/core-concepts/supported-defi-platforms/README.md b/ar/core-concepts/supported-defi-platforms/README.md new file mode 100644 index 000000000..50ee37b6c --- /dev/null +++ b/ar/core-concepts/supported-defi-platforms/README.md @@ -0,0 +1,30 @@ +# Supported DeFi Platforms + +**Supported Platforms** + +OUSD generates yield by depositing stablecoins into lending platforms and market maker liquidity pools. It is important to understand that these platforms do carry technological risk and funds can be lost if there is a major security event. We are choosing to work with the platforms that have had their smart contracts audited and that we feel are most secure. + +Currently, we plan to earn yields from the following platforms: + +{% page-ref page="compound.md" %} + +Integrations are currently planned for the following platforms: + +{% page-ref page="aave.md" %} + +{% page-ref page="dydx.md" %} + +{% page-ref page="uniswap.md" %} + +{% page-ref page="curve.md" %} + +{% page-ref page="balancer.md" %} + +{% page-ref page="yearn.finance.md" %} + +Although DeFi has grown very quickly and there are now billions of dollars worth of value deposited on these platforms, several of these projects are still in beta and are highly experimental. There may be hidden vulnerabilities in the smart contracts that power these platforms, and there have been multi-million dollar losses caused by vulnerabilities in Ethereum applications in the past. + +We closely monitor security events on the platforms we support and will immediately move to secure OUSD holder funds if we identify any threats. + + + diff --git a/ar/core-concepts/supported-defi-platforms/aave.md b/ar/core-concepts/supported-defi-platforms/aave.md new file mode 100644 index 000000000..df02edab3 --- /dev/null +++ b/ar/core-concepts/supported-defi-platforms/aave.md @@ -0,0 +1,25 @@ +# Aave + +{% hint style="info" %} +Coming soon. Aave has not yet been integrated. +{% endhint %} + +Aave is a lending protocol and platform built on Ethereum and launched in January 2020 by the creators of ETHLend. Users on Aave can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and users can choose between a variable interest rate based on supply and demand or a fixed interest rate. + +Collateral balances are represented by ERC-20 aTokens at a 1:1 ratio to the underlying assets they represent. Interest is compounded automatically and paid to lenders with aTokens, meaning lenders will steadily see their aToken balance increase over time. Users can borrow assets against their aTokens. aTokens are freely transferable and can be used on many other DeFi protocols. aTokens can be redeemed for their underlying collateral at any time. + +Aave supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +Aave is currently governed by LEND, an ERC-20 token that was formerly the utility token for ETHLend. Aave has announced a transition to fully decentralized governance that includes a token swap where users exchange LEND for AAVE, a new ERC-20 governance token with staking rewards. Some AAVE will be distributed to users of the platform in a liquidity mining campaign. + +Aave's total value locked \(TVL\) has quickly grown to over $1.2 billion, making it one of the largest DeFi protocols. LEND has a circulating market cap of over $700 million. + +Aave has undergone security audits by OpenZeppelin, Trail of Bits, and Consensys Diligence. Aave maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------------ | +| Official site | [https://aave.com/](https://aave.com/) | +| Developer docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/aave/aave-protocol](https://github.com/aave/aave-protocol) | +| Discord | [https://discordapp.com/invite/AnSqnvV](https://discordapp.com/invite/AnSqnvV) | + diff --git a/ar/core-concepts/supported-defi-platforms/balancer.md b/ar/core-concepts/supported-defi-platforms/balancer.md new file mode 100644 index 000000000..f8d9e3c0a --- /dev/null +++ b/ar/core-concepts/supported-defi-platforms/balancer.md @@ -0,0 +1,27 @@ +# Balancer + +{% hint style="info" %} +Coming soon. Balancer has not yet been integrated. +{% endhint %} + +Balancer is a decentralized liquidity protocol and exchange on Ethereum, launched in March 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Balancer is an Automated Market Maker \(AMM\) that allows for liquidity pools of up to 8 different assets with custom weights. Liquidity pools on Balancer can be thought of as similar to Exchange Traded Funds \(ETFs\) or portfolios with weight targets for specific assets. If trading causes the pool to shift from its target weight distribution, exchange rates between assets in the pool change. Arbitrageurs can execute trades to take advantage of this and act to rebalance the pool back to its target weight distribution. Liquidity can also be shared across pools, unlike other AMMs. + +Balancer supports private pools, where only the owner of the pool can contribute liquidity, shared pools, which are completely public, and smart pools, which are shared pools controlled by a smart contract that can implement automated rules and logic. Liquidity providers are given Balancer Pool Tokens \(BPTs\) that represent their share of a given pool and fees. These tokens are freely transferable and can be redeemed for the assets provided and accrued fees. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Balancer pools. + +Balancer is governed by BAL, an ERC-20 governance token. BAL holders can vote on protocol changes. BAL is continuously awarded to liquidity providers and a large portion of the total supply of BAL was allocated to the team and investors on a continuous vesting schedule. + +Trading volumes on Balancer are often over $25 million daily. Balancer has a Total Value Locked \(TVL\) of over $250 million by liquidity providers at the time of writing. + +Balancer has undergone a security audit by Trail of Bits and has a bug bounty program. However, Balancer has suffered a major exploit in June 2020. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://balancer.finance/](https://balancer.finance/) | +| Developer docs | [https://docs.balancer.finance/](https://docs.balancer.finance/) | +| GitHub | [https://github.com/balancer-labs](https://github.com/balancer-labs) | +| Discord | [https://discord.gg/ARJWaeF](https://discord.gg/ARJWaeF) | + diff --git a/ar/core-concepts/supported-defi-platforms/compound.md b/ar/core-concepts/supported-defi-platforms/compound.md new file mode 100644 index 000000000..a4d2660a1 --- /dev/null +++ b/ar/core-concepts/supported-defi-platforms/compound.md @@ -0,0 +1,19 @@ +# Compound + +Compound is a lending protocol and platform built on Ethereum and launched in September 2018. Users can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and interest rates are adjusted automatically based on supply and demand. + +Collateral balances are represented by ERC-20 cTokens, which automatically accrue interest and increase in value over time relative to the underlying asset they represent. Users can borrow assets against the value of their cTokens. cTokens are freely transferable and can be used on many other DeFi protocols. cTokens can be redeemed for their underlying collateral at any time. + +Compound is governed by COMP, an ERC-20 governance token. COMP holders can propose and vote on protocol changes or delegate their votes to someone else. COMP tokens are awarded pro rata to users of the protocol daily, split equally between borrowers and lenders. A large portion of the COMP token supply was retained by the Compound team, investors, and advisors. + +Compound's total value locked \(TVL\) has quickly grown to nearly $800 million, making it one of the largest DeFi protocols. COMP has a circulating market cap of over $500 million. + +Compound has undergone multiple security audits by OpenZeppelin and Trail of Bits. The Compound protocol was formally verified by CertiK and has undergone economic stress testing by Gauntlet. Compound maintains a bug bounty program. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------------------------------------------------- | +| Official site | [https://compound.finance/](https://compound.finance/) | +| Developer docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/compound-finance/compound-protocol](https://github.com/compound-finance/compound-protocol) | +| Discord | [https://discord.com/invite/cU7vmVW](https://discord.com/invite/cU7vmVW) | + diff --git a/ar/core-concepts/supported-defi-platforms/curve.md b/ar/core-concepts/supported-defi-platforms/curve.md new file mode 100644 index 000000000..021d0041b --- /dev/null +++ b/ar/core-concepts/supported-defi-platforms/curve.md @@ -0,0 +1,25 @@ +# Curve + +{% hint style="info" %} +Coming soon. Curve has not yet been integrated. +{% endhint %} + +Curve is a decentralized liquidity protocol and exchange on Ethereum for stablecoins and wrapped BTC, launched in January 2020. Users can swap between popular ERC-20 stablecoins or between ERC-20 representations of bitcoin. Liquidity providers facilitate trading and earn fees. + +Curve is an Automated Market Maker \(AMM\) where each market has an associated liquidity pool with two or more assets that should have the same value, like USDT, USDC, DAI and TUSD, which are all US dollar pegged stablecoins. The exchange rate between each stablecoin and their relative weights are determined by an algorithm based on supply and demand. Arbitrageurs act to normalize these exchange rates. + +Some of Curve's liquidity pools earn extra fees for liquidity providers on top of the exchange fees from traders. Curve offers stablecoin pools integrated with Compound, yearn.finance, and Synthetix. The assets in each liquidity pool are provided to those platforms to generate additional yield which is passed on to each pool's liquidity providers. Liquidity Provider \(LP\) tokens are given to pool participants and can be redeemed for their initial liquidity supplied plus accrued fees and yield. LP tokens can also transferred for use in other protocols. + +Curve is governed by CRV, an ERC-20 governance token. CRV holders can vote on protocol changes. CRV holders can stake their tokens for additional voting power proportional to time staked. CRV is continuously awarded to liquidity providers and a large portion of the total supply of CRV was allocated to the team and investors on a continuous vesting schedule. + +Trading volumes on Curve are often over $50 million daily. Curve has a Total Value Locked \(TVL\) of over $1 billion by liquidity providers at the time of writing. + +Curve has undergone two audits by Trail of Bits and maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------ | +| Official site | [https://uniswap.org/](https://uniswap.org/) | +| Developer docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/ar/core-concepts/supported-defi-platforms/dydx.md b/ar/core-concepts/supported-defi-platforms/dydx.md new file mode 100644 index 000000000..24f1a895e --- /dev/null +++ b/ar/core-concepts/supported-defi-platforms/dydx.md @@ -0,0 +1,27 @@ +# dYdX + +{% hint style="info" %} +Coming soon. DyDx has not yet been integrated. +{% endhint %} + +dYdX is a trading and lending protocol and platform built on Ethereum and launched in May 2019. Users can trade assets on dYdX's non-custodial, decentralized exchange or participate in borrowing and lending. The lending protocol enables margin and futures trading. Interest rates are adjusted based on supply and demand and only short term loans are offered. + +Liquidity for assets available for borrowing and lending are pooled together by asset type. Interest paid to lenders is accrued automatically and borrowers must put up collateral to take out a loan. + +dYdX also supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +dYdX has around $40 million in total value locked \(TVL\) at the time of this writing. dYdX does not have a native token. + +dYdX has undergone security audits by OpenZeppelin and Bramah Systems. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://dydx.exchange/](https://dydx.exchange/) | +| Developer docs | [https://docs.dydx.exchange/](https://docs.dydx.exchange/) | +| GitHub | [https://github.com/dydxprotocol/](https://github.com/dydxprotocol/) | +| Discord | [https://discord.gg/yah42Rb](https://discord.gg/yah42Rb) | + + + + + diff --git a/ar/core-concepts/supported-defi-platforms/uniswap.md b/ar/core-concepts/supported-defi-platforms/uniswap.md new file mode 100644 index 000000000..012e25e93 --- /dev/null +++ b/ar/core-concepts/supported-defi-platforms/uniswap.md @@ -0,0 +1,27 @@ +# Uniswap + +{% hint style="info" %} +Coming soon. Uniswap has not yet been integrated. +{% endhint %} + +Uniswap is a decentralized liquidity protocol and exchange on Ethereum, launched in November 2018. Uniswap v2 launched in May 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Markets on Uniswap operate as liquidity pools rather than order books. This type of exchange is called an Automated Market Maker \(AMM\). The exchange rate between the two assets is determined by a constant product formula and moves along a price curve depending on the relative weight of each asset in the pool. This encourages arbitrageurs to enter liquidity pools to rebalance the relative weights and normalize the exchange rate. + +Traders can suffer from slippage if there is not enough liquidity in a given pool and may not be protected from unfavorable exchange rates. Liquidity providers may suffer impermanent loss when the pool exchange rate does not match market realities and arbitrageurs execute trades along the pricing curve. + +Pool participants are given Uniswap Liquidity Provider \(LP\) tokens that correspond to their share of liquidity provided in a given pool. These LP tokens are freely transferable. Participants can exit pools at any time by redeeming these tokens for the assets provided and fees accrued. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Uniswap pools. + +Trading volumes on Uniswap now eclipse that of many traditional exchanges and regularly surpass $200 million daily. Uniswap has over $170 million in Total Value Locked \(TVL\) by liquidity providers. Uniswap does not have a native platform or governance token. + +Uniswap has had its smart contracts audited and formally verfied by dapp.org. Uniswap maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------ | +| Official site | [https://uniswap.org/](https://uniswap.org/) | +| Developer docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/ar/core-concepts/supported-defi-platforms/yearn.finance.md b/ar/core-concepts/supported-defi-platforms/yearn.finance.md new file mode 100644 index 000000000..3f23b9fdb --- /dev/null +++ b/ar/core-concepts/supported-defi-platforms/yearn.finance.md @@ -0,0 +1,25 @@ +# Yearn.finance + +{% hint style="info" %} +Coming soon. Yearn.finance has not yet been integrated. +{% endhint %} + +Yearn.finance, formerly iEarn.finance, is a yield aggregation platform built on Ethereum and launched in January 2020 by Andre Cronje. Yearn manages yield farming and rebalancing strategies using a combination of automation and human decision making on behalf of users who have deposited capital. + +Yearn has two yield aggregation products, Earn and Vaults. Earn allows users to deposit stablecoins or wrapped BTC into liquidity pools on Curve to earn fees and governance token rewards. These assets are also lent out on platforms offering high yield and token rewards, adding to the yield earned. + +Vaults offer a more automated and managed experience. Users deposit assets such as LINK, Curve liquidity provider tokens, or stablecoins and the Vault pools these assets together and deploys the highest earning yield farming strategy as deemed safe by the community and Andre Cronje. Governance tokens earned as rewards are sold off for the original asset deposited and combined with other fees and automatically rolled into the Vault to compound yield. Strategies can be changed frequently and pooling assets together saves gas costs for users. + +Yearn is governed by YFI, an ERC-20 governance token. YFI holders can vote on protocol changes after agreeing to lock up their YFI for 3 days. YFI can also be staked for yield in the governance portal. This yield comes from fees charged to users on Yearn products. YFI was distributed entirely to liquidity providers on Curve and Balancer. There was no allocation for team members or investors. + +Yearn's total value locked \(TVL\) has quickly grown to over $800 million, making it one of the largest DeFi platforms. YFI has a circulating market cap of over $400 million. + +Yearn has undergone multiple security and smart contract audits by CertiK, Quantstamp, HackMD, and CryptoManiacs. Yearn has a reputation for launching experimental products very quickly and warns users that their products are in beta. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://yearn.finance/](https://yearn.finance/) | +| Developer docs | [https://docs.yearn.finance/](https://docs.yearn.finance/) | +| GitHub | [https://github.com/iearn-finance](https://github.com/iearn-finance) | +| Discord | [https://discord.gg/uTmHe8r](https://discord.gg/uTmHe8r) | + diff --git a/ar/core-concepts/supported-platforms/README.md b/ar/core-concepts/supported-platforms/README.md new file mode 100644 index 000000000..aa4b89181 --- /dev/null +++ b/ar/core-concepts/supported-platforms/README.md @@ -0,0 +1,32 @@ +# Supported Platforms + +**Supported Platforms** + +OUSD generates yield by depositing stablecoins into lending platforms and market maker liquidity pools. It is important to understand that these platforms do carry technological risk and funds can be lost if there is a major security event. We are choosing to work with the platforms that have had their smart contracts audited and that we feel are most secure. + +Currently, we plan to earn yields from the following platforms: + +{% page-ref page="compound.md" %} + +Integrations are currently planned for the following platforms: + +{% page-ref page="yearn.finance.md" %} + +{% page-ref page="compound.md" %} + +{% page-ref page="aave.md" %} + +{% page-ref page="dydx.md" %} + +{% page-ref page="uniswap.md" %} + +{% page-ref page="curve.md" %} + +{% page-ref page="balancer.md" %} + +Although DeFi has grown very quickly and there are now billions of dollars worth of value deposited on these platforms, several of these projects are still in beta and are highly experimental. There may be hidden vulnerabilities in the smart contracts that power these platforms, and there have been multi-million dollar losses caused by vulnerabilities in Ethereum applications in the past. + +We closely monitor security events on the platforms we support and will immediately move to secure OUSD holder funds if we identify any threats. + + + diff --git a/ar/core-concepts/supported-platforms/aave.md b/ar/core-concepts/supported-platforms/aave.md new file mode 100644 index 000000000..df02edab3 --- /dev/null +++ b/ar/core-concepts/supported-platforms/aave.md @@ -0,0 +1,25 @@ +# Aave + +{% hint style="info" %} +Coming soon. Aave has not yet been integrated. +{% endhint %} + +Aave is a lending protocol and platform built on Ethereum and launched in January 2020 by the creators of ETHLend. Users on Aave can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and users can choose between a variable interest rate based on supply and demand or a fixed interest rate. + +Collateral balances are represented by ERC-20 aTokens at a 1:1 ratio to the underlying assets they represent. Interest is compounded automatically and paid to lenders with aTokens, meaning lenders will steadily see their aToken balance increase over time. Users can borrow assets against their aTokens. aTokens are freely transferable and can be used on many other DeFi protocols. aTokens can be redeemed for their underlying collateral at any time. + +Aave supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +Aave is currently governed by LEND, an ERC-20 token that was formerly the utility token for ETHLend. Aave has announced a transition to fully decentralized governance that includes a token swap where users exchange LEND for AAVE, a new ERC-20 governance token with staking rewards. Some AAVE will be distributed to users of the platform in a liquidity mining campaign. + +Aave's total value locked \(TVL\) has quickly grown to over $1.2 billion, making it one of the largest DeFi protocols. LEND has a circulating market cap of over $700 million. + +Aave has undergone security audits by OpenZeppelin, Trail of Bits, and Consensys Diligence. Aave maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------------ | +| Official site | [https://aave.com/](https://aave.com/) | +| Developer docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/aave/aave-protocol](https://github.com/aave/aave-protocol) | +| Discord | [https://discordapp.com/invite/AnSqnvV](https://discordapp.com/invite/AnSqnvV) | + diff --git a/ar/core-concepts/supported-platforms/balancer.md b/ar/core-concepts/supported-platforms/balancer.md new file mode 100644 index 000000000..f8d9e3c0a --- /dev/null +++ b/ar/core-concepts/supported-platforms/balancer.md @@ -0,0 +1,27 @@ +# Balancer + +{% hint style="info" %} +Coming soon. Balancer has not yet been integrated. +{% endhint %} + +Balancer is a decentralized liquidity protocol and exchange on Ethereum, launched in March 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Balancer is an Automated Market Maker \(AMM\) that allows for liquidity pools of up to 8 different assets with custom weights. Liquidity pools on Balancer can be thought of as similar to Exchange Traded Funds \(ETFs\) or portfolios with weight targets for specific assets. If trading causes the pool to shift from its target weight distribution, exchange rates between assets in the pool change. Arbitrageurs can execute trades to take advantage of this and act to rebalance the pool back to its target weight distribution. Liquidity can also be shared across pools, unlike other AMMs. + +Balancer supports private pools, where only the owner of the pool can contribute liquidity, shared pools, which are completely public, and smart pools, which are shared pools controlled by a smart contract that can implement automated rules and logic. Liquidity providers are given Balancer Pool Tokens \(BPTs\) that represent their share of a given pool and fees. These tokens are freely transferable and can be redeemed for the assets provided and accrued fees. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Balancer pools. + +Balancer is governed by BAL, an ERC-20 governance token. BAL holders can vote on protocol changes. BAL is continuously awarded to liquidity providers and a large portion of the total supply of BAL was allocated to the team and investors on a continuous vesting schedule. + +Trading volumes on Balancer are often over $25 million daily. Balancer has a Total Value Locked \(TVL\) of over $250 million by liquidity providers at the time of writing. + +Balancer has undergone a security audit by Trail of Bits and has a bug bounty program. However, Balancer has suffered a major exploit in June 2020. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://balancer.finance/](https://balancer.finance/) | +| Developer docs | [https://docs.balancer.finance/](https://docs.balancer.finance/) | +| GitHub | [https://github.com/balancer-labs](https://github.com/balancer-labs) | +| Discord | [https://discord.gg/ARJWaeF](https://discord.gg/ARJWaeF) | + diff --git a/ar/core-concepts/supported-platforms/compound.md b/ar/core-concepts/supported-platforms/compound.md new file mode 100644 index 000000000..a4d2660a1 --- /dev/null +++ b/ar/core-concepts/supported-platforms/compound.md @@ -0,0 +1,19 @@ +# Compound + +Compound is a lending protocol and platform built on Ethereum and launched in September 2018. Users can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and interest rates are adjusted automatically based on supply and demand. + +Collateral balances are represented by ERC-20 cTokens, which automatically accrue interest and increase in value over time relative to the underlying asset they represent. Users can borrow assets against the value of their cTokens. cTokens are freely transferable and can be used on many other DeFi protocols. cTokens can be redeemed for their underlying collateral at any time. + +Compound is governed by COMP, an ERC-20 governance token. COMP holders can propose and vote on protocol changes or delegate their votes to someone else. COMP tokens are awarded pro rata to users of the protocol daily, split equally between borrowers and lenders. A large portion of the COMP token supply was retained by the Compound team, investors, and advisors. + +Compound's total value locked \(TVL\) has quickly grown to nearly $800 million, making it one of the largest DeFi protocols. COMP has a circulating market cap of over $500 million. + +Compound has undergone multiple security audits by OpenZeppelin and Trail of Bits. The Compound protocol was formally verified by CertiK and has undergone economic stress testing by Gauntlet. Compound maintains a bug bounty program. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------------------------------------------------- | +| Official site | [https://compound.finance/](https://compound.finance/) | +| Developer docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/compound-finance/compound-protocol](https://github.com/compound-finance/compound-protocol) | +| Discord | [https://discord.com/invite/cU7vmVW](https://discord.com/invite/cU7vmVW) | + diff --git a/ar/core-concepts/supported-platforms/curve.md b/ar/core-concepts/supported-platforms/curve.md new file mode 100644 index 000000000..021d0041b --- /dev/null +++ b/ar/core-concepts/supported-platforms/curve.md @@ -0,0 +1,25 @@ +# Curve + +{% hint style="info" %} +Coming soon. Curve has not yet been integrated. +{% endhint %} + +Curve is a decentralized liquidity protocol and exchange on Ethereum for stablecoins and wrapped BTC, launched in January 2020. Users can swap between popular ERC-20 stablecoins or between ERC-20 representations of bitcoin. Liquidity providers facilitate trading and earn fees. + +Curve is an Automated Market Maker \(AMM\) where each market has an associated liquidity pool with two or more assets that should have the same value, like USDT, USDC, DAI and TUSD, which are all US dollar pegged stablecoins. The exchange rate between each stablecoin and their relative weights are determined by an algorithm based on supply and demand. Arbitrageurs act to normalize these exchange rates. + +Some of Curve's liquidity pools earn extra fees for liquidity providers on top of the exchange fees from traders. Curve offers stablecoin pools integrated with Compound, yearn.finance, and Synthetix. The assets in each liquidity pool are provided to those platforms to generate additional yield which is passed on to each pool's liquidity providers. Liquidity Provider \(LP\) tokens are given to pool participants and can be redeemed for their initial liquidity supplied plus accrued fees and yield. LP tokens can also transferred for use in other protocols. + +Curve is governed by CRV, an ERC-20 governance token. CRV holders can vote on protocol changes. CRV holders can stake their tokens for additional voting power proportional to time staked. CRV is continuously awarded to liquidity providers and a large portion of the total supply of CRV was allocated to the team and investors on a continuous vesting schedule. + +Trading volumes on Curve are often over $50 million daily. Curve has a Total Value Locked \(TVL\) of over $1 billion by liquidity providers at the time of writing. + +Curve has undergone two audits by Trail of Bits and maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------ | +| Official site | [https://uniswap.org/](https://uniswap.org/) | +| Developer docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/ar/core-concepts/supported-platforms/dydx.md b/ar/core-concepts/supported-platforms/dydx.md new file mode 100644 index 000000000..24f1a895e --- /dev/null +++ b/ar/core-concepts/supported-platforms/dydx.md @@ -0,0 +1,27 @@ +# dYdX + +{% hint style="info" %} +Coming soon. DyDx has not yet been integrated. +{% endhint %} + +dYdX is a trading and lending protocol and platform built on Ethereum and launched in May 2019. Users can trade assets on dYdX's non-custodial, decentralized exchange or participate in borrowing and lending. The lending protocol enables margin and futures trading. Interest rates are adjusted based on supply and demand and only short term loans are offered. + +Liquidity for assets available for borrowing and lending are pooled together by asset type. Interest paid to lenders is accrued automatically and borrowers must put up collateral to take out a loan. + +dYdX also supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +dYdX has around $40 million in total value locked \(TVL\) at the time of this writing. dYdX does not have a native token. + +dYdX has undergone security audits by OpenZeppelin and Bramah Systems. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://dydx.exchange/](https://dydx.exchange/) | +| Developer docs | [https://docs.dydx.exchange/](https://docs.dydx.exchange/) | +| GitHub | [https://github.com/dydxprotocol/](https://github.com/dydxprotocol/) | +| Discord | [https://discord.gg/yah42Rb](https://discord.gg/yah42Rb) | + + + + + diff --git a/ar/core-concepts/supported-platforms/uniswap.md b/ar/core-concepts/supported-platforms/uniswap.md new file mode 100644 index 000000000..012e25e93 --- /dev/null +++ b/ar/core-concepts/supported-platforms/uniswap.md @@ -0,0 +1,27 @@ +# Uniswap + +{% hint style="info" %} +Coming soon. Uniswap has not yet been integrated. +{% endhint %} + +Uniswap is a decentralized liquidity protocol and exchange on Ethereum, launched in November 2018. Uniswap v2 launched in May 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Markets on Uniswap operate as liquidity pools rather than order books. This type of exchange is called an Automated Market Maker \(AMM\). The exchange rate between the two assets is determined by a constant product formula and moves along a price curve depending on the relative weight of each asset in the pool. This encourages arbitrageurs to enter liquidity pools to rebalance the relative weights and normalize the exchange rate. + +Traders can suffer from slippage if there is not enough liquidity in a given pool and may not be protected from unfavorable exchange rates. Liquidity providers may suffer impermanent loss when the pool exchange rate does not match market realities and arbitrageurs execute trades along the pricing curve. + +Pool participants are given Uniswap Liquidity Provider \(LP\) tokens that correspond to their share of liquidity provided in a given pool. These LP tokens are freely transferable. Participants can exit pools at any time by redeeming these tokens for the assets provided and fees accrued. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Uniswap pools. + +Trading volumes on Uniswap now eclipse that of many traditional exchanges and regularly surpass $200 million daily. Uniswap has over $170 million in Total Value Locked \(TVL\) by liquidity providers. Uniswap does not have a native platform or governance token. + +Uniswap has had its smart contracts audited and formally verfied by dapp.org. Uniswap maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------ | +| Official site | [https://uniswap.org/](https://uniswap.org/) | +| Developer docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/ar/core-concepts/supported-platforms/yearn.finance.md b/ar/core-concepts/supported-platforms/yearn.finance.md new file mode 100644 index 000000000..3f23b9fdb --- /dev/null +++ b/ar/core-concepts/supported-platforms/yearn.finance.md @@ -0,0 +1,25 @@ +# Yearn.finance + +{% hint style="info" %} +Coming soon. Yearn.finance has not yet been integrated. +{% endhint %} + +Yearn.finance, formerly iEarn.finance, is a yield aggregation platform built on Ethereum and launched in January 2020 by Andre Cronje. Yearn manages yield farming and rebalancing strategies using a combination of automation and human decision making on behalf of users who have deposited capital. + +Yearn has two yield aggregation products, Earn and Vaults. Earn allows users to deposit stablecoins or wrapped BTC into liquidity pools on Curve to earn fees and governance token rewards. These assets are also lent out on platforms offering high yield and token rewards, adding to the yield earned. + +Vaults offer a more automated and managed experience. Users deposit assets such as LINK, Curve liquidity provider tokens, or stablecoins and the Vault pools these assets together and deploys the highest earning yield farming strategy as deemed safe by the community and Andre Cronje. Governance tokens earned as rewards are sold off for the original asset deposited and combined with other fees and automatically rolled into the Vault to compound yield. Strategies can be changed frequently and pooling assets together saves gas costs for users. + +Yearn is governed by YFI, an ERC-20 governance token. YFI holders can vote on protocol changes after agreeing to lock up their YFI for 3 days. YFI can also be staked for yield in the governance portal. This yield comes from fees charged to users on Yearn products. YFI was distributed entirely to liquidity providers on Curve and Balancer. There was no allocation for team members or investors. + +Yearn's total value locked \(TVL\) has quickly grown to over $800 million, making it one of the largest DeFi platforms. YFI has a circulating market cap of over $400 million. + +Yearn has undergone multiple security and smart contract audits by CertiK, Quantstamp, HackMD, and CryptoManiacs. Yearn has a reputation for launching experimental products very quickly and warns users that their products are in beta. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://yearn.finance/](https://yearn.finance/) | +| Developer docs | [https://docs.yearn.finance/](https://docs.yearn.finance/) | +| GitHub | [https://github.com/iearn-finance](https://github.com/iearn-finance) | +| Discord | [https://discord.gg/uTmHe8r](https://discord.gg/uTmHe8r) | + diff --git a/ar/core-concepts/supported-stablecoins/README.md b/ar/core-concepts/supported-stablecoins/README.md new file mode 100644 index 000000000..1c4b60eb5 --- /dev/null +++ b/ar/core-concepts/supported-stablecoins/README.md @@ -0,0 +1,25 @@ +# Supported Stablecoins + +**Supported Stablecoins** + +It is important to understand that OUSD is only as strong as the stablecoins that are backing it. Any loss to the underlying assets will cause a similar loss to the value of OUSD. + +Currently, OUSD supports the following stablecoins: + +{% content-ref url="usdt.md" %} +[usdt.md](usdt.md) +{% endcontent-ref %} + +{% content-ref url="usdc.md" %} +[usdc.md](usdc.md) +{% endcontent-ref %} + +{% content-ref url="dai.md" %} +[dai.md](dai.md) +{% endcontent-ref %} + +None of these stablecoins are perfect, but we selected them because of their widespread usage. While these stablecoins have lost their USD peg on multiple occasions, they have demonstrated resiliency in eventually getting back to their 1 USD targets. + +It is important to note that all these stablecoins introduce non-trivial counter-party risk. Tether, in particular, has had well-documented banking troubles and regulatory challenges. In addition, both USDT and USDC have backdoors that grant their issuers the power to freeze money in their holder's wallets. While DAI does not have any direct backdoors, its assets can also be negatively impacted since USDC and USDT are accepted as collateral for minting DAI. + +Despite these concerns, there are already billions of dollars betting on the security of these stablecoins. It is possible that additional stablecoins will be added to the protocol over time. Support may also be removed if any of these stablecoins prove to be too unreliable or put OUSD holder's funds in jeopardy. diff --git a/ar/core-concepts/supported-stablecoins/dai.md b/ar/core-concepts/supported-stablecoins/dai.md new file mode 100644 index 000000000..b80269d11 --- /dev/null +++ b/ar/core-concepts/supported-stablecoins/dai.md @@ -0,0 +1,19 @@ +# DAI + +![](../../.gitbook/assets/dai.png) + +Dai is a fiat-pegged stablecoin launched as a ERC-20 token on the Ethereum blockchain in December 2017. A major upgrade from single-collateral Dai (SAI) to multi-collateral Dai (DAI) was completed in November 2019. Dai is pegged to the US dollar. + +Dai is minted by users locking up crypto assets such as ETH or USDC as collateral in a collateralized debt position (CDP) called a vault. Previously, only ETH was accepted as collateral. The reserves and status of each vault can be viewed on the blockchain in real-time. The health of these vaults and the Dai stablecoin are closely monitored. + +Dai is the world's third-largest stablecoin with over $400 million in circulation. In addition, cDAI and aDAI, synthetic versions of Dai on the lending platforms Compound and Aave, combine for over $600 million in circulation. + +| Key Facts | | +| ------------- | ------------------------------------------------------------------------------------------------------------------- | +| Issued by | MakerDAO | +| Name | Dai | +| Symbol | DAI | +| Address | [0x6b175474e89094c44da98b954eedeac495271d0f](https://etherscan.io/token/0x6b175474e89094c44da98b954eedeac495271d0f) | +| Decimals | 18 | +| Official site | [https://makerdao.com/](https://makerdao.com) | +| Holders | Over 380k addresses | diff --git a/ar/core-concepts/supported-stablecoins/usdc.md b/ar/core-concepts/supported-stablecoins/usdc.md new file mode 100644 index 000000000..e47385909 --- /dev/null +++ b/ar/core-concepts/supported-stablecoins/usdc.md @@ -0,0 +1,20 @@ +# USDC + +![](../../.gitbook/assets/usdc-coin-bd351fb779 (1).png) + +USD Coin (USDC) is a fiat-pegged stablecoin launched as a ERC-20 token on the Ethereum blockchain in October 2018. USDC is pegged to the US dollar and can easily be redeemed for US dollars. + +Each USDC is backed by a 1:1 ratio with the equivalent amount of fiat currency held in custodial accounts by members of Centre, a consortium founded by Circle and Coinbase. Members of Centre are regulated financial institutions based in the US. Monthly audits of reserves are published by Grant Thornton LLP. + +USDC is the world's second-largest stablecoin after USDT and has quickly grown to over $1 billion in circulation. However, USDC remains far behind USDT's $12+ billion in circulation. + +| Key Facts | | +| ------------- | ------------------------------------------------------------------------------------------------------------------- | +| Issued by | Centre | +| Name | USD Coin | +| Symbol | USDC | +| Address | [0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48](https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48) | +| Decimals | 6 | +| Official site | [https://www.centre.io/usdc](https://www.centre.io/usdc) | +| Holders | Over 1M addresses | + diff --git a/ar/core-concepts/supported-stablecoins/usdt.md b/ar/core-concepts/supported-stablecoins/usdt.md new file mode 100644 index 000000000..4f07af957 --- /dev/null +++ b/ar/core-concepts/supported-stablecoins/usdt.md @@ -0,0 +1,20 @@ +# USDT + +![](../../.gitbook/assets/image (1).png) + +Tether (USDT) is a fiat-pegged stablecoin that was initially built on top of Bitcoin via the Omni Layer Protocol. In September 2017, Tether announced they would be launching additional ERC-20 tokens for United States dollars on the Ethereum blockchain. + +Each Tether issued into circulation is said to be backed by a one-to-one ratio with the equivalent amount of fiat currency held in a custodial account by Tether Limited, a Hong Kong-based company with close ties to the cryptocurrency exchange, Bitfinex. + +Despite the controversy **** around **** the company's failure to provide a promised audit showing adequate reserves backing tether, USDT is still the world's largest stablecoin by market cap and currently the fourth-largest cryptocurrency after BTC, ETH and XRP. + +| Key Facts | | +| ------------- | ---------------------------------------------------------------------------------------------------------------- | +| Issued by | Tether Limited | +| Name | Tether | +| Symbol | USDT | +| Address | [0xdac17f958d2ee523a2206206994597c13d831](https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7) | +| Decimals | 6 | +| Official site | [https://tether.to/ ](https://tether.to) | +| Holders | Over 3.4M addresses | + diff --git a/ar/core-concepts/supported-strategies/README.md b/ar/core-concepts/supported-strategies/README.md new file mode 100644 index 000000000..b1bb5828c --- /dev/null +++ b/ar/core-concepts/supported-strategies/README.md @@ -0,0 +1,27 @@ +# Supported Strategies + +**Supported DeFi Platforms** + +OUSD generates yield by depositing stablecoins into lending platforms and market maker liquidity pools. It is important to understand that these platforms do carry technological risk and funds can be lost if there is a major security event. We are choosing to work with the platforms that have had their smart contracts audited and that we feel are most secure. + +Currently, OUSD earns yield from the following platform(s): + +{% content-ref url="compound.md" %} +[compound.md](compound.md) +{% endcontent-ref %} + +{% content-ref url="aave.md" %} +[aave.md](aave.md) +{% endcontent-ref %} + +{% content-ref url="curve.md" %} +[curve.md](curve.md) +{% endcontent-ref %} + +{% content-ref url="convex.md" %} +[convex.md](convex.md) +{% endcontent-ref %} + +Although DeFi has grown very quickly and there are now billions of dollars worth of value deposited on these platforms, several of these projects are still in beta and are highly experimental. There may be hidden vulnerabilities in the smart contracts that power these platforms, and there have been multi-million dollar losses caused by vulnerabilities in Ethereum applications in the past. + +We closely monitor security events on the platforms we support and will immediately move to secure OUSD holder funds if we identify any threats. diff --git a/ar/core-concepts/supported-strategies/aave.md b/ar/core-concepts/supported-strategies/aave.md new file mode 100644 index 000000000..cf77e0ffb --- /dev/null +++ b/ar/core-concepts/supported-strategies/aave.md @@ -0,0 +1,20 @@ +# Aave + +Aave is a lending protocol and platform built on Ethereum and launched in January 2020 by the creators of ETHLend. Users on Aave can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and users can choose between a variable interest rate based on supply and demand or a fixed interest rate. + +Collateral balances are represented by ERC-20 aTokens at a 1:1 ratio to the underlying assets they represent. Interest is compounded automatically and paid to lenders with aTokens, meaning lenders will steadily see their aToken balance increase over time. Users can borrow assets against their aTokens. aTokens are freely transferable and can be used on many other DeFi protocols. aTokens can be redeemed for their underlying collateral at any time. + +Aave supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +Aave's governance token was formerly called LEND which was the utility token for ETHLend. As part of their transition to fully decentralized governance, LEND holders were able to exchange LEND for AAVE, a new ERC-20 governance token with staking rewards. Some AAVE tokens have been distributed to users of the platform in a liquidity mining campaign. + +Aave's total value locked (TVL) has quickly grown to over $15.5 billion, making it the largest DeFi protocol at the time of writing. LEND has a circulating market cap of over $5.3 billion. + +Aave has undergone security audits by OpenZeppelin, Trail of Bits, and Consensys Diligence. Aave maintains a bug bounty program. + +| Resources | | +| -------------- | ------------------------------------------------------------------------------ | +| Official site | [https://aave.com/](https://aave.com) | +| Developer docs | [http://docs.aave.com/](http://docs.aave.com) | +| GitHub | [https://github.com/aave/aave-protocol](https://github.com/aave/aave-protocol) | +| Discord | [https://aave.com/discord](https://aave.com/discord) | diff --git a/ar/core-concepts/supported-strategies/balancer.md b/ar/core-concepts/supported-strategies/balancer.md new file mode 100644 index 000000000..f8d9e3c0a --- /dev/null +++ b/ar/core-concepts/supported-strategies/balancer.md @@ -0,0 +1,27 @@ +# Balancer + +{% hint style="info" %} +Coming soon. Balancer has not yet been integrated. +{% endhint %} + +Balancer is a decentralized liquidity protocol and exchange on Ethereum, launched in March 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Balancer is an Automated Market Maker \(AMM\) that allows for liquidity pools of up to 8 different assets with custom weights. Liquidity pools on Balancer can be thought of as similar to Exchange Traded Funds \(ETFs\) or portfolios with weight targets for specific assets. If trading causes the pool to shift from its target weight distribution, exchange rates between assets in the pool change. Arbitrageurs can execute trades to take advantage of this and act to rebalance the pool back to its target weight distribution. Liquidity can also be shared across pools, unlike other AMMs. + +Balancer supports private pools, where only the owner of the pool can contribute liquidity, shared pools, which are completely public, and smart pools, which are shared pools controlled by a smart contract that can implement automated rules and logic. Liquidity providers are given Balancer Pool Tokens \(BPTs\) that represent their share of a given pool and fees. These tokens are freely transferable and can be redeemed for the assets provided and accrued fees. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Balancer pools. + +Balancer is governed by BAL, an ERC-20 governance token. BAL holders can vote on protocol changes. BAL is continuously awarded to liquidity providers and a large portion of the total supply of BAL was allocated to the team and investors on a continuous vesting schedule. + +Trading volumes on Balancer are often over $25 million daily. Balancer has a Total Value Locked \(TVL\) of over $250 million by liquidity providers at the time of writing. + +Balancer has undergone a security audit by Trail of Bits and has a bug bounty program. However, Balancer has suffered a major exploit in June 2020. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://balancer.finance/](https://balancer.finance/) | +| Developer docs | [https://docs.balancer.finance/](https://docs.balancer.finance/) | +| GitHub | [https://github.com/balancer-labs](https://github.com/balancer-labs) | +| Discord | [https://discord.gg/ARJWaeF](https://discord.gg/ARJWaeF) | + diff --git a/ar/core-concepts/supported-strategies/compound.md b/ar/core-concepts/supported-strategies/compound.md new file mode 100644 index 000000000..77e40733e --- /dev/null +++ b/ar/core-concepts/supported-strategies/compound.md @@ -0,0 +1,18 @@ +# Compound + +Compound is a lending protocol and platform built on Ethereum and launched in September 2018. Users can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and interest rates are adjusted automatically based on supply and demand. + +Collateral balances are represented by ERC-20 cTokens, which automatically accrue interest and increase in value over time relative to the underlying asset they represent. Users can borrow assets against the value of their cTokens. cTokens are freely transferable and can be used on many other DeFi protocols. cTokens can be redeemed for their underlying collateral at any time. + +Compound is governed by COMP, an ERC-20 governance token. COMP holders can propose and vote on protocol changes or delegate their votes to someone else. COMP tokens are awarded pro-rata to users of the protocol daily, split equally between borrowers and lenders. A large portion of the COMP token supply was retained by the Compound team, investors, and advisors. + +Compound's total value locked (TVL) has quickly grown to over $10 billion, making it one of the largest DeFi protocols. COMP has a circulating market cap of over $2.5 billion. + +Compound has undergone multiple security audits by OpenZeppelin and Trail of Bits. The Compound protocol was formally verified by CertiK and has undergone economic stress testing by Gauntlet. Compound maintains a bug bounty program. + +| Resources | | +| -------------- | -------------------------------------------------------------------------------------------------------------- | +| Official site | [https://compound.finance/](https://compound.finance) | +| Developer docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/compound-finance/compound-protocol](https://github.com/compound-finance/compound-protocol) | +| Discord | [https://discord.com/invite/cU7vmVW](https://discord.com/invite/cU7vmVW) | diff --git a/ar/core-concepts/supported-strategies/convex.md b/ar/core-concepts/supported-strategies/convex.md new file mode 100644 index 000000000..771280a68 --- /dev/null +++ b/ar/core-concepts/supported-strategies/convex.md @@ -0,0 +1,18 @@ +# Convex + +Convex is an aggregation platform for Curve that launched in May 2021. Convex allows liquidity providers on Curve to earn boosted CRV rewards without having to vote-lock CRV. Convex vote-locks CRV on behalf of users and distributes boosted CRV rewards to them. Convex passes on trading fees earned on Curve to users as well. + +Convex also rewards users with their own ERC-20 governance token, CVX. Convex supports both CRV and CVX staking for additional rewards. Vote-locking CVX is required to participate in Convex governance. + +Convex is one of the few protocols whitelisted to participate in Curve governance and controls a huge amount of vote-locked CRV, making them one of the biggest players in Curve governance. A large proportion of liquidity provided on Curve is now done through Convex. Convex has a Total Value Locked (TVL) of over $15.4 billion in deposits at the time of writing. + +Convex has been audited by MixBytes. + +| | | +| -------------- | ---------------------------------------------------------------- | +| Resources | | +| Official site | [https://www.convexfinance.com](https://www.convexfinance.com) | +| Developer docs | [https://docs.convexfinance.com](https://docs.convexfinance.com) | +| GitHub | [https://github.com/convex-eth](https://github.com/convex-eth) | +| Discord | [https://discord.gg/uAwvZfs9qU](https://discord.gg/uAwvZfs9qU) | + diff --git a/ar/core-concepts/supported-strategies/curve.md b/ar/core-concepts/supported-strategies/curve.md new file mode 100644 index 000000000..40d2aade6 --- /dev/null +++ b/ar/core-concepts/supported-strategies/curve.md @@ -0,0 +1,20 @@ +# Curve + +Curve is a decentralized liquidity protocol and exchange on Ethereum for stablecoins and wrapped BTC, launched in January 2020. Users can swap between popular ERC-20 stablecoins or between ERC-20 representations of bitcoin. Liquidity providers facilitate trading and earn fees. + +Curve is an Automated Market Maker (AMM) where each market has an associated liquidity pool with two or more assets that should have the same value, like USDT, USDC, DAI and TUSD, which are all US dollar pegged stablecoins. The exchange rate between each stablecoin and their relative weights are determined by an algorithm based on supply and demand. Arbitrageurs act to normalize these exchange rates. + +Some of Curve's liquidity pools earn extra fees for liquidity providers on top of the exchange fees from traders. Curve offers stablecoin pools integrated with Compound, yearn.finance, and Synthetix. The assets in each liquidity pool are provided to those platforms to generate additional yield which is passed on to each pool's liquidity providers. Liquidity Provider (LP) tokens are given to pool participants and can be redeemed for their initial liquidity supplied plus accrued fees and yield. LP tokens can also transferred for use in other protocols. + +Curve is governed by CRV, an ERC-20 governance token. CRV holders can vote on protocol changes. CRV holders can stake or "vote-lock" their tokens for additional voting power proportional to time staked. Vote-locking CRV also significantly boosts liquidity provider rewards. CRV is continuously awarded to liquidity providers and a large portion of the total supply of CRV was allocated to the team and investors on a continuous vesting schedule. + +Curve has a Total Value Locked (TVL) of over $20.4 billion by liquidity providers at the time of writing. Hundreds of millions of dollars of trading volume are generated on Curve every day. + +Curve has undergone two audits by Trail of Bits and maintains a bug bounty program. + +| Resources | | +| -------------- | ------------------------------------------------------------------------ | +| Official site | [https://www.curve.fi/](https://www.curve.fi) | +| Developer docs | [https://www.curve.fi/devdocs](https://www.curve.fi/devdocs) | +| GitHub | [https://github.com/curvefi](https://github.com/curvefi) | +| Discord | [https://discord.com/invite/9uEHakc](https://discord.com/invite/9uEHakc) | diff --git a/ar/core-concepts/supported-strategies/dydx.md b/ar/core-concepts/supported-strategies/dydx.md new file mode 100644 index 000000000..24f1a895e --- /dev/null +++ b/ar/core-concepts/supported-strategies/dydx.md @@ -0,0 +1,27 @@ +# dYdX + +{% hint style="info" %} +Coming soon. DyDx has not yet been integrated. +{% endhint %} + +dYdX is a trading and lending protocol and platform built on Ethereum and launched in May 2019. Users can trade assets on dYdX's non-custodial, decentralized exchange or participate in borrowing and lending. The lending protocol enables margin and futures trading. Interest rates are adjusted based on supply and demand and only short term loans are offered. + +Liquidity for assets available for borrowing and lending are pooled together by asset type. Interest paid to lenders is accrued automatically and borrowers must put up collateral to take out a loan. + +dYdX also supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +dYdX has around $40 million in total value locked \(TVL\) at the time of this writing. dYdX does not have a native token. + +dYdX has undergone security audits by OpenZeppelin and Bramah Systems. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://dydx.exchange/](https://dydx.exchange/) | +| Developer docs | [https://docs.dydx.exchange/](https://docs.dydx.exchange/) | +| GitHub | [https://github.com/dydxprotocol/](https://github.com/dydxprotocol/) | +| Discord | [https://discord.gg/yah42Rb](https://discord.gg/yah42Rb) | + + + + + diff --git a/ar/core-concepts/supported-strategies/uniswap.md b/ar/core-concepts/supported-strategies/uniswap.md new file mode 100644 index 000000000..012e25e93 --- /dev/null +++ b/ar/core-concepts/supported-strategies/uniswap.md @@ -0,0 +1,27 @@ +# Uniswap + +{% hint style="info" %} +Coming soon. Uniswap has not yet been integrated. +{% endhint %} + +Uniswap is a decentralized liquidity protocol and exchange on Ethereum, launched in November 2018. Uniswap v2 launched in May 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Markets on Uniswap operate as liquidity pools rather than order books. This type of exchange is called an Automated Market Maker \(AMM\). The exchange rate between the two assets is determined by a constant product formula and moves along a price curve depending on the relative weight of each asset in the pool. This encourages arbitrageurs to enter liquidity pools to rebalance the relative weights and normalize the exchange rate. + +Traders can suffer from slippage if there is not enough liquidity in a given pool and may not be protected from unfavorable exchange rates. Liquidity providers may suffer impermanent loss when the pool exchange rate does not match market realities and arbitrageurs execute trades along the pricing curve. + +Pool participants are given Uniswap Liquidity Provider \(LP\) tokens that correspond to their share of liquidity provided in a given pool. These LP tokens are freely transferable. Participants can exit pools at any time by redeeming these tokens for the assets provided and fees accrued. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Uniswap pools. + +Trading volumes on Uniswap now eclipse that of many traditional exchanges and regularly surpass $200 million daily. Uniswap has over $170 million in Total Value Locked \(TVL\) by liquidity providers. Uniswap does not have a native platform or governance token. + +Uniswap has had its smart contracts audited and formally verfied by dapp.org. Uniswap maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------ | +| Official site | [https://uniswap.org/](https://uniswap.org/) | +| Developer docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/ar/core-concepts/supported-strategies/yearn.finance.md b/ar/core-concepts/supported-strategies/yearn.finance.md new file mode 100644 index 000000000..3f23b9fdb --- /dev/null +++ b/ar/core-concepts/supported-strategies/yearn.finance.md @@ -0,0 +1,25 @@ +# Yearn.finance + +{% hint style="info" %} +Coming soon. Yearn.finance has not yet been integrated. +{% endhint %} + +Yearn.finance, formerly iEarn.finance, is a yield aggregation platform built on Ethereum and launched in January 2020 by Andre Cronje. Yearn manages yield farming and rebalancing strategies using a combination of automation and human decision making on behalf of users who have deposited capital. + +Yearn has two yield aggregation products, Earn and Vaults. Earn allows users to deposit stablecoins or wrapped BTC into liquidity pools on Curve to earn fees and governance token rewards. These assets are also lent out on platforms offering high yield and token rewards, adding to the yield earned. + +Vaults offer a more automated and managed experience. Users deposit assets such as LINK, Curve liquidity provider tokens, or stablecoins and the Vault pools these assets together and deploys the highest earning yield farming strategy as deemed safe by the community and Andre Cronje. Governance tokens earned as rewards are sold off for the original asset deposited and combined with other fees and automatically rolled into the Vault to compound yield. Strategies can be changed frequently and pooling assets together saves gas costs for users. + +Yearn is governed by YFI, an ERC-20 governance token. YFI holders can vote on protocol changes after agreeing to lock up their YFI for 3 days. YFI can also be staked for yield in the governance portal. This yield comes from fees charged to users on Yearn products. YFI was distributed entirely to liquidity providers on Curve and Balancer. There was no allocation for team members or investors. + +Yearn's total value locked \(TVL\) has quickly grown to over $800 million, making it one of the largest DeFi platforms. YFI has a circulating market cap of over $400 million. + +Yearn has undergone multiple security and smart contract audits by CertiK, Quantstamp, HackMD, and CryptoManiacs. Yearn has a reputation for launching experimental products very quickly and warns users that their products are in beta. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://yearn.finance/](https://yearn.finance/) | +| Developer docs | [https://docs.yearn.finance/](https://docs.yearn.finance/) | +| GitHub | [https://github.com/iearn-finance](https://github.com/iearn-finance) | +| Discord | [https://discord.gg/uTmHe8r](https://discord.gg/uTmHe8r) | + diff --git a/ar/core-concepts/wrapped-ousd.md b/ar/core-concepts/wrapped-ousd.md new file mode 100644 index 000000000..bea00ee4b --- /dev/null +++ b/ar/core-concepts/wrapped-ousd.md @@ -0,0 +1,31 @@ +# Wrapped OUSD + +Wrapped OUSD provides a non-rebasing version of OUSD that still earns yield. This makes it easier to use OUSD as a building block for other contracts and it may provide tax benefits in some jurisdictions. + +![Two flavors, up only](https://cdn-images-1.medium.com/max/1600/1\*cqRG-8-64XYx9QChoMxk3g.png) + +### How wrapped OUSD works + +When you wrap OUSD, you get back a fixed number of wOUSD tokens. This number will not go up - you will have the same number of wOUSD tokens tomorrow as you have today. However, the number of OUSD tokens that you can unwrap will go up over time. + +For example, if you wrap 10,000 OUSD, you might receive 9,423 wOUSD. If you hold for a while, you will still have 9,423 wOUSD, but when you unwrap the wOUSD, you receive 11,500 OUSD. + +Both OUSD and wOUSD earn at the same rate and can be transferred just like any other ERC-20 token. wOUSD is one of the first implementations of [EIP-4626](https://eips.ethereum.org/EIPS/eip-4626), which is an extension on ERC-20 that provides basic functionality for depositing and withdrawing tokens and reading balances on a tokenized vault. wOUSD was independently [audited by Solidified](https://github.com/OriginProtocol/security/blob/3dc8c1dec2f6fbf4f7d0bdf92408f79262624647/audits/Solidified%20-%20OGV,%20wOUSD,%20and%20ERC721a%20-%20May%202022.pdf) in May 2022 and is ready for production use. + +### Wrapping + +If you don’t already have OUSD, you can buy it from Gate.io, KuCoin, Curve, Uniswap, or [get it directly from the OUSD DApp](https://www.youtube.com/watch?v=UabjvL-7iu4). + +Once you have OUSD in your wallet, visit [ousd.com/wrap](https://ousd.com/wrap) and follow these steps: + +1. Connect your wallet +2. Enter the amount of OUSD that you want to wrap +3. Submit the allowance for the wOUSD contract to use your OUSD +4. Submit the transaction to wrap your OUSD + +![ousd.com/wrap](https://cdn-images-1.medium.com/max/1600/1\*57fSZSSlzebhpIl8R4UqUQ.png) + +### Unwrapping + +Unwrapping your OUSD does not require any approvals since you already hold the wOUSD in your wallet. There's also no minimum term or lock-up period. You can use the same form shown above and just click the arrow to flip it to unwrap mode. This form calls the `redeem` function to unwrap a spcific amount of wOUSD. You can also [use Etherscan](https://etherscan.io/address/0xd2af830e8cbdfed6cc11bab697bb25496ed6fa62#writeProxyContract) to call the `withdraw` function if you prefer to specify the amount of OUSD that you want to be taken out. + diff --git a/ar/core-concepts/yield-generation/README.md b/ar/core-concepts/yield-generation/README.md new file mode 100644 index 000000000..b1d3861bc --- /dev/null +++ b/ar/core-concepts/yield-generation/README.md @@ -0,0 +1,30 @@ +# Yield Generation + +**Automated Yield Farming** + +While the Cambrian explosion of new lending and automated market maker pools has fueled total value locked (TVL), it has also made it increasingly challenging for yield farmers to manually allocate capital in efficient and optimal ways. + +[Yearn](https://yearn.finance) has demonstrated that smart contracts can automate the rebalancing of funds across various strategies to optimally earn lending interest, market-making fees, and rewards tokens. Over time, new strategies will be deployed that maximize returns while minimizing risk and dependencies. + +![Automated yield farming on the OUSD protocol](../../.gitbook/assets/ousd_earnings_graphic.png) + +OUSD uses the following high-level strategies for generating yield: + +{% content-ref url="lending.md" %} +[lending.md](lending.md) +{% endcontent-ref %} + +{% content-ref url="market-making.md" %} +[market-making.md](market-making.md) +{% endcontent-ref %} + +{% content-ref url="rewards.md" %} +[rewards.md](rewards.md) +{% endcontent-ref %} + +OUSD is able to generate higher yields than competing protocols due to a combination of important design decisions that amplify the rewards that are returned to OUSD holders: + +* Exit fees are returned to the pool, rewarding long term holders +* Price oracles favor the collective over the individual, again rewarding long term holders +* Smart contracts must manually opt-in to earn yield. This allows the protocol to put more capital to work than would be otherwise possible. +* Smart strategies balance risk and reward more effectively than deploying capital in any single underlying strategy. diff --git a/ar/core-concepts/yield-generation/lending.md b/ar/core-concepts/yield-generation/lending.md new file mode 100644 index 000000000..fa7607781 --- /dev/null +++ b/ar/core-concepts/yield-generation/lending.md @@ -0,0 +1,26 @@ +# Lending + +**Unbank the Banked** + +DeFi lending platforms let users lend and borrow crypto assets without any middlemen. Both lenders and borrowers get more value from their crypto. Lenders earn interest, while borrowers deposit crypto as collateral to gain access to credit without traditional banking headaches. DeFi lending platforms currently provide far superior returns for lenders than are generally available in the traditional markets. + +OUSD integrates with DeFi lending platforms that provide over-collateralized loans. Over-collateralization, combined with smart rules around liquidations, provide a reasonable level of security for lenders. Aave also additionally secures their lending pools with AAVE tokens respectively, further lowering risk. + +OUSD integrates with leading lending providers that have a proven track record, audited smart contracts, and have successfully lent hundreds of millions of dollars without issue. We are currently integrated with the following lending platforms: + +{% content-ref url="../supported-strategies/compound.md" %} +[compound.md](../supported-strategies/compound.md) +{% endcontent-ref %} + +{% content-ref url="../supported-strategies/aave.md" %} +[aave.md](../supported-strategies/aave.md) +{% endcontent-ref %} + + + + + + + + + diff --git a/ar/core-concepts/yield-generation/market-making.md b/ar/core-concepts/yield-generation/market-making.md new file mode 100644 index 000000000..464b5f13e --- /dev/null +++ b/ar/core-concepts/yield-generation/market-making.md @@ -0,0 +1,22 @@ +# Market Making + +**Own your Stake in Decentralized Exchanges** + +Automated market makers (AMMs) have quickly risen as the preferred form of decentralized exchange on the Ethereum network. This is in part due to the difficulty of supporting order book DEXes on Ethereum 1.0 that can rival the instant and low-slippage experiences on centralized exchanges. Further, AMMs like Uniswap are relatively user-friendly and gas-efficient to use. + +AMMs can only enable new markets when liquidity providers supply liquidity (e.g. multiple tokens for given trading pairs or pools). In return for providing liquidity, liquidity providers are rewarded with trading fees when other users swap tokens. For example, when traders swap two tokens on Uniswap v3, they are currently charged anywhere between 0.05% and 1% on top of the gas fees. These fees are distributed pro-rata to liquidity providers of the pair based on the percentage of total liquidity that they have provided. + +{% hint style="info" %} +[Impermanent loss](https://medium.com/@pintail/uniswap-a-good-deal-for-liquidity-providers-104c0b6816f2) is an important risk factor to understand, but this concern is largely mitigated by OUSD only providing liquidity for stablecoins of approximately equal value. +{% endhint %} + +The OUSD protocol routes USDT, USDC, and DAI to highly-performing liquidity pools as determined by trading volume and rewards tokens (e.g. Curve rewards CRV tokens to liquidity providers). Yields are then passed on to OUSD holders. + +We are currently integrated with the following automated market maker: + +{% content-ref url="../supported-strategies/curve.md" %} +[curve.md](../supported-strategies/curve.md) +{% endcontent-ref %} + + + diff --git a/ar/core-concepts/yield-generation/rewards.md b/ar/core-concepts/yield-generation/rewards.md new file mode 100644 index 000000000..f598afe7c --- /dev/null +++ b/ar/core-concepts/yield-generation/rewards.md @@ -0,0 +1,12 @@ +# Rewards + +**Collecting Rewards** + +In addition to collecting interest from lending and fees from market making, we intend to automatically claim and convert the bonus incentives that are being distributed by many of the DeFi protocols. For example, Compound gives away COMP tokens and Curve gives away CRV tokens. These bonus rewards will be regularly converted into stablecoins, deployed in the market, and distributed to OUSD holders in the form of additional yield. + +{% hint style="info" %} +While the vault safely stores any unexpected rewards that it receives, custom strategies will need to be written and deployed to decide when and how the protocol should convert them to stablecoins. +{% endhint %} + +Today, rewards are a significant factor for yield farmers as they represent a large percentage of their returns. We anticipate that the OUSD protocol will be upgraded over time to take advantage of the most attractive yields available across the DeFi landscape. The protocol will factor in the market value of the various rewards being offered when deciding how to best allocate resources. + diff --git a/ar/faq.md b/ar/faq.md new file mode 100644 index 000000000..6d47859ae --- /dev/null +++ b/ar/faq.md @@ -0,0 +1,33 @@ +# FAQ + +**Where can I buy OUSD?** + +Check out [Getting Started](https://docs.ousd.com/getting-started) to see a variety of options. + +**What are the costs to mint and redeem OUSD?** + +As with any Ethereum transaction, you will need Ether to interact with the OUSD smart contract. We have taken measures to reduce gas usage where possible, but these costs can vary. + +Anytime you mint or redeem OUSD, there will be an exchange rate applied to your stablecoins deposited or withdrawn. You can read more about this in [Price Oracles](https://docs.ousd.com/core-concepts/price-oracles). + +To encourage long-term holding of OUSD and to protect the protocol from attackers, an exit fee of 0.25% is charged on all redeems. You can read more about this in [How It Works](https://docs.ousd.com/how-it-works). + +**How soon will my balance increase once I have OUSD?** + +The amount of OUSD in your wallet will grow each time there is a positive rebase event. You can read more about this in [Elastic Supply](https://docs.ousd.com/core-concepts/elastic-supply). The supply is currently rebased several times per day and is usually correlated with how many people are minting and redeeming OUSD. + +**Why does OUSD not grow when it's held in Uniswap, SushiSwap, etc?** + +By default, rebase events don't affect the supply of OUSD that is sitting in smart contracts. These contracts can opt in to receiving additional OUSD if they are capable of handling elastic supply tokens. You can read more about this in [Rebasing & Smart Contracts](https://docs.ousd.com/core-concepts/elastic-supply/rebasing-and-smart-contracts). + +**How is it possible for the APY to be so high?** + +You can read about our various strategies in [Yield Generation](https://docs.ousd.com/core-concepts/yield-generation). We currently get most of the yield from harvesting rewards tokens (namely COMP and CRV). Additionally, the yield increases as more OUSD is held in smart contracts that do not opt into rebasing since the underlying collateral continues to earn for the average OUSD holder. + +**Why is my balance increasing at a slower rate than the advertised APY?** + +OUSD balances increase when the supply is rebased. But the size of each rebase varies wildly depending on how much the vault has earned since the last rebase. And while most rebases collect a small amount earnings from lending strategies, other rebases involve liquidating rewards tokens or collecting fees. As a result, the yield will vary significantly during short time periods. + +**What about the hack? Is OUSD safe?** + +On November 7th 2020, OUSD was exploited for 7M USD due to a previously undetected reentrancy bug. You can read more [details about the hack](https://medium.com/originprotocol/urgent-ousd-has-hacked-and-there-has-been-a-loss-of-funds-7b8c4a7d534c) on our blog as well as the [detailed compensation plan](https://medium.com/originprotocol/origin-dollar-ousd-detailed-compensation-plan-faa73f87442e) for taking care of the affected users. Origin Dollar was relaunched in December after completing multiple audits and security upgrades. You can learn more about the steps taken to secure the protocol in our [relaunch announcement](https://medium.com/originprotocol/origin-dollar-ousd-is-back-b8ee0c601dad). diff --git a/ar/getting-started.md b/ar/getting-started.md new file mode 100644 index 000000000..a02770326 --- /dev/null +++ b/ar/getting-started.md @@ -0,0 +1,71 @@ +# Getting Started + +These docs are intended to explain how OUSD works, communicate the potential risks and benefits, and provide a guide for developers who wish to contribute to our codebase or integrate OUSD into their products. Here are a few ways for you to dive in and get started. + +**Buying OUSD** + +{% hint style="info" %} +The [Origin Dollar DApp](https://ousd.com/swap) will intelligently route your transaction to get you the best rate. +{% endhint %} + +The [Origin Dollar DApp](https://ousd.com/swap) allows anyone to buy or sell OUSD using a web-3 enabled cryptocurrency wallet like [Metamask](https://www.metamask.io), [Ledger](https://www.ledger.com), or [Gnosis Safe](https://gnosis-safe.io). This is the native way to get OUSD, especially if you want a large amount that could risk moving the market on other exchanges. The DApp will intelligently decide whether to create or trade-in OUSD tokens using the vault or help you complete the trade on whichever AMM is currently offering the best rate. + +**Decentralized Exchanges** + +OUSD is currently available on the following decentralized exchanges. These are listed here for reference only. We recommend using the [Origin Dollar DApp](https://ousd.com/swap) to ensure you always get the best rate. + +* [Buy OUSD on 1inch](https://app.1inch.io/#/1/swap/USDT/OUSD) +* [Buy OUSD on Curve](https://curve.fi/factory/9) +* [Buy OUSD on Uniswap v3](https://app.uniswap.org/#/swap?inputCurrency=0xdac17f958d2ee523a2206206994597c13d831ec7\&outputCurrency=0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86) +* [Buy OUSD on Uniswap v2](https://app.uniswap.org/#/swap?inputCurrency=0xdac17f958d2ee523a2206206994597c13d831ec7\&outputCurrency=0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86\&use=v2) +* [Buy OUSD on Sushiswap](https://exchange.sushiswapclassic.org/#/swap?inputCurrency=0xdac17f958d2ee523a2206206994597c13d831ec7\&outputCurrency=0x2a8e1e676ec238d8a992307b495b45b3feaa5e86) + +**Centralized Exchanges** + +OUSD is currently available on the following centralized exchanges. Be sure to check on how they are handling the yield that is being generated by the protocol. Depending on the exchange, there may be additional steps you need to take to participate in the yield while it's being held in their custody. + +* Buy OUSD on KuCoin + * [OUSD/USDT](https://trade.kucoin.com/OUSD-USDT) + * [OUSD/BTC](https://trade.kucoin.com/OUSD-BTC) +* Buy OUSD on Gate.io + * [OUSD/USDT](https://www.gate.io/trade/OUSD\_USDT) +* Buy OUSD on Virgox + * [OUSD/USDT](https://virgox.com/exchange/141) +* [Buy OUSD on Dharma App](https://www.dharma.io) (US only) + +We're continuing to work on making OUSD available on additional centralized exchanges. + +**Adding OUSD to Your Wallet** + +{% hint style="success" %} +The main ERC20 address for Origin Dollar (OUSD) is: \ +**0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +If your OUSD does not automatically show up in your wallet, you should be able to add it manually using the address above. If you are planning on [storing your OUSD in a multi-sig wallet](core-concepts/elastic-supply/rebasing-and-smart-contracts.md), be sure to opt-in to receive yield. We want to have OUSD supported by as many wallets as possible and included on all the various lists of well-known tokens. We would greatly appreciate any help you can offer in this area. + +**Integrating OUSD** + +OUSD is a non-standard ERC-20 token that requires custom integration work for most applications that wish to support it. In particular, it is important for developers to understand how our elastic supply works as this can easily cause unexpected behavior. + +If you are a wallet provider or crypto exchange that is interested in supporting OUSD, please refer to the following guides: + +{% content-ref url="core-concepts/elastic-supply/rebasing-and-smart-contracts.md" %} +[rebasing-and-smart-contracts.md](core-concepts/elastic-supply/rebasing-and-smart-contracts.md) +{% endcontent-ref %} + +{% content-ref url="smart-contracts/architecture.md" %} +[architecture.md](smart-contracts/architecture.md) +{% endcontent-ref %} + +{% content-ref url="smart-contracts/api/" %} +[api](smart-contracts/api/) +{% endcontent-ref %} + +**Developer Analytics** + +Our internal developer dashboard is available at [analytics.ousd.com](https://analytics.ousd.com). The dashboard shows the current circulating supply, the assets under management in the vault, and the current allocations between each of the stablecoins and strategies. + +**Getting Help** + +Please join the Origin Dollar #engineering room in Origin's [Discord](https://www.originprotocol.com/discord) server. Our team and members of our community look forward to helping you build. Your questions help us improve, so please don't hesitate to ask if you can't find what you are looking for here. diff --git a/ar/governance/admin-privileges.md b/ar/governance/admin-privileges.md new file mode 100644 index 000000000..30ed8065a --- /dev/null +++ b/ar/governance/admin-privileges.md @@ -0,0 +1,32 @@ +# Admin Privileges + +The OUSD smart contracts are designed to be owner upgradable. The Origin team uses two different Gnosis multisig wallet contracts in order to make changes to the protocol. These multisig wallets have been [audited by OpenZeppelin](https://blog.openzeppelin.com/gnosis-multisig-wallet-audit-d702ff0e2b1e/), [ConsenSys Dilligence](https://blog.gnosis.pm/the-gnosis-multisig-wallet-and-our-commitment-to-security-ce9aca0d17f6), Origin’s team, and others. + +{% hint style="info" %} +Time-delayed admin actions gives users a chance to exit OUSD if its admins become malicious, are compromised, or make a change that the users do not like. +{% endhint %} + +### Admin + +The primary admin is a 5 of 8 multisig contract which is required to make any code changes to the protocol. OUSD can only be upgraded from this 5 of 8 multi-sig wallet. The keys to this multi-sig are held by individuals with close ties to the company, and not even the Origin founders acting together have enough control to execute owner functions on their own. In addition, the OUSD contracts are owned by a [timelock](../smart-contracts/api/timelock.md) which places a 48 hour time delay before any changes to the protocol can be made. + +### Strategist + +Some functionality, such as rebalancing funds between strategies or pausing deposits, can be triggered without the timelock and with far fewer signers. This allows the Origin team to react more quickly to market conditions or security threats. These signers, known as Strategists, have the ability to execute a limited number of functions __ with only 2 of 9 signers. + +The strategist multisig can do the following actions on the vault: + +* reallocate - move funds between strategies +* setVaultBuffer - adjust the amount of funds held outside strategies for cheaper redeems. +* setAssetDefaultStrategy - which strategy mints and redeems pull from for a particular strategy +* withdrawAllFromStrategy - remove funds from a single strategy and send them to the vault +* withdrawAllFromStrategies - remove funds from all active strategies and send them to the vault +* pauseRebase - pause all rebases +* pauseCapital - pause all mints and redeems +* unpauseCapital - allow all mints and redeems + +### Future + +Having these admin privileges is necessary in the early days to ensure that the protocol is secure and optimized for earning yields while minimizing risks. We expect to release multiple iterations of our smart contracts in the first several months of the protocol's existence. + +Once several upgrade cycles have been completed, we intend to transfer ownership from our company control to a decentralized governance contract, thereby allowing the community to vote and participate in future protocol updates. diff --git a/ar/governance/contributing.md b/ar/governance/contributing.md new file mode 100644 index 000000000..5b63d22c7 --- /dev/null +++ b/ar/governance/contributing.md @@ -0,0 +1,103 @@ +# Contributing + +**100% Open-source** + +OUSD is an entirely open-source project and we welcome contributions of all sorts. There are many ways to help, from reporting issues, contributing code, and helping us improve our community. + +{% content-ref url="broken-reference" %} +[Broken link](broken-reference) +{% endcontent-ref %} + +We work in public and our company Discord is open to all. If you have questions or need help getting started, our [Discord OUSD channels](https://discord.gg/jyxpUSe) are the best place to get assistance from our team and community. + +{% content-ref url="broken-reference" %} +[Broken link](broken-reference) +{% endcontent-ref %} + +**Developer Analytics** + +Our internal developer dashboard is available at [analytics.ousd.com](https://analytics.ousd.com). The dashboard shows the current circulating supply, the assets under management in the vault, and the current allocations between each of the stablecoins and strategies. Various other developer tools can be found at [ousd.com/dashboard](https://ousd.com/dashboard). + +#### Development Process + +Our branching strategy is similar to [GitFlow](http://nvie.com/posts/a-successful-git-branching-model/), but we do all of our development in the `master` branch and have a `stable` branch for code that has been released. + +Your development flow should look like: + +1. Find an interesting issue and communicate! Please let the `#engineering` [Discord](https://discord.gg/jyxpUSe) channel know what you want to work on. +2. Ping a [core team member](https://github.com/orgs/OriginProtocol/teams/core/members) member on Discord and ask to be added to our [contributors team](https://github.com/orgs/OriginProtocol/teams/contributors). Otherwise, you’ll need to fork the relevant repository and push feature branches to your own fork. +3. Add a comment to the issue or self-assign so we don’t have multiple contributors unintentionally working on the same task. +4. Start with the `master` branch and check out a new feature branch unless you’re contributing to an existing feature. +5. Write some awesome code. +6. Pull the latest commits from `master` and confirm that your code works with any other work that has been merged since you started. +7. Push your branch to the upstream repository (i.e. https://github.com/OriginProtocol/\[repo]) so that other contributors can easily work off of it if necessary. +8. Please request a review in the PR by clicking on the gear icon next to “Reviewers” in the right column. + +For critical smart contract code to be merged it must pass the following checklist: + +* Code reviewed by 2 reviewers +* Unit tests pass +* Slither tests pass with no warning +* Echidna tests pass + +The `master` branch is locked so that only members of the [core team](https://github.com/orgs/OriginProtocol/teams/core) are able to merge your pull requests. Pull requests that are peer-reviewed by other trusted contributors will be fast-tracked and merged faster! Check in the `#engineering` Discord channel for appropriate reviewers. + +#### Coding Style + +We use a variety of programming languages in our repositories. When contributing, please follow existing coding conventions and refer to the CONTRIBUTING.md file in the repository, if one exists. + +For JavaScript, we use [NPM’s style](https://docs.npmjs.com/misc/coding-style), which is automatically enforced via [prettier](https://prettier.io). + +For Solidity, we use two-space indents. + +#### Protocol Design + +When considering protocol or implementation design proposals, we are looking for: + +* A description of the problem this design proposal solves +* Discussion of the trade-offs involved +* Review of other existing solutions +* Links to relevant literature (RFCs, papers, etc) +* Discussion of the proposed solution + +Please note that protocol design is hard and meticulous work. You may need to review existing literature and think through generalized use cases. + +#### Community Guidelines + +We want to keep the Origin community awesome, growing and collaborative. We need your help to keep it that way. To help with this we’ve come up with some general guidelines for the community as a whole: + +* Be nice: Be courteous, respectful and polite to fellow community members: no regional, racial, gender, or other abuse will be tolerated. We like nice people way better than mean ones! +* Encourage diversity and participation: Make everyone in our community feel welcome, regardless of their background and the extent of their contributions, and do everything possible to encourage participation in our community. +* Keep it legal: Basically, don’t get anybody in trouble. Share only content that you own, do not share private or sensitive information, and don’t break laws. +* Stay on topic: Make sure that you are posting to the correct channel and avoid off-topic discussions. Remember when you update an issue or respond to an email you are potentially sending to a large number of people. Please consider this before you update. Also remember that nobody likes spam. + +#### Reporting Issues + +If you find bugs, mistakes or inconsistencies in Origin’s code or documents, please let us know by filing a GitHub issue. No issue is too small. Help us fix our tpyos! + +#### Security Issues + +OUSD is still in early development, which means there may be problems with the protocol or in our implementations. We take security vulnerabilities very seriously. If you discover a security issue, please bring it to our attention right away! + +If you find a security vulnerability please send your report privately to [security@originprotocol.com](mailto:security@originprotocol.com) or send an encrypted message to [@joshfraser on Keybase](https://keybase.io/joshfraser). Please DO NOT file a public issue. Be sure to review our guidelines for responsible disclosure and eligibility for bug bounties. + +{% content-ref url="../security-and-risks/bug-bounties.md" %} +[bug-bounties.md](../security-and-risks/bug-bounties.md) +{% endcontent-ref %} + +#### **Community Improvement** + +Origin is just as much about community as it is about our technology. + +We need constant help in improving our documentation, building new tools to interface with our platform, spreading the word to new users, helping new users getting setup and much more. + +Please get in touch if you would like to help out. Our `discussion` channel on [Discord](https://www.originprotocol.com/discord) is a great place to share ideas and volunteer to help. + +#### Full-Time Positions + +Origin occasionally hires developers for part-time or full-time positions. + +We have a strong preference for hiring people who have already started contributing to the project. If you want a full-time position on our team, your best shot is to engage with our team and start contributing code. It is very unlikely that we would offer you a full-time position on our engineering team unless you’ve had at least a few pull requests merged. + +If you are interested, check out [the Origin Protocol job listings](https://angel.co/originprotocol/jobs). If you’d like to help in other ways, please propose your ideas in [our Discord channel](https://www.originprotocol.com/discord). + diff --git a/ar/governance/governance.md b/ar/governance/governance.md new file mode 100644 index 000000000..eea11a787 --- /dev/null +++ b/ar/governance/governance.md @@ -0,0 +1,26 @@ +# Principles + +**Progressive Decentralization** + +OUSD is designed to be a decentralized protocol governed by many stakeholders all over the world. We believe that the minters and holders of OUSD should collectively determine important protocol decisions as soon as possible. + +That being said, in the very early days, it is imperative that the core engineering team can act quickly and decisively to build the foundational parts of the protocol. + +Decentralization will progress across four phases rapidly over the next few months. It is our intent to relinquish control and governance to the community as soon as possible. + +![](../.gitbook/assets/ousd_docs_graphics_2%20%283%29.png) + +**Timelock** + +Prior to full decentralized governance, we will implement a [timelock](../smart-contracts/api/timelock-1.md) in front of all admin function calls, giving OUSD users time \(48 hours\) to withdraw their funds if they have objections to our proposed upgrades. This timelock will be added shortly after launch. + +**New and Existing Stakeholders** + +OUSD is a new project founded by Origin Protocol [team](www.originprotocol.com/team) and will be supported by the existing Origin community as well as many new stakeholders that choose to mint, hold, use, and provide liquidity for OUSD. + +In addition, we also want to ensure high participation from our existing Origin Token \(OGN\) holders, community of close to 500,000 members, and buyers/sellers on the Platform. Existing OGN holders will be able to stake their OGN to participate in governance and earn incentives for driving value to OUSD. More details will be provided in the near future. + +The strong connection between OUSD and the rest of the Origin commerce platform will fuel growth in both initiatives. + + + diff --git a/ar/governance/ogn-staking.md b/ar/governance/ogn-staking.md new file mode 100644 index 000000000..e7a3e0bc2 --- /dev/null +++ b/ar/governance/ogn-staking.md @@ -0,0 +1,18 @@ +# OGN Staking + +Origin Token (OGN) is intended as the governance token for OUSD and OGN will play an increasingly important role as the Origin Platform becomes more decentralized. Today, users can stake their OGN tokens to earn additional OGN after a chosen staking period has elapsed. + +{% hint style="info" %} +Visit the [OUSD DApp](https://www.ousd.com/stake) in a web3-enabled browser to stake your OGN. +{% endhint %} + +The initial staking program offers three staking periods and respective yields: + +* 30-day staking period: Earn 7.5% annualized interest +* 90-day staking period: Earn 12.5% annualized interest +* 365-day staking period: Earn 25% annualized interest + +Staked tokens will be locked for the duration of the staking period. After each staking period ends, you will be able to claim both your initial OGN (principal) and yield. + +OGN is currently trading on top exchanges like [Coinbase](https://www.coinbase.com/price/origin-token), [Binance](https://www.binance.com/en/register?ref=NPPYAEAE), [Huobi](https://www.huobi.com/en-us/exchange/ogn_usdt/), [Upbit](https://upbit.com/exchange?code=CRIX.UPBIT.BTC-OGN), [Bittrex Global](https://global.bittrex.com/Market/Index?MarketName=BTC-OGN), and [dozens more](https://coinmarketcap.com/currencies/origin-protocol/markets/). Visit the Origin website to [learn more about OGN](https://www.originprotocol.com/ogn-token) or check out the [OGN Dashboard](https://www.originprotocol.com/dashboard) to track important token metrics. + diff --git a/ar/governance/phases.md b/ar/governance/phases.md new file mode 100644 index 000000000..4b45be826 --- /dev/null +++ b/ar/governance/phases.md @@ -0,0 +1,6 @@ +# Phases + +Progressive decentralization will follow four phases as outlined below. + +![](../.gitbook/assets/ousd_docs_graphics_2%20%282%29.png) + diff --git a/ar/governance/principles.md b/ar/governance/principles.md new file mode 100644 index 000000000..b809ce66f --- /dev/null +++ b/ar/governance/principles.md @@ -0,0 +1,30 @@ +# Principles + +**Governance Portal** + +OGN holders are encouraged to participate in creating and voting on proposals that impact the protocol in the [OGN governance portal](https://vote.originprotocol.com). Anyone with at least 1,000 OGN in their wallet or staked in our OGN Staking contract can create a new proposal using Snapshot. All OGN holders are able to vote for proposals. Our desire is for our community to have a strong impact on the direction of Origin’s products, open-source codebase, and to have a voice in key business decisions and the overall direction of the project. + +OGN holders can also [delegate votes](vote-delegation.md) to another account. + +**Progressive Decentralization** + +OUSD is designed to be a decentralized protocol governed by many stakeholders all over the world. We believe that the holders of OUSD should collectively determine important protocol decisions as soon as possible. + +That being said, in the very early days, it is imperative that the core engineering team can act quickly and decisively to build the foundational parts of the protocol. + +Decentralization will progress across four phases rapidly over the next few months. It is our intent to relinquish control and governance to the community as soon as possible. + +![](../.gitbook/assets/ousd\_docs\_graphics\_2 (2).png) + +**Timelock** + +Prior to full decentralized governance, we will implement a [timelock](../smart-contracts/api/timelock.md) in front of all admin function calls, giving OUSD users time to withdraw their funds if they have objections to our proposed upgrades. + +**New and Existing Stakeholders** + +OUSD is a new project founded by Origin Protocol [team](https://www.originprotocol.com/team) and will be supported by the existing Origin community as well as many new stakeholders that choose to mint, hold, use, and provide liquidity for OUSD. + +In addition, we also want to ensure high participation from our existing Origin Token (OGN) holders and the millions of people in our community. Existing OGN holders are able to [stake their OGN](ogn-staking.md) to participate in governance and earn incentives for driving value to OUSD. + +The strong connection between OUSD and the rest of the Origin commerce platform will fuel growth in both initiatives. + diff --git a/ar/governance/vote-delegation.md b/ar/governance/vote-delegation.md new file mode 100644 index 000000000..9a8149d2f --- /dev/null +++ b/ar/governance/vote-delegation.md @@ -0,0 +1,18 @@ +# Vote Delegation + +OGN holders can forward their voting power on the [Governance Portal](https://vote.originprotocol.com/#/) to another Ethereum address. Choosing this option does not strip the delegator of their voting power. The delegatee receives the extra voting power only on proposals the delegator has not voted on. + +This is convenient when users want someone they trust or even one of Origin's team members to make governance decisions regarding Origin's ecosystem. It is also useful when users have OGN stored more safely in a hardware wallet and don’t want to go through the hassle of connecting it to the computer. A more accessible Ethereum wallet e.g. Metamask can be used to vote by having voting power delegated to it from the hardware wallet.\ + + +**How to Delegate** + +* Go to: [https://snapshot.org/#/delegate](https://snapshot.org/#/delegate). +* Type in the address or ENS name you want to delegate to. +* There is an option to limit the delegation power to only Origin’s products by selecting _Limit delegation to a specific space_ and typing in “origingov.eth”. +* Click confirm to save your delegation.\ + + +![](../.gitbook/assets/Screenshot 2022-03-20 at 10.47.43.png) + +After completing these steps, the OGN voting power is successfully delegated to the address specified. diff --git a/ar/guides/incentivized-harvesting-guide.md b/ar/guides/incentivized-harvesting-guide.md new file mode 100644 index 000000000..a24597e9c --- /dev/null +++ b/ar/guides/incentivized-harvesting-guide.md @@ -0,0 +1,46 @@ +# Incentivized Harvesting Guide + +The OUSD Harvester contract collects reward tokens earned by the OUSD strategies, sells them, and sends them on to increase protocol yield. **Anyone can call the harvest and earn 1% of the resulting USDT** for doing so. This creates a self-incentivizing system that operates at a known cost to the protocol. + +### When to call + +You'll want to call this contract when it is profitable to do so. You gain the 1% harvest USDT given by the contract, and spend the gas cost to send the transaction. + +The simplest way to calculate both of these is to simulate the transaction. You can then look at the resulting transfers to know the income received, and you can look at the gas amount used, the current gas prices, and the current cost of ETH, to find out the cost. + +Alternatively you can precompute the gas used for a given strategy's harvest, look up the pending reward tokens using various online services, then do your calculations without using the blockchain. + +The amount of rewards increases at a fairly steady, predictable rate. The primary variation is in gas prices, which will make a much bigger minute to minute difference on when you should call this. + +When calculating profitability, remember to account for the cost to swap back to ETH from USDT. + +### How to call + +When you call the harvest, **you will want to use some form of MEV protection**. Otherwise bots will see that your transaction is profitable, and execute it ahead of you, leaving you no gain and only gas fees. + +To harvest, you call `harvester.harvestAndSwap(strategyAddress, rewardTo)`. + +The harvester address and strategyAddresses can be found in the strategy tab of the [contract registry](../smart-contracts/registry.md). The `rewardTo` address is the account that will receive the USDT funds as a reward for calling the function - use your own address for it. + +Below is the harvestAndSwap ABI: + +``` +[{ + "inputs": [ + { + "internalType": "address", + "name": "_strategyAddr", + "type": "address" + }, + { + "internalType": "address", + "name": "_rewardTo", + "type": "address" + } + ], + "name": "harvestAndSwap", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" +}] +``` diff --git a/ar/guides/integration-guide-for-exchanges.md b/ar/guides/integration-guide-for-exchanges.md new file mode 100644 index 000000000..cda6f2cd1 --- /dev/null +++ b/ar/guides/integration-guide-for-exchanges.md @@ -0,0 +1,34 @@ +# Integration Guide For Exchanges + +Centralized exchanges will play an important role in helping us reach our goal of making OUSD ubiquitous. We are happy to help any exchange that wants to make OUSD available to its users. We believe OUSD will make a great addition to any exchange that wants to offer both a superior stablecoin and a new high-yield opportunity for their users. + +These docs are a great starting point for understanding how OUSD works. Here are some important questions for exchanges that wish to integrate OUSD to consider: + +**Do you want to participate in the yield that is generated?** + +We're assuming the answer will be yes and we highly encourage this as well! However, there may be some instances where you would prefer to move fast and list OUSD without participating in the [rebasing nature of OUSD](../core-concepts/elastic-supply/rebasing-and-smart-contracts.md) since it's the fastest and simplest integration. For exchanges that want to list OUSD, but are strapped for engineering resources, you may want to launch the non-rebasing version first while your engineers make whatever changes are necessary. To make OUSD non-rebasing you can call `rebaseOptOut()` from each EOA wallet that holds OUSD, or do nothing if you are storing OUSD on smart contracts. Non-rebasing OUSD behaves just like any other ERC-20 token. + +**Are you storing customer balances on smart contracts (ie. multi-sigs) or EOA wallets?** + +Any smart contract that is holding OUSD needs to manually opt-in to receive the yield by calling `rebaseOptIn()`. This is due to the [elastic supply](../core-concepts/elastic-supply/) and the [rebasing nature of OUSD](../core-concepts/elastic-supply/rebasing-and-smart-contracts.md). Many exchanges sweep customer funds into a multi-sig wallet for cold storage. If you do this, you'll want to make sure that you opt-in to rebasing so that you are always earning. + +**Are you caching user balances?** + +OUSD dynamically updates the value returned by the `balanceOf()` function on our ERC20 contract. Users' balances will update at unpredictable times as new yield is generated by the protocol. As long as you aren't caching this value, users will always see the correct amount of OUSD that they are holding. + +It's important to note that while OUSD is a rebasing token, user balances will only rebase in a positive direction (your balance will never go down). This makes things a lot simpler than integrating with other rebasing coins like AMPL or other algo-stables. + +**Are you comingling user funds?** + +If you are comingling funds, you'll want to be sure that each user gets their pro-rata amount of the yield that is generated by the protocol. Probably the easiest way to do this is to track each user's balance as a percentage of a pool instead of as a fixed amount. + +**Are you planning to provide liquidity?** + +The Origin team is often willing to provide a market maker and initial liquidity for exchanges that wish to integrate OUSD. There are also 9 figures worth of liquidity available on decentralized exchanges like [Curve](https://curve.fi/factory/9). + +If you are interested in using OUSD to power your own staking or earning program, you will probably want to be able to access OUSD on demand. OUSD can always be minted or redeemed using the [Origin Dollar DApp](https://www.ousd.com), or directly from the OUSD [smart contracts](../smart-contracts/registry.md). If you are planning on providing liquidity yourself, you should be aware that the exact amount of OUSD you will receive in exchange for your USDT, USDC, or DAI depends on the current exchange rates as determined by the [oracles.](../core-concepts/price-oracles.md) If you are planning on redeeming OUSD for the underlying stablecoins, you should know there is a 0.25% exit fee and OUSD will return a basket of stable coins in proportion to the backing stablecoins in the pool. We encourage exchanges to leverage existing pools of liquidity to avoid those fees. If possible, mints or redeems should be done in large batches for maximum efficiency. + +#### Do you have other questions? + +The best way to get help from both our engineering and business teams is usually on [Discord](https://www.originprotocol.com/discord). + diff --git a/ar/how-it-works.md b/ar/how-it-works.md new file mode 100644 index 000000000..061ececf6 --- /dev/null +++ b/ar/how-it-works.md @@ -0,0 +1,39 @@ +# How It Works + +#### 100% Backed and Stable + +Origin Dollar (OUSD) is an ERC-20 compliant token for the Ethereum network. + +OUSD is a stable currency that is backed 1:1 by other stablecoins like USDT, USDC and DAI. As a result, 1 OUSD should always be very close to 1 USD in value. + +{% hint style="success" %} +1 OUSD = 1 USD +{% endhint %} + +#### Buying OUSD + +Users can convert their existing stablecoins (currently USDT, USDC, and DAI) to OUSD at the official [Origin Dollar DApp](https://www.ousd.com). Received OUSD begins accruing compounding yield immediately. + +The Origin DApp will intelligently route user's transactions to give them the best available price while taking slippage and gas costs into consideration. This means that the DApp will sometimes encourage users to buy OUSD that is already in circulation versus minting fresh OUSD from the vault. The OUSD DApp will choose from multiple sources of liquidity and will suggest the option that gives the user the best possible rate. + +**Selling OUSD** + +Users can convert their OUSD back into other stablecoins at any time using the [Origin Dollar DApp](https://www.ousd.com). The Origin DApp will intelligently route user's transactions to give them the best available price while taking slippage, gas costs, and the vault's exit fee into consideration. This means that the DApp will often help users sell their OUSD on AMM's instead of redeeming OUSD with the vault and incurring the protocol's exit fee. + +A 0.25% exit fee is charged upon redemption with the vault. This fee is distributed as additional yield to the remaining participants in the vault (ie. other OUSD holders). The fee serves as a security feature to make it difficult for attackers to take advantage of lagging oracles, preventing them from siphoning stablecoins from the vault in the event of mispriced underlying assets. The fee exists to incentivize long-term holders over short-term speculators. + +Upon redemption, the vault will determine which stablecoin(s) to return to the user. In the current implementation, the vault will return coins in the same ratio as the current holdings. This lack of user optionality also protects the vault as a whole in the event that any of the supported stablecoins loses its peg to the dollar. + +{% hint style="warning" %} +Redemptions on the OUSD vault incur a **0.25% exit fee** and the user doesn't get to pick which stablecoins they receive. Users can often avoid this fee by selling to an AMM instead. +{% endhint %} + +#### A**utomated Yield Farming** + +OUSD generates yields by deploying the underlying stablecoins that were deposited to the OUSD smart contract to other DeFi protocols such as Compound, Aave, and Curve. There may be new diversified strategies added to the vault in the future. Collected interest, trading fees, and rewards tokens are pooled and converted to stablecoins to produce OUSD-denominated yields. Over time, the protocol will move assets in and out of different liquidity pools in order to provide the best yield to the holders of OUSD. + +#### **Elastic Supply** + +The generated returns are passed on to the holders of OUSD via constant rebasing of the money supply. OUSD constantly adjusts the money supply in response to the yield the protocol has generated. This allows the price of OUSD to stay pegged at $1 while the balances in token holders' wallets adjust in real-time to reflect yields that have been earned by the protocol. + +The end result is a stablecoin that is easy to spend, earns outsized yields automatically, and is more desirable to hold than existing stablecoins. diff --git a/ar/security-and-risks/asset-risk.md b/ar/security-and-risks/asset-risk.md new file mode 100644 index 000000000..92140f5ed --- /dev/null +++ b/ar/security-and-risks/asset-risk.md @@ -0,0 +1,33 @@ +# Bug Bounties + +**Bug Bounties** + +Bug bounties are granted at the full discretion of Origin Protocol. The rewards range in size from **$100** for minor issues to **$250,000** for major vulnerabilities. Currently, the bounty program only applies to OUSD and not other products from Origin. + +{% hint style="warning" %} +In order to be eligible for a bug bounty, you must follow the rules of Responsible Disclosure outlined below. +{% endhint %} + +**Responsible Disclosure** + +Security is our top priority and we've taken every effort to make sure our code is secure and works as intended. However, it's completely possible that vulnerabilities both large and small may have gone undetected. + +In case you discover a vulnerability, we would like to know about it immediately so we can take steps to address it as quickly as possible. + +If you discover a vulnerability, please do the following: + +* Report your findings to [security@originprotocol.com](mailto:security@originprotcol.com) or contact [Josh Fraser on Keybase](https://keybase.io/joshfraser) +* Do not take advantage of the vulnerability or problem you have discovered +* Do not reveal the problem to others until it has been resolved +* Do not use attacks on physical security, social engineering, distributed denial of service, spam or applications of third parties +* Do provide sufficient information to reproduce the problem, so we will be able to resolve it as quickly as possible. Complex vulnerabilities may require further explanation so we might ask you for additional information. + +In return, we promise: + +* We will respond to your report within 3 business days with our evaluation of the report and an expected resolution date +* If you have followed the instructions above, we will not take any legal action against you in regard to the report +* We will handle your report with strict confidentiality, and not pass on your personal details to third parties without your permission +* If you so wish we will keep you informed of the progress towards resolving the problem +* In the public information concerning the problem reported, we will give your name as the discoverer of the problem \(unless you desire otherwise\) +* As a token of our gratitude for your assistance, we offer a reward for every report of a security problem that was not yet known to us. The amount of the reward will be determined based on the severity of the leak, the quality of the report, and any additional assistance you provide. + diff --git a/ar/security-and-risks/audits.md b/ar/security-and-risks/audits.md new file mode 100644 index 000000000..8d5402c70 --- /dev/null +++ b/ar/security-and-risks/audits.md @@ -0,0 +1,40 @@ +# Audits + +**The OUSD Vault, ERC-20, and Overall System** + +OUSD has been audited by multiple, well-respected security firms. We have worked with [OpenZeppelin](https://openzeppelin.com), [Trail of Bits](https://www.trailofbits.com), [Solidified](https://solidified.io), and [Certora](https://www.certora.com) to audit all of the code that powers Origin Dollar. Their findings are available below: + +* [Trail of Bits, OUSD Audit, December 2020](https://github.com/OriginProtocol/security/blob/master/audits/Trail%20of%20Bits%20-%20Origin%20Dollar%20-%20Dec%202020.pdf) +* [Solidified, OUSD Audit, December 2020](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20Origin%20Dollar%20-%20Dec%202020.pdf) +* [Solidified, OGN Staking Audit, December 2020](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20OGN%20Staking%20-%20Dec%202020.pdf) +* [Certora, OUSD Formal Verification Audit, January 2021](https://www.certora.com/pubs/OriginFeb2021.pdf) +* [OpenZeppelin, OUSD Audit, August 2021](https://github.com/OriginProtocol/security/blob/master/audits/OpenZeppelin%20-%20Origin%20Dollar%20-%20October%202021.pdf) +* [Solidified, wOUSD, ERC721a, Governance, Harvester & Dripper Audit, May 2022](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20OGV%2C%20wOUSD%2C%20and%20ERC721a%20-%20May%202022.pdf) + +Both our initial and future governance tokens have been audited as well: + +* [Trail of Bits, OGN Audit, November 2018](https://github.com/OriginProtocol/security/blob/master/audits/Trail%20of%20Bits%20-%20Origin%20Marketplace%20and%20OGN%20Token%20-%20Nov%202018.pdf) +* [Solidified, OGV Audit, May 2022](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20OGV%2C%20wOUSD%2C%20and%20ERC721a%20-%20May%202022.pdf) + +In addition, the underlying strategies and dependencies that OUSD utilizes have been thoroughly audited by various firms. + +{% hint style="info" %} +OUSD only integrates strategies that have been carefully audited and battle-tested with significant capital over an extended period of time. +{% endhint %} + +**Compound Strategy and Open Price Feed** + +Compound has been audited by [Trail of Bits](https://www.trailofbits.com) and [OpenZeppelin](https://openzeppelin.com) and formally verified by [Certora](https://www.certora.com). Visit the Compound website for their [full list of audits](https://compound.finance/docs/security#audits) including the original code for the modified [Timelock](../smart-contracts/api/timelock.md) that OUSD is using. + +**Aave Strategy** + +Aave has been audited by [Trail of Bits](https://www.trailofbits.com), [OpenZeppelin](https://openzeppelin.com), [ConsenSys Diligence](https://consensys.net/diligence/), [Certik](https://certik.io), [MixBytes](https://mixbytes.io), and [PeckShield](https://peckshield.com). They have also been formally verified by [Certora](https://www.certora.com). Visit the Aave website for [their full list of audits](https://docs.aave.com/developers/security-and-audits). + +**Curve Strategy** + +Curve has been audited by [Trail of Bits](https://www.trailofbits.com) and [Quantstamp](https://quantstamp.com). Visit the Curve website for [their full list of audits](https://www.curve.fi/audits). + +**Chainlink Oracles** + +Chainlink has been audited by [Quantstamp](https://github.com/smartcontractkit/chainlink/tree/bafa91c), [SigmaPrime](https://github.com/smartcontractkit/chainlink/tree/cee356), [Callisto](https://gist.github.com/yuriy77k/c3a70d212a7f9ecda715252e45073158), and [Nick Johnson](https://github.com/smartcontractkit/chainlink/tree/5327f9). + diff --git a/ar/security-and-risks/bug-bounties.md b/ar/security-and-risks/bug-bounties.md new file mode 100644 index 000000000..d6e21196f --- /dev/null +++ b/ar/security-and-risks/bug-bounties.md @@ -0,0 +1,32 @@ +# Bug Bounties + +**Bug Bounties** + +Bug bounties are granted at the full discretion of Origin Protocol. The rewards range in size from **$100 OUSD** for minor issues to **$250,000 OUSD** for major vulnerabilities. Currently, the bounty program only applies to OUSD and not other products from Origin. + +{% hint style="warning" %} +In order to be eligible for a bug bounty, you must follow the rules of Responsible Disclosure outlined below. +{% endhint %} + +**Responsible Disclosure** + +Security is our top priority and we've taken every effort to make sure our code is secure and works as intended. However, it's completely possible that vulnerabilities both large and small may have gone undetected. + +In case you discover a vulnerability, we would like to know about it immediately so we can take steps to address it as quickly as possible. + +If you discover a vulnerability, please do the following: + +* Report your findings to [security@originprotocol.com](mailto:security@originprotocol.com) or contact [Josh Fraser on Keybase](https://keybase.io/joshfraser). Here is an example of a [well written disclosure](https://gist.github.com/DanielVF/66f459da88804d1fd917c47576c68523). +* Do not take advantage of the vulnerability or problem you have discovered +* Do not reveal the problem to others until it has been resolved +* Do not use attacks on physical security, social engineering, distributed denial of service, spam or applications of third parties +* Do provide sufficient information to reproduce the problem, so we will be able to resolve it as quickly as possible. Complex vulnerabilities may require further explanation so we might ask you for additional information. + +In return, we promise: + +* We will respond to your report within 3 business days with our evaluation of the report and an expected resolution date +* If you have followed the instructions above, we will not take any legal action against you in regard to the report +* We will handle your report with strict confidentiality, and not pass on your personal details to third parties without your permission +* If you so wish we will keep you informed of the progress towards resolving the problem +* In the public information concerning the problem reported, we will give your name as the discoverer of the problem (unless you desire otherwise) +* As a token of our gratitude for your assistance, we offer a reward for every report of a security problem that was not yet known to us. The amount of the reward will be determined based on the severity of the leak, the quality of the report, and any additional assistance you provide. diff --git a/ar/security-and-risks/contributing.md b/ar/security-and-risks/contributing.md new file mode 100644 index 000000000..6937c347d --- /dev/null +++ b/ar/security-and-risks/contributing.md @@ -0,0 +1,95 @@ +# Contributing + +**100% Open-source** + +OUSD is an entirely open-source project and we welcome contributions of all sorts. There are many ways to help, from reporting issues, contributing code, and helping us improve our community. + +We work in public and our company Discord is open to all. If you have questions or need help getting started, our Discord OUSD channels are the best place to get assistance from our team and community. + +**Developer Analytics** + +Our internal developer dashboard is available at [analytics.ousd.com](https://analytics.ousd.com). The dashboard shows the current circulating supply, the assets under management in the vault, and the current allocations between each of the stablecoins and strategies. + +#### Development Process + +Our branching strategy is similar to [GitFlow](http://nvie.com/posts/a-successful-git-branching-model/), but we do all of our development in the `master` branch and have a `stable` branch for code that has been released. + +Your development flow should look like: + +1. Find an interesting issue and communicate! Please let the `#engineering` [Discord](https://discord.gg/jyxpUSe) channel know what you want to work on. +2. Ping a [core team member](https://github.com/orgs/OriginProtocol/teams/core/members) member on Discord and ask to be added to our [contributors team](https://github.com/orgs/OriginProtocol/teams/contributors). Otherwise, you’ll need to fork the relevant repository and push feature branches to your own fork. +3. Add a comment to the issue or self-assign so we don’t have multiple contributors unintentionally working on the same task. +4. Start with the `master` branch and check out a new feature branch unless you’re contributing to an existing feature. +5. Follow the appropriate [coding style](https://docs.originprotocol.com/guides/getting_started/contributing.html#contributing-email-coding-style) and write some awesome code. +6. Pull the latest commits from `master` and confirm that your code works with any other work that has been merged since you started. +7. Push your branch to the upstream repository \(i.e. https://github.com/OriginProtocol/\[repo\]\) so that other contributors can easily work off of it if necessary. +8. Please request a review in the PR by clicking on the gear icon next to “Reviewers” in the right column. + +For critical smart contract code to be merged it must pass the following checklist: + +* Code reviewed by 2 reviewers +* Unit tests pass +* Slither tests pass with no warning +* Echidna tests pass + +The `master` branch is locked so that only members of the [core team](https://github.com/orgs/OriginProtocol/teams/core) are able to merge your pull requests. Pull requests that are peer-reviewed by other trusted contributors will be fast-tracked and merged faster! Check in the `#engineering` Discord channel for appropriate reviewers. + +#### Coding Style + +We use a variety of programming languages in our repositories. When contributing, please follow existing coding conventions and refer to the CONTRIBUTING.md file in the repository, if one exists. + +For JavaScript, we use [NPM’s style](https://docs.npmjs.com/misc/coding-style), which is automatically enforced via [prettier](https://prettier.io/). + +For Solidity, we use two-space indents. + +#### Protocol Design + +When considering protocol or implementation design proposals, we are looking for: + +* A description of the problem this design proposal solves +* Discussion of the trade-offs involved +* Review of other existing solutions +* Links to relevant literature \(RFCs, papers, etc\) +* Discussion of the proposed solution + +Please note that protocol design is hard and meticulous work. You may need to review existing literature and think through generalized use cases. + +#### Community Guidelines + +We want to keep the Origin community awesome, growing and collaborative. We need your help to keep it that way. To help with this we’ve come up with some general guidelines for the community as a whole: + +* Be nice: Be courteous, respectful and polite to fellow community members: no regional, racial, gender, or other abuse will be tolerated. We like nice people way better than mean ones! +* Encourage diversity and participation: Make everyone in our community feel welcome, regardless of their background and the extent of their contributions, and do everything possible to encourage participation in our community. +* Keep it legal: Basically, don’t get anybody in trouble. Share only content that you own, do not share private or sensitive information, and don’t break laws. +* Stay on topic: Make sure that you are posting to the correct channel and avoid off-topic discussions. Remember when you update an issue or respond to an email you are potentially sending to a large number of people. Please consider this before you update. Also remember that nobody likes spam. + +#### Reporting Issues + +If you find bugs, mistakes or inconsistencies in Origin’s code or documents, please let us know by filing a GitHub issue. No issue is too small. Help us fix our tpyos! + +#### Security Issues + +OUSD is still in early development, which means there may be problems with the protocol or in our implementations. We take security vulnerabilities very seriously. If you discover a security issue, please bring it to our attention right away! + +If you find a security vulnerability please send your report privately to [security@originprotocol.com](mailto:security@originprotocol.com) or send an encrypted message to [@joshfraser on Keybase](https://keybase.io/joshfraser). Please DO NOT file a public issue. Be sure to review our guidelines for responsible disclosure and eligibility for bug bounties. + +{% page-ref page="bug-bounties.md" %} + +#### **Community Improvement** + +Origin is just as much about community as it is about our technology. + +We need constant help in improving our documentation, building new tools to interface with our platform, spreading the word to new users, helping new users getting setup and much more. + +Please get in touch if you would like to help out. Our `general` channel on [Discord](https://www.originprotocol.com/discord) is a great place to share ideas and volunteer to help. + +#### Full-Time Positions + +Origin occasionally hires developers for part-time or full-time positions. + +We have a strong preference for hiring people who have already started contributing to the project. If you want a full time position on our team, your best shot is to engage with our team and start contributing code. It is very unlikely that we would offer you a full-time position on our engineering team unless you’ve had at least a few pull requests merged. + +If you are interested, check out [the Origin Protocol job listings](https://angel.co/originprotocol/jobs). If you’d like to help in other ways, please propose your ideas in [our Discord channel](https://www.originprotocol.com/discord). + + + diff --git a/ar/security-and-risks/insurance.md b/ar/security-and-risks/insurance.md new file mode 100644 index 000000000..f805d14f1 --- /dev/null +++ b/ar/security-and-risks/insurance.md @@ -0,0 +1,15 @@ +# Insurance + +OUSD holders can buy smart contract insurance to cover any losses that might result from any bugs or vulnerabilities in the OUSD contracts, including economic exploits (such as flash loans attacks). In addition, anyone who wants to make a financial bet on the security of our contracts can earn a yield by providing coverage. + +DeFi coverage for OUSD is currently available via[ Nexus Mutual](https://nexusmutual.io) and [InsurAce Protocol](https://www.insurace.io). These partnerships allow for more effective risk management by OUSD holders while creating new opportunities for coverage providers to profit. + +Read our [announcement post](https://medium.com/originprotocol/origin-partners-with-nexus-mutual-to-offer-defi-insurance-for-origin-dollar-ousd-6eb3432ee042) to learn how to [buy coverage](https://app.nexusmutual.io/cover/buy/get-quote?address=0xE75D77B1865Ae93c7eaa3040B038D7aA7BC02F70), [provide coverage](https://app.nexusmutual.io/staking), or [participate in shield mining campaigns](https://app.nexusmutual.io/rewards) with Nexus Mutual. You can learn more about InsurAce and how to buy coverage on their [user guide](https://docs.insurace.io/landing-page/documentation-1/user-guide) or [documentation](https://docs.insurace.io/landing-page/). + +**Nexus Mutual Coverage** + +Read our[ announcement post](https://medium.com/originprotocol/origin-partners-with-nexus-mutual-to-offer-defi-insurance-for-origin-dollar-ousd-6eb3432ee042) to learn how to[ buy coverage](https://app.nexusmutual.io/cover/buy/get-quote?address=0x0000000000000000000000000000000000000016),[ provide coverage](https://app.nexusmutual.io/staking), and[ participate in shield mining campaigns](https://app.nexusmutual.io/rewards) with Nexus Mutual. + +**InsurAce Protocol Coverage** + +Read InsurAce Protocol’s [User Guide](https://docs.insurace.io/landing-page/documentation-1/user-guide) to learn how to [buy coverage](https://docs.insurace.io/landing-page/documentation-1/user-guide/dashboard) and participate in [underwriting mining](https://docs.insurace.io/landing-page/documentation-1/user-guide/how-to-stake) for OUSD. diff --git a/ar/security-and-risks/risks.md b/ar/security-and-risks/risks.md new file mode 100644 index 000000000..64dc13dc0 --- /dev/null +++ b/ar/security-and-risks/risks.md @@ -0,0 +1,44 @@ +# Risks + +{% hint style="danger" %} +Use at your own risk. Do not deploy more capital than you are willing to lose. +{% endhint %} + +As with any yield-generating DeFi product, there are associated risks with holding OUSD that are important to understand. These risks can be broadly classified into 3 categories: + +* OUSD smart contract risk +* Underlying third-party platform risk +* Underlying stablecoin risk + +**OUSD smart contract risk** + +Our smart contracts have been [audited](audits.md) by multiple, well-respected security firms. However, it is important to note that even with formal audits, it is still possible for there to be logic errors that could lead to the loss of funds for OUSD holders. The contracts involve complex math and logic. While we have taken every precaution to ensure the safety and security of our smart contracts, users are reminded to use at their own risk. Origin Protocol will not be held responsible for any loss of funds, regardless of who is at fault. + +**Third-party platform risk** + +OUSD is built on top of other DeFi platforms like Aave, Compound, and Curve that add additional smart contract risk. We are choosing to work with platforms that have literally billions of dollars of assets under management and have made a reasonable efforts to ensure the security of their protocols. However, there are no guarantees that the underlying third-party platforms will continue to work as intended, and any failure in an underlying strategy would potentially lead to a loss of funds for OUSD holders. + +**Stablecoin risks** + +It is important to understand that OUSD is only as strong as the stablecoins that are backing it. Any loss of value to an underlying stablecoin asset will cause a similar loss to the value of OUSD. While OUSD is designed to maintain a 1:1 relationship between supply and number of backing stablecoins, it does not guarantee which stablecoins will make up that backing nor the value of those coins. + +It is important to note that each of the supported stablecoins introduces non-trivial counter-party risk. Tether, in particular, has had well-documented banking troubles and regulatory challenges. In addition, both USDT and USDC have backdoors that grant their issuers the power to freeze money in their holder's wallets. While DAI does not have any direct backdoors, its assets can also be negatively impacted since USDC and USDT are accepted as collateral for minting DAI. + +**Risk mitigation** + +While it's impossible to guarantee our contracts are 100% safe, we have taken every step possible to mitigate the chance of losing funds: + +We regularly have our work [audited ](audits.md)by the top auditors in the industry. + +[DeFi insurance](insurance.md) is availble to offer smart contract coverage as an optional add-on service for OUSD holders. + +We have retained [Certora](https://www.certora.com) to formally verify the various security properties of our contracts. They helped us establish automated verifications that will run anytime we update our contract code. We have automated checking for common errors with [Slither](https://github.com/crytic/slither) and [Echidna](https://github.com/crytic/echidna) tests. Together, these alert our team to common security issues in addition to our own test suite. + +Code reviews involving our smart contracts are incredibly rigorous. We require at least two engineers to review each change with a detailed checklist and we prioritize security reviews over new feature development. + +Finally, we have formalized an engineering [rotation](https://github.com/OriginProtocol/security/blob/master/incidents/ROTATION.md) for reviewing [attacks on other projects](https://github.com/OriginProtocol/security/tree/master/incidents) as well as ensuring we deep dive into each of these reviews, including reviewing the affected contracts' source code ourselves. We've observed that attackers often exploit the same fundamental vulnerability on multiple different projects. By reviewing other project's vulnerabilities, we force ourselves to stay up to date on the latest security threats in our industry and are constantly learning from their mistakes. + +**Actions speak louder than words** + +You should also know that many members of the Origin team, including both founders, are holding a significant portion of their personal wealth in OUSD. Origin Protocol's corporate treasury is also holding millions of dollars in OUSD. We have skin in the game and are willing to put our own money at risk with the code we have written. + diff --git a/ar/security-and-risks/untitled.md b/ar/security-and-risks/untitled.md new file mode 100644 index 000000000..21b692090 --- /dev/null +++ b/ar/security-and-risks/untitled.md @@ -0,0 +1,20 @@ +# Audits + +{% hint style="danger" %} +The OUSD smart contracts have not yet been audited. We strongly recommend reviewing our smart contracts before depositing significant amounts of capital. +{% endhint %} + +**OUSD** + +Audits have already been scheduled with the respected security firm, [Trail of Bits](https://www.trailofbits.com/), for early October 2020. Their audit results will be publicly released as soon as they are available. + +**Supported Strategies** + +Multiple audits for Compound have already been completed and are available on their website. This includes the original code for the modified [Timelock](../smart-contracts/api/timelock-1.md) that OUSD is using. + +{% page-ref page="untitled.md" %} + + + + + diff --git a/ar/smart-contracts/api/README.md b/ar/smart-contracts/api/README.md new file mode 100644 index 000000000..ff400f20f --- /dev/null +++ b/ar/smart-contracts/api/README.md @@ -0,0 +1,9 @@ +# API + +Documentation of contracts API used by the protocol: + +* [Vault](vault.md) +* [ERC-20](erc-20-1.md) +* [Timelock](timelock.md) +* [Stategies](strategies.md) + diff --git a/ar/smart-contracts/api/erc-20-1.md b/ar/smart-contracts/api/erc-20-1.md new file mode 100644 index 000000000..164343cc0 --- /dev/null +++ b/ar/smart-contracts/api/erc-20-1.md @@ -0,0 +1,16 @@ +# ERC-20 + +{% hint style="success" %} +The main ERC20 address for Origin Dollar (OUSD) is: \ **0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +OUSD is an ERC-20 compliant token with one novel property (elastic supply) that is important to understand. + +{% hint style="warning" %} +Wallets and exchanges that wish to integrate OUSD should not cache token balances for OUSD as this value will change frequently as yield is accrued to token holders. +{% endhint %} + +The biggest difference separating OUSD from your average ERC-20 token is the way OUSD's`balanceOf()` function will return a variable amount based on the total value of the vault multiplied by the holder's stake in the vault. This difference is vital to understand, particularly for wallets and exchanges that wish to integrate the OUSD token. This value should be fetched in real-time instead of being cached since OUSD rebases frequently. + + + diff --git a/ar/smart-contracts/api/oracle.md b/ar/smart-contracts/api/oracle.md new file mode 100644 index 000000000..362749de7 --- /dev/null +++ b/ar/smart-contracts/api/oracle.md @@ -0,0 +1,7 @@ +# Oracles + +{% hint style="info" %} +Documentation coming soon. +{% endhint %} + +OUSD uses Chainlink [oracles](../../core-concepts/price-oracles.md) to secure the protocol from pricing attacks. You can [read more about our decision to work with Chainlink](https://blog.originprotocol.com/how-origin-uses-chainlink-oracles-to-secure-ousd-bff5601e840e) on the Origin blog. diff --git a/ar/smart-contracts/api/ousd.md b/ar/smart-contracts/api/ousd.md new file mode 100644 index 000000000..8d6981144 --- /dev/null +++ b/ar/smart-contracts/api/ousd.md @@ -0,0 +1,8 @@ +# OUSD + +{% hint style="info" %} +Documentation coming soon. +{% endhint %} + + + diff --git a/ar/smart-contracts/api/strategies.md b/ar/smart-contracts/api/strategies.md new file mode 100644 index 000000000..a275b76e6 --- /dev/null +++ b/ar/smart-contracts/api/strategies.md @@ -0,0 +1,14 @@ +# Strategies + +{% hint style="info" %} +Documentation coming soon. +{% endhint %} + +New strategies can be added or removed at any time to respond to new market realities and diversify risk. + +Once we migrate to decentralized governance, it is our intent for the community to propose new strategies and to vote on the appropriate weight for each strategy in the pool. We anticipate that most OUSD holders will value having some exposure to higher yield opportunities while maintaining more conservative positions for a portion of the funds. + + + + + diff --git a/ar/smart-contracts/api/timelock-1.md b/ar/smart-contracts/api/timelock-1.md new file mode 100644 index 000000000..88954aca7 --- /dev/null +++ b/ar/smart-contracts/api/timelock-1.md @@ -0,0 +1,22 @@ +# Timelock + +{% hint style="danger" %} +The timelock will be added soon after everything is verified as working. Until then, the contracts will be governed by Origin's 5 of 8 multi-sig. This allows for a faster response if any critical issues are discovered. +{% endhint %} + +The timelock contract enforces a 48 hour wait period before any changes to the OUSD contracts can be executed. The timelock can be called by our multi-sig and is the owner of our [ERC-20](../architecture.md), [Vault](vault.md), and [Strategies](strategies.md) contracts. Time-delaying admin actions gives users a chance to exit OUSD if its admins become malicious, are compromised, or make a change that the users do not like. + +{% hint style="info" %} +The timelock is a safety measure that gives OUSD holders 48 hours to withdraw their funds if they have objections to any proposed upgrades to the protocol. +{% endhint %} + +OUSD is using a slightly modified version of the [Compound Timelock](https://compound.finance/docs/governance) which has been [audited by OpenZeppelin](https://blog.openzeppelin.com/compound-finance-patch-audit/). The 3 notable differences are: + +1. OUSD will initially use a shorter wait period \(48 hours\) than Compound \(72 hours\) to allow for a faster response if any issues are discovered. +2. Once the 48 hours have passed, anyone is free to execute the call, not just the owner of the contract. +3. Deposits \(but not withdrawals or transfers\) can be immediately frozen without requiring the 48 waiting period. This is in case a major vulnerability is discovered. + + + + + diff --git a/ar/smart-contracts/api/timelock.md b/ar/smart-contracts/api/timelock.md new file mode 100644 index 000000000..2273ddad7 --- /dev/null +++ b/ar/smart-contracts/api/timelock.md @@ -0,0 +1,15 @@ +# Timelock + +The timelock contract enforces a 48 hour wait period before any changes to the OUSD contracts can be executed. The timelock can be called by our multi-sig and is the owner of our [ERC-20](../architecture.md), [Vault](vault.md), and [Strategies](strategies.md) contracts. Time-delaying admin actions gives users a chance to exit OUSD if its admins become malicious, are compromised, or make a change that the users do not like. + +{% hint style="info" %} +The timelock is a safety measure that gives OUSD holders 48 hours to withdraw their funds if they have objections to any proposed upgrades to the protocol. +{% endhint %} + +OUSD is using a slightly modified version of the [Compound Timelock](https://compound.finance/docs/governance) which has been [audited by OpenZeppelin](https://blog.openzeppelin.com/compound-finance-patch-audit/). The two notable differences are: + +1. OUSD will initially use a shorter wait period (48 hours) than Compound (72 hours) to allow for a faster response if any issues are discovered. +2. Some actions, such as reallocating funds between existing strategies and freezing deposits can be called immediately by a multisig wallet without requiring the 48 waiting period. This is in case a major vulnerability is discovered. + + + diff --git a/ar/smart-contracts/api/vault.md b/ar/smart-contracts/api/vault.md new file mode 100644 index 000000000..13a7a8601 --- /dev/null +++ b/ar/smart-contracts/api/vault.md @@ -0,0 +1,184 @@ +--- +description: >- + The vault is the main contract of the protocol. The vault is responsible for minting/redeeming OUSD tokens, rebalancing funds between the various supported strategies, and liquidating rewards tokens. +--- + +# Vault + +## Units + +All OUSD amounts passed or returned by the Vault methods use 18 decimal places. For example, 1 OUSD is expressed as 1000000000000000000. + +For other stable coins, the number of decimal places varies. DAI uses 18 decimal places while USDC and USDT use only 6. + +The protocol was updated in November are [currently underway](https://github.com/OriginProtocol/origin-dollar/issues/590) to increase the resolution of rebasing calculations from 18 decimals to 27 decimals. The OUSD token itself will still retain 18 decimals of precision and user balances should not change. + +## Methods‌ + +### mint() + +**`function mint(address _asset, uint256 _amount, uint256 _minimumOusdAmount)`**‌ + +Mints OUSD in exchange for a deposit of a certain `_amount` of stablecoin specified by the `_asset` parameter. The caller receives a certain amount of OUSD depending on the **exchange rate**. + +| Parameter Name | Type | Description | +| --------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | +| \_asset | address | Address of the [supported](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/core-concepts/supported-assets) stablecoin | +| \_amount | uint256 | Amount deposited, expressed in decimal units | +| \_minimumOusdAmount | uint256 | Minimum amount of OUSD the caller is willing to receive. The call to mint() reverts if the minimum is not met. | + +### mintMultiple() + +**`function mintMultiple(address[] _assets, uint256[] _amounts, uint256 _minimumOusdAmount)`**‌ + +Mints OUSD in exchange for a deposit of multiple stablecoins in a single call. Stablecoins are specified by the `_assets` array parameter and the amounts by the `_amounts` array parameter. The caller receives a certain amount of OUSD depending on the **exchange rate**. + +| Parameter Name | Type | Description | +| --------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| \_assets | address\[] | Addresses of the [supported](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/core-concepts/supported-assets) stablecoins | +| \_amounts | uint256\[] | Amounts deposited, expressed in decimal units | +| \_minimumOusdAmount | uint256 | Minimum amount of OUSD the caller is willing to receive. The call to mint() reverts if the minimum is not met. | + +{% hint style="warning" %} +On redemptions, it is the protocol and not the user that decides which stablecoin(s) are returned to the user. This decision of which coin(s) to return is based on the internal ratios of the assets that are being held in the vault.‌ +{% endhint %} + +### redeem() + +**`function redeem(uint256 _amount)`**‌ + +OUSD specified by the `_amount` parameter is redeemed in exchange for one or multiple supported stablecoins. Amount of stablecoins received depends on the **exchange rate**. + +| Parameter Name | Type | Description | +| -------------- | ------- | ----------------------------------------- | +| \_amount | uint256 | amount of OUSD expressed in decimal units | + +### redeemAll()‌ + +**`function redeemAll()`**‌ + +All OUSD in user's possession is redeemed in exchange for one or multiple supported stablecoins. Amount of stablecoins received depends on the **exchange rate**. + +### rebase() + +**`function rebase()`**‌ + +Updates the balances for all users based on the value of the assets currently stored in the vault. Returns total value of the underlying assets and strategies represented by `uint256` type.‌ + +### allocate() + +**`function allocate()`**‌ + +Moves the assets under management into their prescribed [Stategies](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/architecture/strategies) to maximize yield and diversify risk.‌ + +### totalValue() + +**`function totalValue()`**‌ + +Returns total value of underlying assets and strategies. + +| `return` name | Type | Description | +| ------------- | ------- | ------------------------------------------------ | +| value | uint256 | total value of underlying assets and strategies. | + +### checkBalance() + +**`function checkBalance(address _asset)`**‌ + +Returns the balance of an asset specified by the`_asset` parameter held in Vault and all strategies represented by `uint256` type. + +| Parameter Name | Type | Description | +| -------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | +| \_asset | address | Address of the [supported](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/core-concepts/supported-assets) stablecoin | + +### calculateRedeemOutputs() + +**`function calculateRedeemOutputs(uint256 _amount)`**‌ + +Calculate the mix of stablecoins that a `redeem` function would return when redeeming certain amount of OUSD specified by the `_amount` parameter. Returns an array of stablecoin values. + +To attribute the stablecoin values to the correct stablecoin currency this call should be used in conjunction with `getAllAssets` function that returns an array of stablecoin addresses. + +The index of an array that is returned by the `calculateRedeemOutputs` corresponds to the stablecoin address with the same index in an array returned by the `getAllAssets` function. + +| Parameter Name | Type | Description | +| -------------- | ------- | ----------------------------------------- | +| \_amount | uint256 | amount of OUSD expressed in decimal units | + +| `return` name | Type | Description | +| ------------- | ----------- | --------------------------------------------------------------------------- | +| outputs | uint256\[] | array of the amount of the stablecoin assets `redeem` function would return | + +### getAssetCount() + +**`function getAssetCount()`**‌ + +Return the number of supported stablecoin assets represented by `uint256` type.‌ + +### getAllAssets() + +**`function getAllAssets()`**‌ + +Return all assets addresses of supported stablecoin assets in order represented by `uint256` type.‌ + +### getStrategyCount()‌ + +**`function getStrategyCount()`**‌ + +Return the number of strategies active on the Vault represented by `uint256` type.‌ + +### getAPR() + +**`function getAPR()`**‌ + +Return the total annual percentage yield (APR) of the Vault and all Strategies represented by `uint256` type. Resulting number has 18 decimal places.‌ + +### isSupportedAsset() + +**`function isSupportedAsset(address _asset)`**‌ + +Return the boolean that is true if the asset specified by the `_asset` parameter is supported by the Vault. + +| Parameter Name | Type | Description | +| -------------- | ------- | ------------------------- | +| \_asset | address | Address of the stablecoin | + +### priceUSDMint() + +**`function priceUSDMint(string symbol)`**‌‌ + +Returns the exchange rate price of a stable coin specified by the `symbol` parameters used when minting OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Parameter Name | Type | Description | +| -------------- | ------ | ------------------------ | +| symbol | string | Symbol of the stablecoin | + +### priceUSDRedeem() + +**`function priceUSDRedeem(string symbol)`**‌‌ + +Returns the exchange rate price of a stable coin specified by the `symbol` parameters used when redeeming OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Parameter Name | Type | Description | +| -------------- | ------ | ------------------------ | +| symbol | string | Symbol of the stablecoin | + +### priceAssetUSDMint()‌ + +**`function priceAssetUSDMint(address _asset)`**‌‌ + +Returns the exchange rate price of a stable coin specified by the `_asset` parameters used when minting OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Parameter Name | Type | Description | +| -------------- | ------- | -------------------------- | +| \_asset | address | Address of the stablecoin‌ | + +### priceAssetUSDRedeem()‌ + +**`function priceAssetUSDRedeem(address _asset)`**‌‌‌ + +Returns the exchange rate price of a stable coin specified by the `_asset` parameters used when redeeming OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Parameter Name | Type | Description | +| -------------- | ------- | ------------------------- | +| \_asset | address | Address of the stablecoin | diff --git a/ar/smart-contracts/architecture.md b/ar/smart-contracts/architecture.md new file mode 100644 index 000000000..f53eacf24 --- /dev/null +++ b/ar/smart-contracts/architecture.md @@ -0,0 +1,18 @@ +# Architecture + +![](../.gitbook/assets/ousd\_docs\_graphics\_3.png) + +OUSD is made up of a series of smart contracts. Each of these contracts is wrapped in a proxy contract that can be upgraded via the governance protocols. + +Internally, ownership in the vault is tracked using a credits system that represents the percent ownership of the vault for each holder. The [ERC-20](api/erc-20-1.md) contract handles the conversion to USD terms when viewing a balance or initiating a transfer between wallets. + +The [Vault](api/vault.md) is responsible for minting and burning OUSD. It also enforces the percentage of assets that are deployed to each of the supported [Strategies](../core-concepts/supported-strategies/). To optimize gas costs, the vault may maintain a buffer to allow most deposits and redemptions to occur without winding/unwinding assets from strategies. + +The Flipper is a smart contract for users to swap in and out of OUSD cheaply for any of DAI, USDC, or USDT at a fixed 1:1 rate. This contract is used as an alternative way to route user transactions originating from the web app. It's important to note that this contract may be empty on one side (e.g., contain 0 OUSD balance), and thus sometimes provides limited swap routes. While limited in functionality, Flipper uses around 45% less gas than Uniswap v3 due to its simplicity. + +The Harvester contract collects reward tokens earned by the strategies, sells them, and sends the resulting stablecoins to the Dripper to be released to the vault. Anyone can call the harvest and earn 1% of the resulting USDT for doing so. This creates a self-incentivizing system that operates at a known fixed cost. See our [incentivized-harvesting-guide.md](../guides/incentivized-harvesting-guide.md "mention") for details. + +The Dripper contract buffers aproximately one week of reward token sales proceeds and makes it avaiable at a smooth rate to the vault. This keeps OUSD yield from being extremely spiky when harvests come in. The rate is recalculated at least once per day and is the rate that it would take to distribute the current dripper holdings out over a one week period. + + + diff --git a/ar/smart-contracts/erc-20.md b/ar/smart-contracts/erc-20.md new file mode 100644 index 000000000..c3a21d407 --- /dev/null +++ b/ar/smart-contracts/erc-20.md @@ -0,0 +1,12 @@ +# Architecture + +![](../.gitbook/assets/ousd_docs_graphics_3.png) + +OUSD is made up of a series of smart contracts. Each of these contracts is wrapped in a proxy contract that can be upgraded via the governance protocols. + +Internally, ownership in the pool is tracked using a credits system that represents the percent ownership of the pool for each holder. The [ERC-20](api/erc-20-1.md) contract handles the conversion to USD terms when viewing a balance or initiating a transfer between wallets. + +The [Vault](api/vault.md) is responsible for minting and burning OUSD. It also enforces the percentage of assets that are deployed to each of the supported [Strategies](../core-concepts/supported-strategies/). To optimize gas costs, the vault maintains a buffer to allow most deposits and redemptions to occur without winding/unwinding assets from strategies. + + + diff --git a/ar/smart-contracts/registry.md b/ar/smart-contracts/registry.md new file mode 100644 index 000000000..f2d45b7dd --- /dev/null +++ b/ar/smart-contracts/registry.md @@ -0,0 +1,156 @@ +# Registry + +Here is the full registry of OUSD smart contracts that have been deployed to the Ethereum mainnet. + +{% hint style="success" %} +The main ERC20 address for Origin Dollar (OUSD) is: \ +**0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +{% tabs %} +{% tab title="Core" %} +Well-known addresses (proxy wrappers): + + + +| Contract | Address | ENS | +| -------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------- | +| OUSD | [0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86](https://etherscan.io/address/0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86) |

ousd.eth

origindollar.eth

| +| Vault | [0xE75D77B1865Ae93c7eaa3040B038D7aA7BC02F70](https://etherscan.io/address/0xe75d77b1865ae93c7eaa3040b038d7aa7bc02f70) | [originvault.eth](https://etherscan.io/address/originvault.eth) | + + + +Internal implementation contracts. The Vault is split into VaultAdmin and VaultCore to work around the maximum contract size limit on Ethereum: + + + +| Contract | Address | +| ---------- | --------------------------------------------------------------------------------------------------------------------- | +| OUSD | [0x33db8d52d65F75E4cdDA1b02463760c9561A2aa1](https://etherscan.io/address/0x33db8d52d65F75E4cdDA1b02463760c9561A2aa1) | +| VaultAdmin | [0x3EB68D8f4992A0e34aA58cc3dF86A40814078cF6](https://etherscan.io/address/0x3EB68D8f4992A0e34aA58cc3dF86A40814078cF6) | +| VaultCore | [0x226de75867B2f785BA19600e2a7e6eFccD57157B](https://etherscan.io/address/0x226de75867B2f785BA19600e2a7e6eFccD57157B) | +{% endtab %} + +{% tab title="Strategies" %} +Well-known addresses (proxy wrappers): + + + +| Strategy | Address | Auto-Allocation | +| -------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------- | +| Aave | [0x5e3646A1Db86993f73E6b74A57D8640B69F7e259](https://etherscan.io/address/0x5e3646A1Db86993f73E6b74A57D8640B69F7e259) | Manual allocation | +| Compound | [0x9c459eeb3FA179a40329b81C1635525e9A0Ef094](https://etherscan.io/address/0x9c459eeb3FA179a40329b81C1635525e9A0Ef094) | 100% of USDC, USDT and DAI | +| Convex | [0xEA2Ef2e2E5A749D4A66b41Db9aD85a38Aa264cb3](https://etherscan.io/address/0xEA2Ef2e2E5A749D4A66b41Db9aD85a38Aa264cb3#code) | Manual allocation | + + + +Internal implementation contracts: + + + +| Strategy | Address | +| -------- | -------------------------------------------------------------------------------------------------------------------------- | +| Aave | [0xA050eBE34Be464902F7E0F7F451f4B5253d57114](https://etherscan.io/address/0xA050eBE34Be464902F7E0F7F451f4B5253d57114) | +| Compound | [0x47f3eb71b5507df5ab6ac7f8660ef282ab0e560f](https://etherscan.io/address/0x47f3eb71b5507dF5Ab6aC7F8660Ef282Ab0E560f) | +| Convex | [0x08f3a0637851aA1B0E0750aA3d46E0E356f349aC](https://etherscan.io/address/0x08f3a0637851aa1b0e0750aa3d46e0e356f349ac#code) | + + + +Yield harvesting and collection: + + + +| | | +| --------- | -------------------------------------------------------------------------------------------------------------------------- | +| Contract | Address | +| Harvester | [0x21fb5812d70b3396880d30e90d9e5c1202266c89](https://etherscan.io/address/0x21fb5812d70b3396880d30e90d9e5c1202266c89#code) | +| Dripper | [0x80c898ae5e56f888365e235ceb8cea3eb726cb58](https://etherscan.io/address/0x80c898ae5e56f888365e235ceb8cea3eb726cb58#code) | +{% endtab %} + +{% tab title="Oracles" %} +The following Chainlink oracles are used to protect the vault in case a backing stablecoin loses value. They also offer slippage protection when harvesting rewards tokens or executing the OGN buyback. + + + +| Pair | Contract | +| ------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| [USDT/USD](https://data.chain.link/ethereum/mainnet/stablecoins/usdt-usd) | [0x3E7d1eAB13ad0104d2750B8863b489D65364e32D](https://etherscan.io/address/0x3E7d1eAB13ad0104d2750B8863b489D65364e32D) | +| [USDC/USD](https://data.chain.link/ethereum/mainnet/stablecoins/usdc-usd) | [0x8fFfFfd4AfB6115b954Bd326cbe7B4BA576818f6](https://etherscan.io/address/0x8fFfFfd4AfB6115b954Bd326cbe7B4BA576818f6) | +| [DAI/USD](https://data.chain.link/ethereum/mainnet/stablecoins/dai-usd) | [0xAed0c38402a5d19df6E4c03F4E2DceD6e29c1ee9](https://etherscan.io/address/0xAed0c38402a5d19df6E4c03F4E2DceD6e29c1ee9) | +| [COMP/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/comp-usd) | [0xdbd020caef83efd542f4de03e3cf0c28a4428bd5](https://etherscan.io/address/0xdbd020caef83efd542f4de03e3cf0c28a4428bd5) | +| [AAVE/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/aave-usd) | [0x547a514d5e3769680Ce22B2361c10Ea13619e8a9](https://etherscan.io/address/0x547a514d5e3769680Ce22B2361c10Ea13619e8a9) | +| [CRV/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/crv-usd) | [0xcd627aa160a6fa45eb793d19ef54f5062f20f33f](https://etherscan.io/address/0xcd627aa160a6fa45eb793d19ef54f5062f20f33f) | +| [CVX/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/cvx-usd) | [0xd962fC30A72A84cE50161031391756Bf2876Af5D](https://etherscan.io/address/0xd962fC30A72A84cE50161031391756Bf2876Af5D) | +| [OGN/ETH](https://data.chain.link/ethereum/mainnet/crypto-eth/ogn-eth) | [0x2c881b6f3f6b5ff6c975813f87a4dad0b241c15b](https://etherscan.io/address/0x2c881b6f3f6b5ff6c975813f87a4dad0b241c15b) | +{% endtab %} + +{% tab title="Governance" %} + + +| Contract | Address | ENS | +| ------------------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------- | +| 5 of 8 Multisig | [0xbe2AB3d3d8F6a32b96414ebbd865dBD276d3d899](https://etherscan.io/address/0xbe2AB3d3d8F6a32b96414ebbd865dBD276d3d899) | [originprotocol.eth](https://etherscan.io/address/originprotocol.eth) | +| 2 of 9 Multisig | [0xF14BBdf064E3F67f51cd9BD646aE3716aD938FDC](https://etherscan.io/address/0xF14BBdf064E3F67f51cd9BD646aE3716aD938FDC) | [originstrategist.eth](https://etherscan.io/address/originstrategist.eth) | +| Governor / Timelock | [0x72426BA137DEC62657306b12B1E869d43FeC6eC7](https://etherscan.io/address/0x72426BA137DEC62657306b12B1E869d43FeC6eC7) |

origingovernor.eth

origintimelock.eth

| +| OGN Buyback | [0x77314EB392b2be47C014cde0706908b3307Ad6a9](https://etherscan.io/address/0x77314EB392b2be47C014cde0706908b3307Ad6a9) | [originbuyback.eth](https://etherscan.io/address/originbuyback.eth) | +{% endtab %} + +{% tab title="Stablecoins" %} +| Contract | Address | +| ------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| [USDT](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | [0xdac17f958d2ee523a2206206994597c13d831ec7](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | +| [USDC](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | [0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | +| [DAI](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | [0x6b175474e89094c44da98b954eedeac495271d0f](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | +{% endtab %} + +{% tab title="Staking" %} +| Contract | Address | ENS | +| ----------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- | +| OGN Staking | [0x501804B374EF06fa9C427476147ac09F1551B9A0](https://etherscan.io/address/0x501804B374EF06fa9C427476147ac09F1551B9A0) | [originstaking.eth](https://etherscan.io/address/originstaking.eth) | + + + +Internal implementation contracts: + + + +| Contract | Address | +| ----------- | --------------------------------------------------------------------------------------------------------------------- | +| OGN Staking | [0x8cd68a1e0b79150455c5498882d5d5d3df2dde08](https://etherscan.io/address/0x8cd68a1e0b79150455c5498882d5d5d3df2dde08) | + + + +OUSD compensation contract ([details](https://medium.com/originprotocol/origin-delivers-on-compensation-promise-claim-your-ousd-and-ogn-now-a9fa9b840476)): + + + +| Contract | Address | +| ----------------- | --------------------------------------------------------------------------------------------------------------------- | +| OUSD Compensation | [0x9C94df9d594BA1eb94430C006c269C314B1A8281](https://etherscan.io/address/0x9C94df9d594BA1eb94430C006c269C314B1A8281) | +{% endtab %} + +{% tab title="Flipper" %} +Flipper is a gas-optimized way for users to swap in and out of OUSD at a fixed 1:1 rate with other stablecoins. This contract may become empty on one side (e.g., contain 0 OUSD balance), and thus sometimes provides limited swap routes. + + + +| Contract | Address | ENS | +| -------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- | +| Flipper | [0xcecaD69d7D4Ed6D52eFcFA028aF8732F27e08F70](https://etherscan.io/address/0xcecaD69d7D4Ed6D52eFcFA028aF8732F27e08F70) | [originflipper.eth](https://etherscan.io/address/originflipper.eth) | +{% endtab %} + +{% tab title="Wrapped" %} +Wrapped OUSD\ +\ **Well known proxy address:** - [0xD2af830E8CBdFed6CC11Bab697bB25496ed6FA62](https://etherscan.io/address/0xD2af830E8CBdFed6CC11Bab697bB25496ed6FA62) + +Internal implementation address - [0xbf3b9b141cb3629f5bb8f721cba9265c92494539](https://etherscan.io/address/0xbf3b9b141cb3629f5bb8f721cba9265c92494539) +{% endtab %} +{% endtabs %} + + + + + + + + diff --git a/de/README.md b/de/README.md new file mode 100644 index 000000000..7c08388ed --- /dev/null +++ b/de/README.md @@ -0,0 +1,29 @@ +--- +description: The first stablecoin that earns a yield while it's still in your wallet +--- + +# Introduction + +## **A Better Form of Money** + +Origin Dollar (OUSD) is a new stablecoin that was initially launched in September 2020 on the Ethereum network. Its design is superior to existing stablecoins because OUSD captures competitive yields while being passively held in wallets. + +![](.gitbook/assets/origin-dollar-summary.jpeg) + +**Background** + +In 1999, Yu Pan, Origin’s R\&D engineer, and his fellow PayPal co-founders [conceived](https://www.cnbc.com/2017/08/14/david-sacks-cryptocurrency-interview.html) of creating “the new world currency”, complete with interest yielding strategies and debit cards without having to connect to traditional banking systems. Several pivots and an eBay acquisition later, PayPal dropped its ambitions in this area. + +Almost two decades later, Tether introduced the concept of a USD-denominated stablecoin in 2014. Since then, stablecoins have proven themselves as an ideal way of transferring value without exposing users to the price volatility of free-floating currencies. Today, more value is [transferred via Tether](https://www.bloomberg.com/news/articles/2019-10-01/tether-not-bitcoin-likely-the-world-s-most-used-cryptocurrency) than with Bitcoin. Meanwhile, Decentralized Finance (DeFi) has experienced an explosion of growth with [billions of dollars](https://defipulse.com) of capital now locked up in smart contracts that generate yields from lending and trading protocols. + +One of the problems with existing stablecoins is that users have to constantly choose between holding an easily spendable coin and earning yields by locking their tokens up in smart contracts. For example, users that lock up USDC in Aave cannot spend a portion of that USDC simultaneously. Expensive Ethereum gas fees serve as "switching costs" each time those users want to switch between spending mode and earning mode. + +To make matters worse, yields from lending and trading activities change rapidly. Sophisticated DeFi yield earners are familiar with constantly having to rebalance their portfolio of assets across many competing platforms. This is time-consuming and expensive as gas fees once again eat into yields. In addition, it is time-consuming to calculate real ROI as APYs are unstable and constantly fluctuating. There isn't an easy unit of account. As a result, while DeFi is growing extremely rapidly, it still makes it difficult for many cryptocurrency users to participate. + +With OUSD, there’s no need to unwind complicated positions when you want to spend your OUSD. You can transfer it freely without having to pay gas to unlock spendable capital. In addition, OUSD gives you access to some of the highest-earning opportunities across DeFi with none of the hassles. The OUSD smart contract will deploy your underlying capital to a diversified set of yield-earning strategies, rebalancing over time to achieve great yields while diversifying risk. Earnings automatically accrue in your wallet and compound continuously while you hold OUSD. Again, no staking or lockups are required. OUSD also serves as an ideal unit of account. DeFi investors no longer need complicated spreadsheets to calculate their earnings as they can easily see their constantly updated OUSD balances in real-time as their interest compounds automatically. OUSD is an ideal stablecoin for DeFi yield farmers and novice cryptocurrency users alike. + +Created by cryptocurrency and fintech veterans, the Origin Dollar is brought to you by the [team](https://www.originprotocol.com/team) at [Origin Protocol](https://www.originprotocol.com) that includes serial entrepreneurs, early cryptocurrency investors, early employees at YouTube, engineering managers at Google/Dropbox, and one of the Paypal co-founders, Yu Pan. + +For those interested in diving into the technical details of how it works, these docs are a great place to start. We encourage developers to audit and contribute to our [Github](http://www.github.com/OriginProtocol) (100% open-source). Our team hangs out in [Discord](https://www.originprotocol.com/discord) if you have questions or need help getting started. + +Welcome to the future of money. diff --git a/de/SUMMARY.md b/de/SUMMARY.md new file mode 100644 index 000000000..a389e6c18 --- /dev/null +++ b/de/SUMMARY.md @@ -0,0 +1,64 @@ +# Table of contents + +* [Introducing OUSD](README.md) +* [How It Works](how-it-works.md) +* [Getting Started](getting-started.md) +* [Analytics Dashboard](analytics-dashboard.md) +* [FAQ](faq.md) + +## Core Concepts + +* [Elastic Supply](core-concepts/elastic-supply/README.md) + * [Rebasing & Smart Contracts](core-concepts/elastic-supply/rebasing-and-smart-contracts.md) +* [Yield Generation](core-concepts/yield-generation/README.md) + * [Lending](core-concepts/yield-generation/lending.md) + * [Market Making](core-concepts/yield-generation/market-making.md) + * [Rewards](core-concepts/yield-generation/rewards.md) +* [Wrapped OUSD](core-concepts/wrapped-ousd.md) +* [Supported Stablecoins](core-concepts/supported-stablecoins/README.md) + * [USDT](core-concepts/supported-stablecoins/usdt.md) + * [USDC](core-concepts/supported-stablecoins/usdc.md) + * [DAI](core-concepts/supported-stablecoins/dai.md) +* [Supported Strategies](core-concepts/supported-strategies/README.md) + * [Compound](core-concepts/supported-strategies/compound.md) + * [Aave](core-concepts/supported-strategies/aave.md) + * [Curve](core-concepts/supported-strategies/curve.md) + * [Convex](core-concepts/supported-strategies/convex.md) +* [Fund Management](core-concepts/fund-management.md) +* [Price Oracles](core-concepts/price-oracles.md) + +## Governance + +* [Principles](governance/principles.md) +* [Admin Privileges](governance/admin-privileges.md) +* [OGN Staking](governance/ogn-staking.md) +* [Contributing](governance/contributing.md) +* [Vote Delegation](governance/vote-delegation.md) + +## Smart Contracts + +* [Architecture](smart-contracts/architecture.md) +* [Registry](smart-contracts/registry.md) +* [API](smart-contracts/api/README.md) + * [Vault](smart-contracts/api/vault.md) + * [ERC-20](smart-contracts/api/erc-20-1.md) + * [Timelock](smart-contracts/api/timelock.md) + * [Strategies](smart-contracts/api/strategies.md) + +## Security & Risks + +* [Risks](security-and-risks/risks.md) +* [Audits](security-and-risks/audits.md) +* [Insurance](security-and-risks/insurance.md) +* [Bug Bounties](security-and-risks/bug-bounties.md) + +## Guides + +* [Integration Guide For Exchanges](guides/integration-guide-for-exchanges.md) +* [Incentivized Harvesting Guide](guides/incentivized-harvesting-guide.md) + +## Links + +* [Github](https://www.github.com/originprotocol/origin-dollar) +* [Discord](https://www.originprotocol.com/discord) +* [originprotocol.com](https://www.originprotocol.com) diff --git a/de/analytics-dashboard.md b/de/analytics-dashboard.md new file mode 100644 index 000000000..9c3e6a577 --- /dev/null +++ b/de/analytics-dashboard.md @@ -0,0 +1,31 @@ +# Analytics Dashboard + +{% hint style="info" %} +Visit [analytics.ousd.com](https://analytics.ousd.com) to see how funds are allocated, view historical performance data, and track your personal gains. +{% endhint %} + +The [APY dashboard](https://analytics.ousd.com/apy) is primarily intended for consumption by our engineering team, but we went ahead and deployed it since our ethos is "public by default" and everything that we do is [open-source](http://github.com/OriginProtocol). Unfortunately, that often means erring on the side of transparency and not necessarily the side of taking the time to explain things clearly. + +Before diving into the yield calculation, it's important to understand how OUSD works both in terms of [yield generation](https://docs.ousd.com/core-concepts/yield-generation) and [rebasing](https://docs.ousd.com/core-concepts/elastic-supply). You can read all about that in these [docs](https://docs.ousd.com), including [the part about smart contracts being excluded from yield](https://docs.ousd.com/core-concepts/elastic-supply/rebasing-and-smart-contracts). + +To summarize how APY is calculated, it's the annualized rate of change in OUSD's internal accounting of users' balances between two points in time. To understand that, let's break down the columns in the historical APY table (in reverse order). + +**Ratio** + +There are two types of OUSD balances: rebasing (most accounts) and non-rebasing (smart contracts that have not opted in). The OUSD token contract maintains a separate internal accounting for each type of balance using what it calls "credits". The ratio shown here is the rebasing supply of OUSD divided by the rebasing credits, which gives us the exchange rate between the two. + +**Credits** + +Some smart contracts holding OUSD have unique credit balances because their rebasing status has changed at some point in the past (by opting in or out). Here we show the sum of all rebasing credits and non-rebasing credits. When multiplied by the ratio, it gives the difference between backing supply and non-rebasing supply. + +**Non-rebasing** + +This is the portion of supply held in other smart contracts that have not opted in to rebasing. When added to (credits \* ratio), this equals backing supply. Note also that the **%** column shows the percentage of OUSD that is non-rebasing. + +**Boost** + +The APY is effectively "boosted" for rebasing accounts thanks to the fact that some OUSD is non-rebasing. Think about all of the stablecoins that were used as collateral to mint the non-rebasing OUSD. Those stablecoins are still earning through our yield farming strategies, but the gains are accruing only to the rebasing accounts. The result is that the effective APY is higher than it would be without this mechanism. The boost is the measure of this difference. If boost is 100%, then regular OUSD holders are enjoying double the APY that they otherwise would. + +**APR/APY calculation** + +Bringing this full circle, we currently measure yield by measuring the change in the [rebasing credits per token](https://github.com/OriginProtocol/origin-dollar/blob/master/contracts/contracts/token/OUSD.sol#L45) between two points in time. But there are a few other considerations to note. First, we have to make an assumption about how many Ethereum blocks are mined on an average day. We use a [fixed 6,500](https://github.com/OriginProtocol/ousd-analytics/blob/master/eagleproject/core/views.py#L43), but the actual number of blocks per day is variable. Second, we need a reasonable time horizon to measure. We focus on 30 days, which has proven to be a relatively consistent window of time during which a complete sample of yield-generating activities has occurred. Third, we convert APR into APY by assuming [constant daily compounding](https://github.com/OriginProtocol/ousd-analytics/blob/master/eagleproject/core/views.py#L449-L451). In other words, yield is constantly being reinvested into the same strategies. Finally, there is one notable drawback to using the rebase ratio to measure yield. Since rebase events currently occur sporadically (and not very frequently in a world of high gas prices), the APY won't reflect earnings that have not yet been translated to account balances. For example, there could be an interest rate spike in Compound or a volume spike in the Curve 3pool strategy, which would cause OUSD to earn more than it does on an average day. Until [the rebase method](https://github.com/OriginProtocol/origin-dollar/blob/master/contracts/contracts/vault/VaultCore.sol#L365-L370) gets called, the APY will underreport these earnings. In fact, anyone who sells OUSD during that time would be missing out on the "[next rebase](https://analytics.ousd.com)". The good news is that you should be able to observe the change in your balance over one week and it (annualized) should approximately equal our advertised APY. diff --git a/de/architecture/erc-20-1.md b/de/architecture/erc-20-1.md new file mode 100644 index 000000000..a9caff400 --- /dev/null +++ b/de/architecture/erc-20-1.md @@ -0,0 +1,19 @@ +# ERC-20 + +{% hint style="success" %} +The main ERC20 address for Origin Dollar \(OUSD\) is: +**0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +OUSD is an ERC-20 compliant token with one novel property that is important to understand. + +{% hint style="warning" %} +Wallets and exchanges that wish to integrate OUSD should not cache token balances for OUSD as this value will change frequently as yield is accrued to token holders. +{% endhint %} + +The biggest difference separating OUSD from your average ERC-20 token is the way OUSD's`balanceOf()` function will return a variable amount based on the total value of the pool multiplied by the holder's stake in the pool. This difference is vital to understand, particularly for wallets and exchanges that wish to integrate the OUSD token. This value should be fetched in real-time instead of being cached since OUSD rebases frequently. + + + + + diff --git a/de/architecture/erc-20.md b/de/architecture/erc-20.md new file mode 100644 index 000000000..9a789241b --- /dev/null +++ b/de/architecture/erc-20.md @@ -0,0 +1,12 @@ +# Overview + +![](../.gitbook/assets/ousd_docs_graphics_3.png) + +OUSD is made up of a series of smart contracts. Each of these contracts is wrapped in a proxy contract that can be upgraded via the governance protocols. + +Internally, ownership in the pool is tracked using a credits system that represents the percent ownership of the pool for each holder. The ERC-20 contract handles the conversion to USD terms when viewing a balance or initiating a transfer between wallets. + +The Vault is responsible for minting and burning OUSD. It also enforces the percentage of assets that are deployed to each of the supported [Strategies](../core-concepts/supported-strategies/). To optimize gas costs, the vault maintains a buffer to allow most deposits and redemptions to occur without winding/unwinding assets from strategies. + + + diff --git a/de/architecture/strategies.md b/de/architecture/strategies.md new file mode 100644 index 000000000..3133d5b03 --- /dev/null +++ b/de/architecture/strategies.md @@ -0,0 +1,14 @@ +# Strategies + +New strategies can be added or removed at any time to respond to new market realities and diversify risk. + +At launch, OUSD will take advantage of a single strategy and deploy deposited capital to Compound. We intend to deploy many other strategies soon thereafter. + +Once we migrate to decentralized governance, it is our intent for the community to propose new strategies and to vote on the appropriate weight for each strategy in the pool. We anticipate that most OUSD holders will value having some exposure to higher yield opportunities while maintaining more conservative positions for a portion of the funds. + + + + + + + diff --git a/de/architecture/timelock.md b/de/architecture/timelock.md new file mode 100644 index 000000000..b26b30f1c --- /dev/null +++ b/de/architecture/timelock.md @@ -0,0 +1,22 @@ +# Timelock + +{% hint style="danger" %} +The timelock will be added soon after everything is verified as working. Until then, the contracts will be governed by Origin's 5 of 8 multi-sig. This allows for a faster response if any critical issues are discovered. +{% endhint %} + +The timelock contract enforces a 48 hour wait period before any changes to the OUSD contracts can be executed. The timelock can be called by our multi-sig and is the owner of our [ERC-20](erc-20.md), [Vault](vault.md), and [Strategies](strategies.md) contracts. Time-delaying admin actions gives users a chance to exit OUSD if its admins become malicious, are compromised, or make a change that the users do not like. + +{% hint style="info" %} +The timelock is a safety measure that gives OUSD holders 48 hours to withdraw their funds if they have objections to any proposed upgrades to the protocol. +{% endhint %} + +OUSD is using a slightly modified version of the [Compound Timelock](https://compound.finance/docs/governance) which has been [audited by OpenZeppelin](https://blog.openzeppelin.com/compound-finance-patch-audit/). The 3 notable differences are: + +1. OUSD will initially use a shorter wait period \(48 hours\) than Compound \(72 hours\) to allow for a faster response if any issues are discovered. +2. Once the 48 hours have passed, anyone is free to execute the call, not just the owner of the contract. +3. Deposits \(but not withdrawals or transfers\) can be immediately frozen without requiring the 48 waiting period. This is in case a major vulnerability is discovered. + + + + + diff --git a/de/architecture/vault.md b/de/architecture/vault.md new file mode 100644 index 000000000..ebb2a96dc --- /dev/null +++ b/de/architecture/vault.md @@ -0,0 +1,17 @@ +# Vault + +The vault is at the core of the protocol. The vault is responsible for minting/redeeming OUSD tokens, rebalancing funds between the various supported strategies, and liquidating rewards tokens. + +The most important publicly callable functions on the Vault are: + +* `mint()`allows a single supported stablecoin to be converted to OUSD +* `mintMultiple()`allows multiple supported stablecoins to be converted to OUSD in a single call +* `redeem()`allows a specified amount of OUSD to be redeemed for other supported stablecoins. +* `redeemAll()`allows a user to redeem their entire balance of OUSD for other supported stablecoins. This is particularly useful since user balances are constantly growing as yield is accrued. +* `rebase()`updates the balances for all users based on the value of the assets currently stored in the pool. +* `allocate()`moves the assets under management into their prescribed [Stategies](strategies.md) to maximize yield and diversify risk. + +On redemptions, it is the protocol and not the user that decides which stablecoin\(s\) to return to the user. This decision of which coin\(s\) to return is based on the internal ratios of the assets that are being held in the pool. + + + diff --git a/de/core-concepts/elastic-supply.md b/de/core-concepts/elastic-supply.md new file mode 100644 index 000000000..2cf0fd8ae --- /dev/null +++ b/de/core-concepts/elastic-supply.md @@ -0,0 +1,18 @@ +# Elastic Supply + +**Elastic Supply. Stable Price.** + +OUSD works differently than most tokens. Instead of the price increasing as the value of the assets under management increase \(as with Compound cTokens or Yearn yTokens\), the value of one OUSD remains constant at approximately $1. Instead, the contracts constantly adjust the monetary supply and automatically updates the balance in every token holder’s wallet to reflect the yield that has been earned by the protocol. + +{% hint style="info" %} +Think of it as interest accruing in your bank account. The unit of account and value for the US dollar doesn’t change. You just get more US dollars over time as you earn interest. +{% endhint %} + +![](../.gitbook/assets/ousd_docs_graphics_4.png) + +This mechanism was inspired by the novel approach taken by [Ampleforth](https://www.ampleforth.org/), but there are some key differences that are worth highlighting: + +1. OUSD is 100% backed by other stablecoins and will not have the same challenge maintaining the peg to the dollar. Given the ease of minting and redeeming OUSD, we can count on arbitrageurs to ensure the peg is maintained. +2. OUSD rebasing should only increase supply since the amount of OUSD minted is tied to the realized gains earned by the underlying strategies. Your principal is protected as long as nothing goes wrong with the underlying lending/AMM and stablecoin protocols. Any decrease in your balance would be an indication of trouble in the system. +3. Unlike Ampleforth, which rebases once a day, the monetary supply of OUSD is constantly being updated in real-time as yield is generated. + diff --git a/de/core-concepts/elastic-supply/README.md b/de/core-concepts/elastic-supply/README.md new file mode 100644 index 000000000..a681d0615 --- /dev/null +++ b/de/core-concepts/elastic-supply/README.md @@ -0,0 +1,21 @@ +# Elastic Supply + +**Elastic Supply. Stable Price.** + +OUSD works differently than most tokens. Instead of the price increasing as the value of the assets under management increase (as with Compound cTokens or Yearn yTokens), the value of one OUSD remains constant at approximately $1. Instead, the contracts constantly adjust the monetary supply and automatically updates the balance in every token holder’s wallet to reflect the yield that has been earned by the protocol. + +{% hint style="info" %} +Think of it as interest accruing in your bank account. The unit of account and value for the US dollar doesn’t change. You just get more US dollars over time as you earn interest. +{% endhint %} + +![](../../.gitbook/assets/ousd\_docs\_graphics\_4.png) + +This mechanism was inspired by the novel approach taken by [Ampleforth](https://www.ampleforth.org), but there are some key differences that are worth highlighting: + +1. OUSD is 100% backed by other stablecoins and does not have the same challenge maintaining the peg to the dollar. Given the ease of minting and redeeming OUSD, we can count on arbitrageurs to ensure the peg is maintained. +2. OUSD rebasing will only increase supply since the amount of OUSD minted is tied to the realized gains earned by the underlying strategies. Your principal is protected as long as nothing goes wrong with the underlying lending/AMM and stablecoin protocols. Your OUSD balance will never decrease, but the value could drop if there's a failure in the underlying systems. +3. Unlike Ampleforth, which only rebases once a day, the monetary supply of OUSD is constantly being updated in real-time as yield is generated. Rebases are triggered regularly as users interact with the OUSD contracts. Chainlink Keepers ensure at least one rebase occurs every day. + +**Manually triggering a rebase** + +Anyone can trigger a rebase at any time by [calling the rebase function on the vault](https://etherscan.io/address/originvault.eth#writeProxyContract). You can do this on Etherscan by connecting a web3 wallet. diff --git a/de/core-concepts/elastic-supply/rebasing-and-smart-contracts.md b/de/core-concepts/elastic-supply/rebasing-and-smart-contracts.md new file mode 100644 index 000000000..cdebbc4bf --- /dev/null +++ b/de/core-concepts/elastic-supply/rebasing-and-smart-contracts.md @@ -0,0 +1,22 @@ +# Rebasing & Smart Contracts + +If you are using a multi-sig wallet or another smart contract that wishes to participate in the rebasing aspect of OUSD you must call OUSD’s`rebaseOptIn()` function. This only applies to smart contracts as standard EOA wallets are enrolled automatically. + +{% hint style="info" %} +Multi-sig wallets or other smart contracts must call`rebaseOptIn()`to earn yield. +{% endhint %} + +By default, OUSD that is held on smart contracts will not participate in the rebasing nature of the token and will forfeit any yield unless the smart contract explicitly opts-in. This increases the composability of OUSD within DeFi as many protocols weren't designed with the expectation that balances might change. To other DeFi protocols, OUSD works just like any other normal, well-behaved ERC-20 until you ask it to change. This is a particularly useful attribute for automated market makers (AMM’s) like Uniswap which break when the number of tokens they are holding changes unexpectedly. + +![The Gnosis Safe OUSD app will prompt you to opt in to yield](../../.gitbook/assets/ousd-app-in-gnosis-safe.png) + +Smart contracts must explicitly opt-in to receiving yield via the rebasing mechanism. This fixes the issue with the expanding supply on AMM’s while still allowing multi-sig wallets and other smart contracts the opportunity to still participate and earn yield. + +{% hint style="warning" %} +If you are deploying a contract and intend to call`rebaseOptIn()`to earn yield you cannot call it from the contract's constructor. The contract must be deployed before it can be called. +{% endhint %} + +[Gnosis Safe](https://gnosis-safe.io) users are encouraged to use the Origin Dollar app which will prompt you to opt in to receiving yield. If you are using the "Old" [Gnosis Wallet](https://github.com/gnosis/MultiSigWallet) or another contract-based wallet, you will need the [proxy contract address for OUSD](../../smart-contracts/registry.md) and the corresponding [ABI](https://api.etherscan.io/api?module=contract\&action=getabi\&address=0x1ae95dd4eeae7ed03da79856c2d44ffa3318f805). Once you add those, you will be able to call the `rebaseOptIn()` function to opt into receiving yield via rebasing or`rebaseOptOut()` to turn it off again. + + + diff --git a/de/core-concepts/fund-management.md b/de/core-concepts/fund-management.md new file mode 100644 index 000000000..d6b1920c5 --- /dev/null +++ b/de/core-concepts/fund-management.md @@ -0,0 +1,23 @@ +# Fund Management + +The OUSD smart contract aggregates all users' stablecoin deposits into a single pool of assets that are then deployed into earning strategies based on preset allocations. In contrast to Yearn Vaults, TokenSets, or Zapper opportunities, users do not select individual strategies. All deposited stablecoins and consequently all OUSD tokens are fungible. + +The weighting of how assets are distributed between the supported strategies is decided by OGN holders using weekly snapshot voting. These votes happen offchain and do not cost any gas. The results of the weekly poll will then be executed onchain by members of the [Strategist multi-sig](https://etherscan.io/address/0xF14BBdf064E3F67f51cd9BD646aE3716aD938FDC) (known as "Strategists"). + +Ultimately, we believe it should be up to the community to decide what the right balance of risk/reward is appropriate for OUSD. We encourage the community to favor high-yield strategies while still maintaining diversification across multiple strategies to remove single points of failure and minimize risk. + +**How strategy allocation voting works:** + +* New snapshot proposals will open for voting on the [OGN governance portal ](http://vote.originprotocol.com)at midnight Tuesday UTC (7pm eastern Monday). The poll will be open for 48 hours, ending at midnight Thursday UTC (7pm eastern on Wednesday). +* During this time, those interested can discuss allocation changes in a thread in the #governance channel on [Origin's Discord](https://www.originprotocol.com/discord). +* Each proposal will use "weighted voting", with options for each coin/strategy combination and an option to keep the existing allocation unchanged. OGN holders can spread their votes among different listed strategies or the existing allocation. +* After the voting time has ended, Strategists will submit, verify, and execute transactions to change OUSD to the determined allocation percentages for the week. If more than 50% of the weighted votes are cast for the existing allocation, Strategists will take no action. +* Allocations will be executed for strategies that use all stablecoins first (like Convex), then each stablecoin will be allocated to the remaining strategies according to the ratio of votes for that stablecoin / strategy combination. +* If the Strategists deem any of the allocations unsafe to the funds behind OUSD, they may choose to not execute those. In addition, Strategists may decline to execute minor adjustments where the gas costs would be greater than the expected benefits. +* Like all governance proposals, Strategist allocations must meet the minimum quorum requirements (currently 1M OGN) to be considered valid. +* From a security standpoint, it is important to know that while Strategists have the ability to move funds between approved strategies or instantly pause rebasing in the case of an emergency, Strategists do not have the power to add new strategies or withdraw funds without going through the timelock. Community members can use the Strategy Validator tools to more easily [create](https://analytics.ousd.com/strategist/creator) and [decode](https://analytics.ousd.com/strategist) which actions are being performed by the Strategists. +* When voting, please remember it is inefficient to move in and out of the Convex strategy frequently and some funds need to always remain outside of Convex in order to accommodate withdrawals. + + + +**** diff --git a/de/core-concepts/fund-management/README.md b/de/core-concepts/fund-management/README.md new file mode 100644 index 000000000..4f6287602 --- /dev/null +++ b/de/core-concepts/fund-management/README.md @@ -0,0 +1,6 @@ +# Fund Management + +The OUSD smart contract aggregates all users' stablecoin deposits into a single pool of investable assets. Funds are then allocated across one or more [earning strategies](earning-strategies.md) at any given moment in time. The Vault favors high-yield strategies but also seeks to maintain diversification across multiple strategies. Diversification removes single points of failures and mitigates risks. + +In contrast to Yearn Vaults, TokenSets, or Zapper opportunities, users do not select individual strategies. All deposited stablecoins and consequently all OUSD tokens are fungible. + diff --git a/de/core-concepts/fund-management/diversification.md b/de/core-concepts/fund-management/diversification.md new file mode 100644 index 000000000..3d98a522e --- /dev/null +++ b/de/core-concepts/fund-management/diversification.md @@ -0,0 +1,8 @@ +# Diversification + +The initial version of the OUSD Vault smart contract gives each valid strategy a simple weight between 0% and 100% to perform simple asset allocation. These weights will be shifted often via updates by Origin in the short-term and by decentralized governance in the long-term. + +Diversification across multiple underlying DeFi [platforms](../supported-strategies/) will reduce smart contract and other systemic risks. The smart contract will calculate current and expected APYs in an effort to provide competitive returns to OUSD holders. Over time, the Vault contract will be upgraded to intelligently and autonomously shift between strategies without any manual intervention. For example, the Vault will automatically shift capital between various lending strategies to optimize for yields. + +However, it is still expected that certain risk parameters or decisions on whether certain strategies will be included in the automated decision-making engine will be made through governance votes. + diff --git a/de/core-concepts/fund-management/earning-strategies.md b/de/core-concepts/fund-management/earning-strategies.md new file mode 100644 index 000000000..0fb0111e4 --- /dev/null +++ b/de/core-concepts/fund-management/earning-strategies.md @@ -0,0 +1,6 @@ +# Earning Strategies + +Earning strategies put deployed capital to work across various DeFi platforms. The Vault will determine which strategies are active and what percentage of deployed capital they will receive. + +In addition, strategies will be upgraded over time. For example, at launch, there will be an initial [Compound strategy](../supported-strategies/compound.md). Over time, this may be replaced by a v2 or v3 Compound strategy. + diff --git a/de/core-concepts/price-oracles.md b/de/core-concepts/price-oracles.md new file mode 100644 index 000000000..1b08c685f --- /dev/null +++ b/de/core-concepts/price-oracles.md @@ -0,0 +1,38 @@ +- - - +description: OUSD uses Chainlink to secure the protocol from pricing attacks +- - - + +# Price Oracles + +### Stablecoin Pricing + +OUSD is designed to stay pegged at 1 USD and be 1:1 backed with its underlying stablecoins. This is trickier than it sounds because these underlying stablecoins are constantly deviating from their own desired 1 USD pegs. While the majority of daily fluctuations are minor, there have been major swings in price that have occurred in the past and are likely to occur again in the future. + +| Coin | **Low** | **High** | **Delta** | **Source** | +| ---- | ---------------------------------------------------- | ---------------------------------------------------- | --------- | --------------------------------------------------------------------------- | +| USDC |

$0.929222

Mar 13, 2020

|

$1.11

Oct 15, 2018

| $0.180778 | [CoinMarketCap](https://coinmarketcap.com/currencies/usd-coin/) | +| USDC |

$0.924188

Aug 02, 2020

|

$1.17

May 08, 2019

| $0.245812 | [CoinGecko](https://www.coingecko.com/en/coins/usd-coin) | +| DAI |

$0.945505

May 10, 2020

|

$1.11

Mar 13, 2020

| $0.164495 | [CoinMarketCap](https://coinmarketcap.com/currencies/multi-collateral-dai/) | +| DAI |

$0.903243

Nov 25, 2019

|

$1.22

Mar 13, 2020

| $0.316757 | [CoinGecko](https://www.coingecko.com/en/coins/dai) | +| USDT |

$0.849809

Feb 02, 2017

|

$1.21

May 27, 2017

| $0.360191 | [CoinGecko](https://www.coingecko.com/en/coins/tether) | +| USDT |

$0.572521

Mar 02, 2015

|

$1.32

Jul 24, 2018

| $0.747479 | [CoinMarketCap](https://coinmarketcap.com/currencies/tether/) | + +The rebasing function treats 1 stablecoin as 1 OUSD for simplicity and to protect OUSD balances from being affected by the daily fluctuations in the price of the underlying stablecoins. Since the rebase function only counts coins, OUSD balances should only increase. + +In order to mint and redeem the appropriate number of OUSD on entry and exit, the smart contracts need to accurately price the USDT, USDC, and DAI that is entering and exiting the system. + +As an added precaution, OUSD never pays more than a dollar for a stablecoin, nor sells a stablecoin for less than a dollar. Oracles giving wrong prices will not result in a reduction of the number of stablecoins held. Gains that are collected as a result of stablecoins slipping from their peg are redistributed to the remaining holders of OUSD in the form of additional yield. + +As a decentralized protocol, OUSD must rely on non-centralized sources for these prices. OUSD uses Chainlink oracles for pricing data for DAI, USDC and USDT. You can read more about [our decision to work with Chainlink](https://blog.originprotocol.com/how-origin-uses-chainlink-oracles-to-secure-ousd-bff5601e840e) on our blog. Here are the Chainlink oracles we are currently using for stablecoin pricing: + +{% embed url="https://data.chain.link/usdt-usd" %} + +{% embed url="https://data.chain.link/usdc-usd" %} + +{% embed url="https://data.chain.link/dai-usd" %} + +### Reward Token Oracles & Front Running Protection + +When reward tokens from OUSD strategies are sold for additional yield, Chainlink oracles are checked to ensure that the sale price slippage has not exceeded normal bounds. These oracles are listed on our [registry](../smart-contracts/registry.md) page under the "Oracles" tab. + +The same is also true for OGN buybacks from OUSD yield.\ \ When minting and redeeming OUSD, a miniumun required amount can be passed into the contract call to ensure that the entire transaction fails if not enough OUSD or stablecoins would be returned to the user due to changing prices. diff --git a/de/core-concepts/price-oracles/README.md b/de/core-concepts/price-oracles/README.md new file mode 100644 index 000000000..58ed68ed4 --- /dev/null +++ b/de/core-concepts/price-oracles/README.md @@ -0,0 +1,126 @@ +# Price Oracles + +OUSD is designed to stay pegged at 1 USD and be 1:1 backed with its underlying stablecoins. This is trickier than it sounds because these underlying stablecoins are constantly deviating from their own desired 1 USD pegs. While the majority of daily fluctuations are minor, there have been major swings in price that have occurred in the past and are likely to occur again in the future. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CoinLow + High + Delta + Source +
USDC +

$0.929222

+

Mar 13, 2020

+
+

$1.11

+

Oct 15, 2018

+
$0.180778CoinMarketCap +
USDC +

$0.924188

+

Aug 02, 2020

+
+

$1.17

+

May 08, 2019

+
$0.245812CoinGecko +
DAI +

$0.945505

+

May 10, 2020

+
+

$1.11

+

Mar 13, 2020

+
$0.164495CoinMarketCap +
DAI +

$0.903243

+

Nov 25, 2019

+
+

$1.22

+

Mar 13, 2020

+
$0.316757CoinGecko +
USDT +

$0.849809

+

Feb 02, 2017

+
+

$1.21

+

May 27, 2017

+
$0.360191CoinGecko +
USDT +

$0.572521

+

Mar 02, 2015

+
+

$1.32

+

Jul 24, 2018

+
$0.747479CoinMarketCap +
+ +The rebasing function treats 1 stablecoin as 1 OUSD for simplicity and to protect OUSD balances from being affected by the daily fluctuations in the price of the underlying stablecoins. Since the rebase function only counts coins, OUSD balances should only increase. + +In order to mint and redeem the appropriate number of OUSD on entry and exit, the smart contracts need to accurately price the USDT, USDC, and DAI that is entering and exiting the system. As a decentralized protocol, OUSD must rely on non-centralized sources for these prices. + +{% hint style="info" %} +OUSD fetches the price from multiple on-chain oracles and uses the exchange rate that is most advantageous for the vault when minting or redeeming. +{% endhint %} + +In order to prevent malicious attacks and to encourage long-term investors over short-term speculators, the OUSD contract compares price feeds from multiple sources and will use whichever exchange rate benefits the entire vault over the individual. This mechanism protects the vault funds from arbitrageurs and prevents any individual from being able to take advantage of any temporary inefficiencies caused by mispriced oracles to deplete the shared pool of assets. + +This protects the funds in the vault while rewarding long-term holders. Since the safest price depends on the direction of the trade, the Origin oracle exposes both a `priceUSDMint()` and a `priceUSDRedeem()`. + +OUSD uses Chainlink as oracle for DAI, USDC and USDT. + +{% embed url="https://feeds.chain.link/eth-usd" caption="" %} + +The specific smart contract address for each oracle being used are listed on our [registry](../../smart-contracts/registry.md) page. + +It is possible that additional oracles will be added to the protocol over time. Support may also be removed if any of these oracles become unreliable. + diff --git a/de/core-concepts/price-oracles/untitled.md b/de/core-concepts/price-oracles/untitled.md new file mode 100644 index 000000000..7a413944b --- /dev/null +++ b/de/core-concepts/price-oracles/untitled.md @@ -0,0 +1,25 @@ +# Untitled + +## Getting Super Powers + +Becoming a super hero is a fairly straight forward process: + +``` +$ give me super-powers +``` + +{% hint style="info" %} + Super-powers are granted randomly so please submit an issue if you're not happy with yours. +{% endhint %} + +Once you're strong enough, save the world: + +{% code title="hello.sh" %} +```bash +# Ain't no code for that yet, sorry +echo 'You got to trust me on this, I saved the world' +``` +{% endcode %} + + + diff --git a/de/core-concepts/supported-assets/README.md b/de/core-concepts/supported-assets/README.md new file mode 100644 index 000000000..56390ccf6 --- /dev/null +++ b/de/core-concepts/supported-assets/README.md @@ -0,0 +1,20 @@ +# Supported Stablecoins + +**Supported Stablecoins** + +It is important to understand that OUSD is only as strong as the stablecoins that are backing it. Any loss to the underlying assets will cause a similar loss to the value of OUSD. + +Currently, OUSD supports the following stablecoins: + +{% page-ref page="usdt.md" %} + +{% page-ref page="usdc.md" %} + +{% page-ref page="dai.md" %} + +None of these stablecoins are perfect, but we selected them because of their widespread usage. While these stablecoins have lost their USD peg on multiple occasions, they have demonstrated resiliency in eventually getting back to their 1 USD targets. + +It is important to note that all these stablecoins introduce non-trivial counter-party risk. Tether, in particular, has had well-documented banking troubles and regulatory challenges. In addition, both USDT and USDC have backdoors that grant their issuers the power to freeze money in their holder's wallets. While DAI does not have any direct backdoors, it's assets can also be negatively impacted since USDC is accepted as collateral for minting DAI. + +Despite these concerns, there are already billions of dollars betting on the security of these stablecoins. It is possible that additional stablecoins will be added to the protocol over time. Support may also be removed if any of these stablecoins prove to be too unreliable or put OUSD holders funds in jeopardy. + diff --git a/de/core-concepts/supported-assets/dai.md b/de/core-concepts/supported-assets/dai.md new file mode 100644 index 000000000..4be5c3788 --- /dev/null +++ b/de/core-concepts/supported-assets/dai.md @@ -0,0 +1,20 @@ +# DAI + +![](../../.gitbook/assets/dai.png) + +Dai is a fiat-pegged stablecoin launched as a ERC-20 token on the Ethereum blockchain in December 2017. A major upgrade from single-collateral Dai \(SAI\) to multi-collateral Dai \(DAI\) was completed in November 2019. Dai is pegged to the US dollar. + +Dai is minted by users locking up crypto assets such as ETH or USDC as collateral in a collateralized debt position \(CDP\) called a vault. Previously, only ETH was accepted as collateral. The reserves and status of each vault can be viewed on the blockchain in real-time. The health of these vaults and the Dai stablecoin are closely monitored. + +Dai is the world's third-largest stablecoin with over $400 million in circulation. In addition, cDAI and aDAI, synthetic versions of Dai on the lending platforms Compound and Aave, combine for over $600 million in circulation. + +| Key Facts | | +|:------------- |:------------------------------------------------------------------------------------------------------------------- | +| Issued by | MakerDAO | +| Name | Dai | +| Symbol | DAI | +| Address | [0x6b175474e89094c44da98b954eedeac495271d0f](https://etherscan.io/token/0x6b175474e89094c44da98b954eedeac495271d0f) | +| Decimals | 18 | +| Official site | [https://makerdao.com/](https://makerdao.com/) | +| Holders | Over 140k addresses | + diff --git a/de/core-concepts/supported-assets/usdc.md b/de/core-concepts/supported-assets/usdc.md new file mode 100644 index 000000000..2647d7c83 --- /dev/null +++ b/de/core-concepts/supported-assets/usdc.md @@ -0,0 +1,22 @@ +# USDC + +![](../../.gitbook/assets/usdc-coin-bd351fb779%20%281%29.png) + +USD Coin \(USDC\) is a fiat-pegged stablecoin launched as a ERC-20 token on the Ethereum blockchain in October 2018. USDC is pegged to the US dollar and can easily be redeemed for US dollars. + +Each USDC is backed by a 1:1 ratio with the equivalent amount of fiat currency held in custodial accounts by members of Centre, a consortium founded by Circle and Coinbase. Members of Centre are regulated financial institutions based in the US. Monthly audits of reserves are published by Grant Thornton LLP. + +USDC is the world's second-largest stablecoin after USDT and has quickly grown to over $1 billion in circulation. However, USDC remains far behind USDT's $12+ billion in circulation. + +| Key Facts | | +|:------------- |:------------------------------------------------------------------------------------------------------------------- | +| Issued by | Centre | +| Name | USD Coin | +| Symbol | USDC | +| Address | [0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48](https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48) | +| Decimals | 6 | +| Official site | [https://www.centre.io/usdc](https://www.centre.io/usdc) | +| Holders | Over 200k addresses | + + + diff --git a/de/core-concepts/supported-assets/usdt.md b/de/core-concepts/supported-assets/usdt.md new file mode 100644 index 000000000..4ae2afe89 --- /dev/null +++ b/de/core-concepts/supported-assets/usdt.md @@ -0,0 +1,22 @@ +# USDT + +![](../../.gitbook/assets/image%20%281%29.png) + +Tether \(USDT\) is a fiat-pegged stablecoin that was initially built on top of Bitcoin via the Omni Layer Protocol. In September 2017, Tether announced they would be launching additional ERC-20 tokens for United States dollars on the Ethereum blockchain. + +Each Tether issued into circulation is said to be backed by a one-to-one ratio with the equivalent amount of fiat currency held in a custodial account by Tether Limited, a Hong Kong-based company with close ties to the cryptocurrency exchange, Bitfinex. + +Despite the controversy ****around ****the company's failure to provide a promised audit showing adequate reserves backing tether, USDT is still the world's largest stablecoin by market cap and currently the fourth-largest cryptocurrency after BTC, ETH and XRP. + +| Key Facts | | +|:------------- |:---------------------------------------------------------------------------------------------------------------- | +| Issued by | Tether Limited | +| Name | Tether | +| Symbol | USDT | +| Address | [0xdac17f958d2ee523a2206206994597c13d831](https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7) | +| Decimals | 6 | +| Official site | [https://tether.to/ ](https://tether.to/%20) | +| Holders | Over 1.8M addresses | + + + diff --git a/de/core-concepts/supported-defi-platforms/README.md b/de/core-concepts/supported-defi-platforms/README.md new file mode 100644 index 000000000..50ee37b6c --- /dev/null +++ b/de/core-concepts/supported-defi-platforms/README.md @@ -0,0 +1,30 @@ +# Supported DeFi Platforms + +**Supported Platforms** + +OUSD generates yield by depositing stablecoins into lending platforms and market maker liquidity pools. It is important to understand that these platforms do carry technological risk and funds can be lost if there is a major security event. We are choosing to work with the platforms that have had their smart contracts audited and that we feel are most secure. + +Currently, we plan to earn yields from the following platforms: + +{% page-ref page="compound.md" %} + +Integrations are currently planned for the following platforms: + +{% page-ref page="aave.md" %} + +{% page-ref page="dydx.md" %} + +{% page-ref page="uniswap.md" %} + +{% page-ref page="curve.md" %} + +{% page-ref page="balancer.md" %} + +{% page-ref page="yearn.finance.md" %} + +Although DeFi has grown very quickly and there are now billions of dollars worth of value deposited on these platforms, several of these projects are still in beta and are highly experimental. There may be hidden vulnerabilities in the smart contracts that power these platforms, and there have been multi-million dollar losses caused by vulnerabilities in Ethereum applications in the past. + +We closely monitor security events on the platforms we support and will immediately move to secure OUSD holder funds if we identify any threats. + + + diff --git a/de/core-concepts/supported-defi-platforms/aave.md b/de/core-concepts/supported-defi-platforms/aave.md new file mode 100644 index 000000000..df02edab3 --- /dev/null +++ b/de/core-concepts/supported-defi-platforms/aave.md @@ -0,0 +1,25 @@ +# Aave + +{% hint style="info" %} +Coming soon. Aave has not yet been integrated. +{% endhint %} + +Aave is a lending protocol and platform built on Ethereum and launched in January 2020 by the creators of ETHLend. Users on Aave can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and users can choose between a variable interest rate based on supply and demand or a fixed interest rate. + +Collateral balances are represented by ERC-20 aTokens at a 1:1 ratio to the underlying assets they represent. Interest is compounded automatically and paid to lenders with aTokens, meaning lenders will steadily see their aToken balance increase over time. Users can borrow assets against their aTokens. aTokens are freely transferable and can be used on many other DeFi protocols. aTokens can be redeemed for their underlying collateral at any time. + +Aave supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +Aave is currently governed by LEND, an ERC-20 token that was formerly the utility token for ETHLend. Aave has announced a transition to fully decentralized governance that includes a token swap where users exchange LEND for AAVE, a new ERC-20 governance token with staking rewards. Some AAVE will be distributed to users of the platform in a liquidity mining campaign. + +Aave's total value locked \(TVL\) has quickly grown to over $1.2 billion, making it one of the largest DeFi protocols. LEND has a circulating market cap of over $700 million. + +Aave has undergone security audits by OpenZeppelin, Trail of Bits, and Consensys Diligence. Aave maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------------ | +| Official site | [https://aave.com/](https://aave.com/) | +| Developer docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/aave/aave-protocol](https://github.com/aave/aave-protocol) | +| Discord | [https://discordapp.com/invite/AnSqnvV](https://discordapp.com/invite/AnSqnvV) | + diff --git a/de/core-concepts/supported-defi-platforms/balancer.md b/de/core-concepts/supported-defi-platforms/balancer.md new file mode 100644 index 000000000..f8d9e3c0a --- /dev/null +++ b/de/core-concepts/supported-defi-platforms/balancer.md @@ -0,0 +1,27 @@ +# Balancer + +{% hint style="info" %} +Coming soon. Balancer has not yet been integrated. +{% endhint %} + +Balancer is a decentralized liquidity protocol and exchange on Ethereum, launched in March 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Balancer is an Automated Market Maker \(AMM\) that allows for liquidity pools of up to 8 different assets with custom weights. Liquidity pools on Balancer can be thought of as similar to Exchange Traded Funds \(ETFs\) or portfolios with weight targets for specific assets. If trading causes the pool to shift from its target weight distribution, exchange rates between assets in the pool change. Arbitrageurs can execute trades to take advantage of this and act to rebalance the pool back to its target weight distribution. Liquidity can also be shared across pools, unlike other AMMs. + +Balancer supports private pools, where only the owner of the pool can contribute liquidity, shared pools, which are completely public, and smart pools, which are shared pools controlled by a smart contract that can implement automated rules and logic. Liquidity providers are given Balancer Pool Tokens \(BPTs\) that represent their share of a given pool and fees. These tokens are freely transferable and can be redeemed for the assets provided and accrued fees. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Balancer pools. + +Balancer is governed by BAL, an ERC-20 governance token. BAL holders can vote on protocol changes. BAL is continuously awarded to liquidity providers and a large portion of the total supply of BAL was allocated to the team and investors on a continuous vesting schedule. + +Trading volumes on Balancer are often over $25 million daily. Balancer has a Total Value Locked \(TVL\) of over $250 million by liquidity providers at the time of writing. + +Balancer has undergone a security audit by Trail of Bits and has a bug bounty program. However, Balancer has suffered a major exploit in June 2020. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://balancer.finance/](https://balancer.finance/) | +| Developer docs | [https://docs.balancer.finance/](https://docs.balancer.finance/) | +| GitHub | [https://github.com/balancer-labs](https://github.com/balancer-labs) | +| Discord | [https://discord.gg/ARJWaeF](https://discord.gg/ARJWaeF) | + diff --git a/de/core-concepts/supported-defi-platforms/compound.md b/de/core-concepts/supported-defi-platforms/compound.md new file mode 100644 index 000000000..a4d2660a1 --- /dev/null +++ b/de/core-concepts/supported-defi-platforms/compound.md @@ -0,0 +1,19 @@ +# Compound + +Compound is a lending protocol and platform built on Ethereum and launched in September 2018. Users can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and interest rates are adjusted automatically based on supply and demand. + +Collateral balances are represented by ERC-20 cTokens, which automatically accrue interest and increase in value over time relative to the underlying asset they represent. Users can borrow assets against the value of their cTokens. cTokens are freely transferable and can be used on many other DeFi protocols. cTokens can be redeemed for their underlying collateral at any time. + +Compound is governed by COMP, an ERC-20 governance token. COMP holders can propose and vote on protocol changes or delegate their votes to someone else. COMP tokens are awarded pro rata to users of the protocol daily, split equally between borrowers and lenders. A large portion of the COMP token supply was retained by the Compound team, investors, and advisors. + +Compound's total value locked \(TVL\) has quickly grown to nearly $800 million, making it one of the largest DeFi protocols. COMP has a circulating market cap of over $500 million. + +Compound has undergone multiple security audits by OpenZeppelin and Trail of Bits. The Compound protocol was formally verified by CertiK and has undergone economic stress testing by Gauntlet. Compound maintains a bug bounty program. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------------------------------------------------- | +| Official site | [https://compound.finance/](https://compound.finance/) | +| Developer docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/compound-finance/compound-protocol](https://github.com/compound-finance/compound-protocol) | +| Discord | [https://discord.com/invite/cU7vmVW](https://discord.com/invite/cU7vmVW) | + diff --git a/de/core-concepts/supported-defi-platforms/curve.md b/de/core-concepts/supported-defi-platforms/curve.md new file mode 100644 index 000000000..021d0041b --- /dev/null +++ b/de/core-concepts/supported-defi-platforms/curve.md @@ -0,0 +1,25 @@ +# Curve + +{% hint style="info" %} +Coming soon. Curve has not yet been integrated. +{% endhint %} + +Curve is a decentralized liquidity protocol and exchange on Ethereum for stablecoins and wrapped BTC, launched in January 2020. Users can swap between popular ERC-20 stablecoins or between ERC-20 representations of bitcoin. Liquidity providers facilitate trading and earn fees. + +Curve is an Automated Market Maker \(AMM\) where each market has an associated liquidity pool with two or more assets that should have the same value, like USDT, USDC, DAI and TUSD, which are all US dollar pegged stablecoins. The exchange rate between each stablecoin and their relative weights are determined by an algorithm based on supply and demand. Arbitrageurs act to normalize these exchange rates. + +Some of Curve's liquidity pools earn extra fees for liquidity providers on top of the exchange fees from traders. Curve offers stablecoin pools integrated with Compound, yearn.finance, and Synthetix. The assets in each liquidity pool are provided to those platforms to generate additional yield which is passed on to each pool's liquidity providers. Liquidity Provider \(LP\) tokens are given to pool participants and can be redeemed for their initial liquidity supplied plus accrued fees and yield. LP tokens can also transferred for use in other protocols. + +Curve is governed by CRV, an ERC-20 governance token. CRV holders can vote on protocol changes. CRV holders can stake their tokens for additional voting power proportional to time staked. CRV is continuously awarded to liquidity providers and a large portion of the total supply of CRV was allocated to the team and investors on a continuous vesting schedule. + +Trading volumes on Curve are often over $50 million daily. Curve has a Total Value Locked \(TVL\) of over $1 billion by liquidity providers at the time of writing. + +Curve has undergone two audits by Trail of Bits and maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------ | +| Official site | [https://uniswap.org/](https://uniswap.org/) | +| Developer docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/de/core-concepts/supported-defi-platforms/dydx.md b/de/core-concepts/supported-defi-platforms/dydx.md new file mode 100644 index 000000000..24f1a895e --- /dev/null +++ b/de/core-concepts/supported-defi-platforms/dydx.md @@ -0,0 +1,27 @@ +# dYdX + +{% hint style="info" %} +Coming soon. DyDx has not yet been integrated. +{% endhint %} + +dYdX is a trading and lending protocol and platform built on Ethereum and launched in May 2019. Users can trade assets on dYdX's non-custodial, decentralized exchange or participate in borrowing and lending. The lending protocol enables margin and futures trading. Interest rates are adjusted based on supply and demand and only short term loans are offered. + +Liquidity for assets available for borrowing and lending are pooled together by asset type. Interest paid to lenders is accrued automatically and borrowers must put up collateral to take out a loan. + +dYdX also supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +dYdX has around $40 million in total value locked \(TVL\) at the time of this writing. dYdX does not have a native token. + +dYdX has undergone security audits by OpenZeppelin and Bramah Systems. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://dydx.exchange/](https://dydx.exchange/) | +| Developer docs | [https://docs.dydx.exchange/](https://docs.dydx.exchange/) | +| GitHub | [https://github.com/dydxprotocol/](https://github.com/dydxprotocol/) | +| Discord | [https://discord.gg/yah42Rb](https://discord.gg/yah42Rb) | + + + + + diff --git a/de/core-concepts/supported-defi-platforms/uniswap.md b/de/core-concepts/supported-defi-platforms/uniswap.md new file mode 100644 index 000000000..012e25e93 --- /dev/null +++ b/de/core-concepts/supported-defi-platforms/uniswap.md @@ -0,0 +1,27 @@ +# Uniswap + +{% hint style="info" %} +Coming soon. Uniswap has not yet been integrated. +{% endhint %} + +Uniswap is a decentralized liquidity protocol and exchange on Ethereum, launched in November 2018. Uniswap v2 launched in May 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Markets on Uniswap operate as liquidity pools rather than order books. This type of exchange is called an Automated Market Maker \(AMM\). The exchange rate between the two assets is determined by a constant product formula and moves along a price curve depending on the relative weight of each asset in the pool. This encourages arbitrageurs to enter liquidity pools to rebalance the relative weights and normalize the exchange rate. + +Traders can suffer from slippage if there is not enough liquidity in a given pool and may not be protected from unfavorable exchange rates. Liquidity providers may suffer impermanent loss when the pool exchange rate does not match market realities and arbitrageurs execute trades along the pricing curve. + +Pool participants are given Uniswap Liquidity Provider \(LP\) tokens that correspond to their share of liquidity provided in a given pool. These LP tokens are freely transferable. Participants can exit pools at any time by redeeming these tokens for the assets provided and fees accrued. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Uniswap pools. + +Trading volumes on Uniswap now eclipse that of many traditional exchanges and regularly surpass $200 million daily. Uniswap has over $170 million in Total Value Locked \(TVL\) by liquidity providers. Uniswap does not have a native platform or governance token. + +Uniswap has had its smart contracts audited and formally verfied by dapp.org. Uniswap maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------ | +| Official site | [https://uniswap.org/](https://uniswap.org/) | +| Developer docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/de/core-concepts/supported-defi-platforms/yearn.finance.md b/de/core-concepts/supported-defi-platforms/yearn.finance.md new file mode 100644 index 000000000..3f23b9fdb --- /dev/null +++ b/de/core-concepts/supported-defi-platforms/yearn.finance.md @@ -0,0 +1,25 @@ +# Yearn.finance + +{% hint style="info" %} +Coming soon. Yearn.finance has not yet been integrated. +{% endhint %} + +Yearn.finance, formerly iEarn.finance, is a yield aggregation platform built on Ethereum and launched in January 2020 by Andre Cronje. Yearn manages yield farming and rebalancing strategies using a combination of automation and human decision making on behalf of users who have deposited capital. + +Yearn has two yield aggregation products, Earn and Vaults. Earn allows users to deposit stablecoins or wrapped BTC into liquidity pools on Curve to earn fees and governance token rewards. These assets are also lent out on platforms offering high yield and token rewards, adding to the yield earned. + +Vaults offer a more automated and managed experience. Users deposit assets such as LINK, Curve liquidity provider tokens, or stablecoins and the Vault pools these assets together and deploys the highest earning yield farming strategy as deemed safe by the community and Andre Cronje. Governance tokens earned as rewards are sold off for the original asset deposited and combined with other fees and automatically rolled into the Vault to compound yield. Strategies can be changed frequently and pooling assets together saves gas costs for users. + +Yearn is governed by YFI, an ERC-20 governance token. YFI holders can vote on protocol changes after agreeing to lock up their YFI for 3 days. YFI can also be staked for yield in the governance portal. This yield comes from fees charged to users on Yearn products. YFI was distributed entirely to liquidity providers on Curve and Balancer. There was no allocation for team members or investors. + +Yearn's total value locked \(TVL\) has quickly grown to over $800 million, making it one of the largest DeFi platforms. YFI has a circulating market cap of over $400 million. + +Yearn has undergone multiple security and smart contract audits by CertiK, Quantstamp, HackMD, and CryptoManiacs. Yearn has a reputation for launching experimental products very quickly and warns users that their products are in beta. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://yearn.finance/](https://yearn.finance/) | +| Developer docs | [https://docs.yearn.finance/](https://docs.yearn.finance/) | +| GitHub | [https://github.com/iearn-finance](https://github.com/iearn-finance) | +| Discord | [https://discord.gg/uTmHe8r](https://discord.gg/uTmHe8r) | + diff --git a/de/core-concepts/supported-platforms/README.md b/de/core-concepts/supported-platforms/README.md new file mode 100644 index 000000000..aa4b89181 --- /dev/null +++ b/de/core-concepts/supported-platforms/README.md @@ -0,0 +1,32 @@ +# Supported Platforms + +**Supported Platforms** + +OUSD generates yield by depositing stablecoins into lending platforms and market maker liquidity pools. It is important to understand that these platforms do carry technological risk and funds can be lost if there is a major security event. We are choosing to work with the platforms that have had their smart contracts audited and that we feel are most secure. + +Currently, we plan to earn yields from the following platforms: + +{% page-ref page="compound.md" %} + +Integrations are currently planned for the following platforms: + +{% page-ref page="yearn.finance.md" %} + +{% page-ref page="compound.md" %} + +{% page-ref page="aave.md" %} + +{% page-ref page="dydx.md" %} + +{% page-ref page="uniswap.md" %} + +{% page-ref page="curve.md" %} + +{% page-ref page="balancer.md" %} + +Although DeFi has grown very quickly and there are now billions of dollars worth of value deposited on these platforms, several of these projects are still in beta and are highly experimental. There may be hidden vulnerabilities in the smart contracts that power these platforms, and there have been multi-million dollar losses caused by vulnerabilities in Ethereum applications in the past. + +We closely monitor security events on the platforms we support and will immediately move to secure OUSD holder funds if we identify any threats. + + + diff --git a/de/core-concepts/supported-platforms/aave.md b/de/core-concepts/supported-platforms/aave.md new file mode 100644 index 000000000..df02edab3 --- /dev/null +++ b/de/core-concepts/supported-platforms/aave.md @@ -0,0 +1,25 @@ +# Aave + +{% hint style="info" %} +Coming soon. Aave has not yet been integrated. +{% endhint %} + +Aave is a lending protocol and platform built on Ethereum and launched in January 2020 by the creators of ETHLend. Users on Aave can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and users can choose between a variable interest rate based on supply and demand or a fixed interest rate. + +Collateral balances are represented by ERC-20 aTokens at a 1:1 ratio to the underlying assets they represent. Interest is compounded automatically and paid to lenders with aTokens, meaning lenders will steadily see their aToken balance increase over time. Users can borrow assets against their aTokens. aTokens are freely transferable and can be used on many other DeFi protocols. aTokens can be redeemed for their underlying collateral at any time. + +Aave supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +Aave is currently governed by LEND, an ERC-20 token that was formerly the utility token for ETHLend. Aave has announced a transition to fully decentralized governance that includes a token swap where users exchange LEND for AAVE, a new ERC-20 governance token with staking rewards. Some AAVE will be distributed to users of the platform in a liquidity mining campaign. + +Aave's total value locked \(TVL\) has quickly grown to over $1.2 billion, making it one of the largest DeFi protocols. LEND has a circulating market cap of over $700 million. + +Aave has undergone security audits by OpenZeppelin, Trail of Bits, and Consensys Diligence. Aave maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------------ | +| Official site | [https://aave.com/](https://aave.com/) | +| Developer docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/aave/aave-protocol](https://github.com/aave/aave-protocol) | +| Discord | [https://discordapp.com/invite/AnSqnvV](https://discordapp.com/invite/AnSqnvV) | + diff --git a/de/core-concepts/supported-platforms/balancer.md b/de/core-concepts/supported-platforms/balancer.md new file mode 100644 index 000000000..f8d9e3c0a --- /dev/null +++ b/de/core-concepts/supported-platforms/balancer.md @@ -0,0 +1,27 @@ +# Balancer + +{% hint style="info" %} +Coming soon. Balancer has not yet been integrated. +{% endhint %} + +Balancer is a decentralized liquidity protocol and exchange on Ethereum, launched in March 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Balancer is an Automated Market Maker \(AMM\) that allows for liquidity pools of up to 8 different assets with custom weights. Liquidity pools on Balancer can be thought of as similar to Exchange Traded Funds \(ETFs\) or portfolios with weight targets for specific assets. If trading causes the pool to shift from its target weight distribution, exchange rates between assets in the pool change. Arbitrageurs can execute trades to take advantage of this and act to rebalance the pool back to its target weight distribution. Liquidity can also be shared across pools, unlike other AMMs. + +Balancer supports private pools, where only the owner of the pool can contribute liquidity, shared pools, which are completely public, and smart pools, which are shared pools controlled by a smart contract that can implement automated rules and logic. Liquidity providers are given Balancer Pool Tokens \(BPTs\) that represent their share of a given pool and fees. These tokens are freely transferable and can be redeemed for the assets provided and accrued fees. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Balancer pools. + +Balancer is governed by BAL, an ERC-20 governance token. BAL holders can vote on protocol changes. BAL is continuously awarded to liquidity providers and a large portion of the total supply of BAL was allocated to the team and investors on a continuous vesting schedule. + +Trading volumes on Balancer are often over $25 million daily. Balancer has a Total Value Locked \(TVL\) of over $250 million by liquidity providers at the time of writing. + +Balancer has undergone a security audit by Trail of Bits and has a bug bounty program. However, Balancer has suffered a major exploit in June 2020. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://balancer.finance/](https://balancer.finance/) | +| Developer docs | [https://docs.balancer.finance/](https://docs.balancer.finance/) | +| GitHub | [https://github.com/balancer-labs](https://github.com/balancer-labs) | +| Discord | [https://discord.gg/ARJWaeF](https://discord.gg/ARJWaeF) | + diff --git a/de/core-concepts/supported-platforms/compound.md b/de/core-concepts/supported-platforms/compound.md new file mode 100644 index 000000000..a4d2660a1 --- /dev/null +++ b/de/core-concepts/supported-platforms/compound.md @@ -0,0 +1,19 @@ +# Compound + +Compound is a lending protocol and platform built on Ethereum and launched in September 2018. Users can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and interest rates are adjusted automatically based on supply and demand. + +Collateral balances are represented by ERC-20 cTokens, which automatically accrue interest and increase in value over time relative to the underlying asset they represent. Users can borrow assets against the value of their cTokens. cTokens are freely transferable and can be used on many other DeFi protocols. cTokens can be redeemed for their underlying collateral at any time. + +Compound is governed by COMP, an ERC-20 governance token. COMP holders can propose and vote on protocol changes or delegate their votes to someone else. COMP tokens are awarded pro rata to users of the protocol daily, split equally between borrowers and lenders. A large portion of the COMP token supply was retained by the Compound team, investors, and advisors. + +Compound's total value locked \(TVL\) has quickly grown to nearly $800 million, making it one of the largest DeFi protocols. COMP has a circulating market cap of over $500 million. + +Compound has undergone multiple security audits by OpenZeppelin and Trail of Bits. The Compound protocol was formally verified by CertiK and has undergone economic stress testing by Gauntlet. Compound maintains a bug bounty program. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------------------------------------------------- | +| Official site | [https://compound.finance/](https://compound.finance/) | +| Developer docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/compound-finance/compound-protocol](https://github.com/compound-finance/compound-protocol) | +| Discord | [https://discord.com/invite/cU7vmVW](https://discord.com/invite/cU7vmVW) | + diff --git a/de/core-concepts/supported-platforms/curve.md b/de/core-concepts/supported-platforms/curve.md new file mode 100644 index 000000000..021d0041b --- /dev/null +++ b/de/core-concepts/supported-platforms/curve.md @@ -0,0 +1,25 @@ +# Curve + +{% hint style="info" %} +Coming soon. Curve has not yet been integrated. +{% endhint %} + +Curve is a decentralized liquidity protocol and exchange on Ethereum for stablecoins and wrapped BTC, launched in January 2020. Users can swap between popular ERC-20 stablecoins or between ERC-20 representations of bitcoin. Liquidity providers facilitate trading and earn fees. + +Curve is an Automated Market Maker \(AMM\) where each market has an associated liquidity pool with two or more assets that should have the same value, like USDT, USDC, DAI and TUSD, which are all US dollar pegged stablecoins. The exchange rate between each stablecoin and their relative weights are determined by an algorithm based on supply and demand. Arbitrageurs act to normalize these exchange rates. + +Some of Curve's liquidity pools earn extra fees for liquidity providers on top of the exchange fees from traders. Curve offers stablecoin pools integrated with Compound, yearn.finance, and Synthetix. The assets in each liquidity pool are provided to those platforms to generate additional yield which is passed on to each pool's liquidity providers. Liquidity Provider \(LP\) tokens are given to pool participants and can be redeemed for their initial liquidity supplied plus accrued fees and yield. LP tokens can also transferred for use in other protocols. + +Curve is governed by CRV, an ERC-20 governance token. CRV holders can vote on protocol changes. CRV holders can stake their tokens for additional voting power proportional to time staked. CRV is continuously awarded to liquidity providers and a large portion of the total supply of CRV was allocated to the team and investors on a continuous vesting schedule. + +Trading volumes on Curve are often over $50 million daily. Curve has a Total Value Locked \(TVL\) of over $1 billion by liquidity providers at the time of writing. + +Curve has undergone two audits by Trail of Bits and maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------ | +| Official site | [https://uniswap.org/](https://uniswap.org/) | +| Developer docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/de/core-concepts/supported-platforms/dydx.md b/de/core-concepts/supported-platforms/dydx.md new file mode 100644 index 000000000..24f1a895e --- /dev/null +++ b/de/core-concepts/supported-platforms/dydx.md @@ -0,0 +1,27 @@ +# dYdX + +{% hint style="info" %} +Coming soon. DyDx has not yet been integrated. +{% endhint %} + +dYdX is a trading and lending protocol and platform built on Ethereum and launched in May 2019. Users can trade assets on dYdX's non-custodial, decentralized exchange or participate in borrowing and lending. The lending protocol enables margin and futures trading. Interest rates are adjusted based on supply and demand and only short term loans are offered. + +Liquidity for assets available for borrowing and lending are pooled together by asset type. Interest paid to lenders is accrued automatically and borrowers must put up collateral to take out a loan. + +dYdX also supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +dYdX has around $40 million in total value locked \(TVL\) at the time of this writing. dYdX does not have a native token. + +dYdX has undergone security audits by OpenZeppelin and Bramah Systems. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://dydx.exchange/](https://dydx.exchange/) | +| Developer docs | [https://docs.dydx.exchange/](https://docs.dydx.exchange/) | +| GitHub | [https://github.com/dydxprotocol/](https://github.com/dydxprotocol/) | +| Discord | [https://discord.gg/yah42Rb](https://discord.gg/yah42Rb) | + + + + + diff --git a/de/core-concepts/supported-platforms/uniswap.md b/de/core-concepts/supported-platforms/uniswap.md new file mode 100644 index 000000000..012e25e93 --- /dev/null +++ b/de/core-concepts/supported-platforms/uniswap.md @@ -0,0 +1,27 @@ +# Uniswap + +{% hint style="info" %} +Coming soon. Uniswap has not yet been integrated. +{% endhint %} + +Uniswap is a decentralized liquidity protocol and exchange on Ethereum, launched in November 2018. Uniswap v2 launched in May 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Markets on Uniswap operate as liquidity pools rather than order books. This type of exchange is called an Automated Market Maker \(AMM\). The exchange rate between the two assets is determined by a constant product formula and moves along a price curve depending on the relative weight of each asset in the pool. This encourages arbitrageurs to enter liquidity pools to rebalance the relative weights and normalize the exchange rate. + +Traders can suffer from slippage if there is not enough liquidity in a given pool and may not be protected from unfavorable exchange rates. Liquidity providers may suffer impermanent loss when the pool exchange rate does not match market realities and arbitrageurs execute trades along the pricing curve. + +Pool participants are given Uniswap Liquidity Provider \(LP\) tokens that correspond to their share of liquidity provided in a given pool. These LP tokens are freely transferable. Participants can exit pools at any time by redeeming these tokens for the assets provided and fees accrued. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Uniswap pools. + +Trading volumes on Uniswap now eclipse that of many traditional exchanges and regularly surpass $200 million daily. Uniswap has over $170 million in Total Value Locked \(TVL\) by liquidity providers. Uniswap does not have a native platform or governance token. + +Uniswap has had its smart contracts audited and formally verfied by dapp.org. Uniswap maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------ | +| Official site | [https://uniswap.org/](https://uniswap.org/) | +| Developer docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/de/core-concepts/supported-platforms/yearn.finance.md b/de/core-concepts/supported-platforms/yearn.finance.md new file mode 100644 index 000000000..3f23b9fdb --- /dev/null +++ b/de/core-concepts/supported-platforms/yearn.finance.md @@ -0,0 +1,25 @@ +# Yearn.finance + +{% hint style="info" %} +Coming soon. Yearn.finance has not yet been integrated. +{% endhint %} + +Yearn.finance, formerly iEarn.finance, is a yield aggregation platform built on Ethereum and launched in January 2020 by Andre Cronje. Yearn manages yield farming and rebalancing strategies using a combination of automation and human decision making on behalf of users who have deposited capital. + +Yearn has two yield aggregation products, Earn and Vaults. Earn allows users to deposit stablecoins or wrapped BTC into liquidity pools on Curve to earn fees and governance token rewards. These assets are also lent out on platforms offering high yield and token rewards, adding to the yield earned. + +Vaults offer a more automated and managed experience. Users deposit assets such as LINK, Curve liquidity provider tokens, or stablecoins and the Vault pools these assets together and deploys the highest earning yield farming strategy as deemed safe by the community and Andre Cronje. Governance tokens earned as rewards are sold off for the original asset deposited and combined with other fees and automatically rolled into the Vault to compound yield. Strategies can be changed frequently and pooling assets together saves gas costs for users. + +Yearn is governed by YFI, an ERC-20 governance token. YFI holders can vote on protocol changes after agreeing to lock up their YFI for 3 days. YFI can also be staked for yield in the governance portal. This yield comes from fees charged to users on Yearn products. YFI was distributed entirely to liquidity providers on Curve and Balancer. There was no allocation for team members or investors. + +Yearn's total value locked \(TVL\) has quickly grown to over $800 million, making it one of the largest DeFi platforms. YFI has a circulating market cap of over $400 million. + +Yearn has undergone multiple security and smart contract audits by CertiK, Quantstamp, HackMD, and CryptoManiacs. Yearn has a reputation for launching experimental products very quickly and warns users that their products are in beta. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://yearn.finance/](https://yearn.finance/) | +| Developer docs | [https://docs.yearn.finance/](https://docs.yearn.finance/) | +| GitHub | [https://github.com/iearn-finance](https://github.com/iearn-finance) | +| Discord | [https://discord.gg/uTmHe8r](https://discord.gg/uTmHe8r) | + diff --git a/de/core-concepts/supported-stablecoins/README.md b/de/core-concepts/supported-stablecoins/README.md new file mode 100644 index 000000000..1c4b60eb5 --- /dev/null +++ b/de/core-concepts/supported-stablecoins/README.md @@ -0,0 +1,25 @@ +# Supported Stablecoins + +**Supported Stablecoins** + +It is important to understand that OUSD is only as strong as the stablecoins that are backing it. Any loss to the underlying assets will cause a similar loss to the value of OUSD. + +Currently, OUSD supports the following stablecoins: + +{% content-ref url="usdt.md" %} +[usdt.md](usdt.md) +{% endcontent-ref %} + +{% content-ref url="usdc.md" %} +[usdc.md](usdc.md) +{% endcontent-ref %} + +{% content-ref url="dai.md" %} +[dai.md](dai.md) +{% endcontent-ref %} + +None of these stablecoins are perfect, but we selected them because of their widespread usage. While these stablecoins have lost their USD peg on multiple occasions, they have demonstrated resiliency in eventually getting back to their 1 USD targets. + +It is important to note that all these stablecoins introduce non-trivial counter-party risk. Tether, in particular, has had well-documented banking troubles and regulatory challenges. In addition, both USDT and USDC have backdoors that grant their issuers the power to freeze money in their holder's wallets. While DAI does not have any direct backdoors, its assets can also be negatively impacted since USDC and USDT are accepted as collateral for minting DAI. + +Despite these concerns, there are already billions of dollars betting on the security of these stablecoins. It is possible that additional stablecoins will be added to the protocol over time. Support may also be removed if any of these stablecoins prove to be too unreliable or put OUSD holder's funds in jeopardy. diff --git a/de/core-concepts/supported-stablecoins/dai.md b/de/core-concepts/supported-stablecoins/dai.md new file mode 100644 index 000000000..b80269d11 --- /dev/null +++ b/de/core-concepts/supported-stablecoins/dai.md @@ -0,0 +1,19 @@ +# DAI + +![](../../.gitbook/assets/dai.png) + +Dai is a fiat-pegged stablecoin launched as a ERC-20 token on the Ethereum blockchain in December 2017. A major upgrade from single-collateral Dai (SAI) to multi-collateral Dai (DAI) was completed in November 2019. Dai is pegged to the US dollar. + +Dai is minted by users locking up crypto assets such as ETH or USDC as collateral in a collateralized debt position (CDP) called a vault. Previously, only ETH was accepted as collateral. The reserves and status of each vault can be viewed on the blockchain in real-time. The health of these vaults and the Dai stablecoin are closely monitored. + +Dai is the world's third-largest stablecoin with over $400 million in circulation. In addition, cDAI and aDAI, synthetic versions of Dai on the lending platforms Compound and Aave, combine for over $600 million in circulation. + +| Key Facts | | +| ------------- | ------------------------------------------------------------------------------------------------------------------- | +| Issued by | MakerDAO | +| Name | Dai | +| Symbol | DAI | +| Address | [0x6b175474e89094c44da98b954eedeac495271d0f](https://etherscan.io/token/0x6b175474e89094c44da98b954eedeac495271d0f) | +| Decimals | 18 | +| Official site | [https://makerdao.com/](https://makerdao.com) | +| Holders | Over 380k addresses | diff --git a/de/core-concepts/supported-stablecoins/usdc.md b/de/core-concepts/supported-stablecoins/usdc.md new file mode 100644 index 000000000..e47385909 --- /dev/null +++ b/de/core-concepts/supported-stablecoins/usdc.md @@ -0,0 +1,20 @@ +# USDC + +![](../../.gitbook/assets/usdc-coin-bd351fb779 (1).png) + +USD Coin (USDC) is a fiat-pegged stablecoin launched as a ERC-20 token on the Ethereum blockchain in October 2018. USDC is pegged to the US dollar and can easily be redeemed for US dollars. + +Each USDC is backed by a 1:1 ratio with the equivalent amount of fiat currency held in custodial accounts by members of Centre, a consortium founded by Circle and Coinbase. Members of Centre are regulated financial institutions based in the US. Monthly audits of reserves are published by Grant Thornton LLP. + +USDC is the world's second-largest stablecoin after USDT and has quickly grown to over $1 billion in circulation. However, USDC remains far behind USDT's $12+ billion in circulation. + +| Key Facts | | +| ------------- | ------------------------------------------------------------------------------------------------------------------- | +| Issued by | Centre | +| Name | USD Coin | +| Symbol | USDC | +| Address | [0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48](https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48) | +| Decimals | 6 | +| Official site | [https://www.centre.io/usdc](https://www.centre.io/usdc) | +| Holders | Over 1M addresses | + diff --git a/de/core-concepts/supported-stablecoins/usdt.md b/de/core-concepts/supported-stablecoins/usdt.md new file mode 100644 index 000000000..4f07af957 --- /dev/null +++ b/de/core-concepts/supported-stablecoins/usdt.md @@ -0,0 +1,20 @@ +# USDT + +![](../../.gitbook/assets/image (1).png) + +Tether (USDT) is a fiat-pegged stablecoin that was initially built on top of Bitcoin via the Omni Layer Protocol. In September 2017, Tether announced they would be launching additional ERC-20 tokens for United States dollars on the Ethereum blockchain. + +Each Tether issued into circulation is said to be backed by a one-to-one ratio with the equivalent amount of fiat currency held in a custodial account by Tether Limited, a Hong Kong-based company with close ties to the cryptocurrency exchange, Bitfinex. + +Despite the controversy **** around **** the company's failure to provide a promised audit showing adequate reserves backing tether, USDT is still the world's largest stablecoin by market cap and currently the fourth-largest cryptocurrency after BTC, ETH and XRP. + +| Key Facts | | +| ------------- | ---------------------------------------------------------------------------------------------------------------- | +| Issued by | Tether Limited | +| Name | Tether | +| Symbol | USDT | +| Address | [0xdac17f958d2ee523a2206206994597c13d831](https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7) | +| Decimals | 6 | +| Official site | [https://tether.to/ ](https://tether.to) | +| Holders | Over 3.4M addresses | + diff --git a/de/core-concepts/supported-strategies/README.md b/de/core-concepts/supported-strategies/README.md new file mode 100644 index 000000000..b1bb5828c --- /dev/null +++ b/de/core-concepts/supported-strategies/README.md @@ -0,0 +1,27 @@ +# Supported Strategies + +**Supported DeFi Platforms** + +OUSD generates yield by depositing stablecoins into lending platforms and market maker liquidity pools. It is important to understand that these platforms do carry technological risk and funds can be lost if there is a major security event. We are choosing to work with the platforms that have had their smart contracts audited and that we feel are most secure. + +Currently, OUSD earns yield from the following platform(s): + +{% content-ref url="compound.md" %} +[compound.md](compound.md) +{% endcontent-ref %} + +{% content-ref url="aave.md" %} +[aave.md](aave.md) +{% endcontent-ref %} + +{% content-ref url="curve.md" %} +[curve.md](curve.md) +{% endcontent-ref %} + +{% content-ref url="convex.md" %} +[convex.md](convex.md) +{% endcontent-ref %} + +Although DeFi has grown very quickly and there are now billions of dollars worth of value deposited on these platforms, several of these projects are still in beta and are highly experimental. There may be hidden vulnerabilities in the smart contracts that power these platforms, and there have been multi-million dollar losses caused by vulnerabilities in Ethereum applications in the past. + +We closely monitor security events on the platforms we support and will immediately move to secure OUSD holder funds if we identify any threats. diff --git a/de/core-concepts/supported-strategies/aave.md b/de/core-concepts/supported-strategies/aave.md new file mode 100644 index 000000000..cf77e0ffb --- /dev/null +++ b/de/core-concepts/supported-strategies/aave.md @@ -0,0 +1,20 @@ +# Aave + +Aave is a lending protocol and platform built on Ethereum and launched in January 2020 by the creators of ETHLend. Users on Aave can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and users can choose between a variable interest rate based on supply and demand or a fixed interest rate. + +Collateral balances are represented by ERC-20 aTokens at a 1:1 ratio to the underlying assets they represent. Interest is compounded automatically and paid to lenders with aTokens, meaning lenders will steadily see their aToken balance increase over time. Users can borrow assets against their aTokens. aTokens are freely transferable and can be used on many other DeFi protocols. aTokens can be redeemed for their underlying collateral at any time. + +Aave supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +Aave's governance token was formerly called LEND which was the utility token for ETHLend. As part of their transition to fully decentralized governance, LEND holders were able to exchange LEND for AAVE, a new ERC-20 governance token with staking rewards. Some AAVE tokens have been distributed to users of the platform in a liquidity mining campaign. + +Aave's total value locked (TVL) has quickly grown to over $15.5 billion, making it the largest DeFi protocol at the time of writing. LEND has a circulating market cap of over $5.3 billion. + +Aave has undergone security audits by OpenZeppelin, Trail of Bits, and Consensys Diligence. Aave maintains a bug bounty program. + +| Resources | | +| -------------- | ------------------------------------------------------------------------------ | +| Official site | [https://aave.com/](https://aave.com) | +| Developer docs | [http://docs.aave.com/](http://docs.aave.com) | +| GitHub | [https://github.com/aave/aave-protocol](https://github.com/aave/aave-protocol) | +| Discord | [https://aave.com/discord](https://aave.com/discord) | diff --git a/de/core-concepts/supported-strategies/balancer.md b/de/core-concepts/supported-strategies/balancer.md new file mode 100644 index 000000000..f8d9e3c0a --- /dev/null +++ b/de/core-concepts/supported-strategies/balancer.md @@ -0,0 +1,27 @@ +# Balancer + +{% hint style="info" %} +Coming soon. Balancer has not yet been integrated. +{% endhint %} + +Balancer is a decentralized liquidity protocol and exchange on Ethereum, launched in March 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Balancer is an Automated Market Maker \(AMM\) that allows for liquidity pools of up to 8 different assets with custom weights. Liquidity pools on Balancer can be thought of as similar to Exchange Traded Funds \(ETFs\) or portfolios with weight targets for specific assets. If trading causes the pool to shift from its target weight distribution, exchange rates between assets in the pool change. Arbitrageurs can execute trades to take advantage of this and act to rebalance the pool back to its target weight distribution. Liquidity can also be shared across pools, unlike other AMMs. + +Balancer supports private pools, where only the owner of the pool can contribute liquidity, shared pools, which are completely public, and smart pools, which are shared pools controlled by a smart contract that can implement automated rules and logic. Liquidity providers are given Balancer Pool Tokens \(BPTs\) that represent their share of a given pool and fees. These tokens are freely transferable and can be redeemed for the assets provided and accrued fees. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Balancer pools. + +Balancer is governed by BAL, an ERC-20 governance token. BAL holders can vote on protocol changes. BAL is continuously awarded to liquidity providers and a large portion of the total supply of BAL was allocated to the team and investors on a continuous vesting schedule. + +Trading volumes on Balancer are often over $25 million daily. Balancer has a Total Value Locked \(TVL\) of over $250 million by liquidity providers at the time of writing. + +Balancer has undergone a security audit by Trail of Bits and has a bug bounty program. However, Balancer has suffered a major exploit in June 2020. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://balancer.finance/](https://balancer.finance/) | +| Developer docs | [https://docs.balancer.finance/](https://docs.balancer.finance/) | +| GitHub | [https://github.com/balancer-labs](https://github.com/balancer-labs) | +| Discord | [https://discord.gg/ARJWaeF](https://discord.gg/ARJWaeF) | + diff --git a/de/core-concepts/supported-strategies/compound.md b/de/core-concepts/supported-strategies/compound.md new file mode 100644 index 000000000..77e40733e --- /dev/null +++ b/de/core-concepts/supported-strategies/compound.md @@ -0,0 +1,18 @@ +# Compound + +Compound is a lending protocol and platform built on Ethereum and launched in September 2018. Users can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and interest rates are adjusted automatically based on supply and demand. + +Collateral balances are represented by ERC-20 cTokens, which automatically accrue interest and increase in value over time relative to the underlying asset they represent. Users can borrow assets against the value of their cTokens. cTokens are freely transferable and can be used on many other DeFi protocols. cTokens can be redeemed for their underlying collateral at any time. + +Compound is governed by COMP, an ERC-20 governance token. COMP holders can propose and vote on protocol changes or delegate their votes to someone else. COMP tokens are awarded pro-rata to users of the protocol daily, split equally between borrowers and lenders. A large portion of the COMP token supply was retained by the Compound team, investors, and advisors. + +Compound's total value locked (TVL) has quickly grown to over $10 billion, making it one of the largest DeFi protocols. COMP has a circulating market cap of over $2.5 billion. + +Compound has undergone multiple security audits by OpenZeppelin and Trail of Bits. The Compound protocol was formally verified by CertiK and has undergone economic stress testing by Gauntlet. Compound maintains a bug bounty program. + +| Resources | | +| -------------- | -------------------------------------------------------------------------------------------------------------- | +| Official site | [https://compound.finance/](https://compound.finance) | +| Developer docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/compound-finance/compound-protocol](https://github.com/compound-finance/compound-protocol) | +| Discord | [https://discord.com/invite/cU7vmVW](https://discord.com/invite/cU7vmVW) | diff --git a/de/core-concepts/supported-strategies/convex.md b/de/core-concepts/supported-strategies/convex.md new file mode 100644 index 000000000..771280a68 --- /dev/null +++ b/de/core-concepts/supported-strategies/convex.md @@ -0,0 +1,18 @@ +# Convex + +Convex is an aggregation platform for Curve that launched in May 2021. Convex allows liquidity providers on Curve to earn boosted CRV rewards without having to vote-lock CRV. Convex vote-locks CRV on behalf of users and distributes boosted CRV rewards to them. Convex passes on trading fees earned on Curve to users as well. + +Convex also rewards users with their own ERC-20 governance token, CVX. Convex supports both CRV and CVX staking for additional rewards. Vote-locking CVX is required to participate in Convex governance. + +Convex is one of the few protocols whitelisted to participate in Curve governance and controls a huge amount of vote-locked CRV, making them one of the biggest players in Curve governance. A large proportion of liquidity provided on Curve is now done through Convex. Convex has a Total Value Locked (TVL) of over $15.4 billion in deposits at the time of writing. + +Convex has been audited by MixBytes. + +| | | +| -------------- | ---------------------------------------------------------------- | +| Resources | | +| Official site | [https://www.convexfinance.com](https://www.convexfinance.com) | +| Developer docs | [https://docs.convexfinance.com](https://docs.convexfinance.com) | +| GitHub | [https://github.com/convex-eth](https://github.com/convex-eth) | +| Discord | [https://discord.gg/uAwvZfs9qU](https://discord.gg/uAwvZfs9qU) | + diff --git a/de/core-concepts/supported-strategies/curve.md b/de/core-concepts/supported-strategies/curve.md new file mode 100644 index 000000000..40d2aade6 --- /dev/null +++ b/de/core-concepts/supported-strategies/curve.md @@ -0,0 +1,20 @@ +# Curve + +Curve is a decentralized liquidity protocol and exchange on Ethereum for stablecoins and wrapped BTC, launched in January 2020. Users can swap between popular ERC-20 stablecoins or between ERC-20 representations of bitcoin. Liquidity providers facilitate trading and earn fees. + +Curve is an Automated Market Maker (AMM) where each market has an associated liquidity pool with two or more assets that should have the same value, like USDT, USDC, DAI and TUSD, which are all US dollar pegged stablecoins. The exchange rate between each stablecoin and their relative weights are determined by an algorithm based on supply and demand. Arbitrageurs act to normalize these exchange rates. + +Some of Curve's liquidity pools earn extra fees for liquidity providers on top of the exchange fees from traders. Curve offers stablecoin pools integrated with Compound, yearn.finance, and Synthetix. The assets in each liquidity pool are provided to those platforms to generate additional yield which is passed on to each pool's liquidity providers. Liquidity Provider (LP) tokens are given to pool participants and can be redeemed for their initial liquidity supplied plus accrued fees and yield. LP tokens can also transferred for use in other protocols. + +Curve is governed by CRV, an ERC-20 governance token. CRV holders can vote on protocol changes. CRV holders can stake or "vote-lock" their tokens for additional voting power proportional to time staked. Vote-locking CRV also significantly boosts liquidity provider rewards. CRV is continuously awarded to liquidity providers and a large portion of the total supply of CRV was allocated to the team and investors on a continuous vesting schedule. + +Curve has a Total Value Locked (TVL) of over $20.4 billion by liquidity providers at the time of writing. Hundreds of millions of dollars of trading volume are generated on Curve every day. + +Curve has undergone two audits by Trail of Bits and maintains a bug bounty program. + +| Resources | | +| -------------- | ------------------------------------------------------------------------ | +| Official site | [https://www.curve.fi/](https://www.curve.fi) | +| Developer docs | [https://www.curve.fi/devdocs](https://www.curve.fi/devdocs) | +| GitHub | [https://github.com/curvefi](https://github.com/curvefi) | +| Discord | [https://discord.com/invite/9uEHakc](https://discord.com/invite/9uEHakc) | diff --git a/de/core-concepts/supported-strategies/dydx.md b/de/core-concepts/supported-strategies/dydx.md new file mode 100644 index 000000000..24f1a895e --- /dev/null +++ b/de/core-concepts/supported-strategies/dydx.md @@ -0,0 +1,27 @@ +# dYdX + +{% hint style="info" %} +Coming soon. DyDx has not yet been integrated. +{% endhint %} + +dYdX is a trading and lending protocol and platform built on Ethereum and launched in May 2019. Users can trade assets on dYdX's non-custodial, decentralized exchange or participate in borrowing and lending. The lending protocol enables margin and futures trading. Interest rates are adjusted based on supply and demand and only short term loans are offered. + +Liquidity for assets available for borrowing and lending are pooled together by asset type. Interest paid to lenders is accrued automatically and borrowers must put up collateral to take out a loan. + +dYdX also supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +dYdX has around $40 million in total value locked \(TVL\) at the time of this writing. dYdX does not have a native token. + +dYdX has undergone security audits by OpenZeppelin and Bramah Systems. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://dydx.exchange/](https://dydx.exchange/) | +| Developer docs | [https://docs.dydx.exchange/](https://docs.dydx.exchange/) | +| GitHub | [https://github.com/dydxprotocol/](https://github.com/dydxprotocol/) | +| Discord | [https://discord.gg/yah42Rb](https://discord.gg/yah42Rb) | + + + + + diff --git a/de/core-concepts/supported-strategies/uniswap.md b/de/core-concepts/supported-strategies/uniswap.md new file mode 100644 index 000000000..012e25e93 --- /dev/null +++ b/de/core-concepts/supported-strategies/uniswap.md @@ -0,0 +1,27 @@ +# Uniswap + +{% hint style="info" %} +Coming soon. Uniswap has not yet been integrated. +{% endhint %} + +Uniswap is a decentralized liquidity protocol and exchange on Ethereum, launched in November 2018. Uniswap v2 launched in May 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Markets on Uniswap operate as liquidity pools rather than order books. This type of exchange is called an Automated Market Maker \(AMM\). The exchange rate between the two assets is determined by a constant product formula and moves along a price curve depending on the relative weight of each asset in the pool. This encourages arbitrageurs to enter liquidity pools to rebalance the relative weights and normalize the exchange rate. + +Traders can suffer from slippage if there is not enough liquidity in a given pool and may not be protected from unfavorable exchange rates. Liquidity providers may suffer impermanent loss when the pool exchange rate does not match market realities and arbitrageurs execute trades along the pricing curve. + +Pool participants are given Uniswap Liquidity Provider \(LP\) tokens that correspond to their share of liquidity provided in a given pool. These LP tokens are freely transferable. Participants can exit pools at any time by redeeming these tokens for the assets provided and fees accrued. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Uniswap pools. + +Trading volumes on Uniswap now eclipse that of many traditional exchanges and regularly surpass $200 million daily. Uniswap has over $170 million in Total Value Locked \(TVL\) by liquidity providers. Uniswap does not have a native platform or governance token. + +Uniswap has had its smart contracts audited and formally verfied by dapp.org. Uniswap maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------ | +| Official site | [https://uniswap.org/](https://uniswap.org/) | +| Developer docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/de/core-concepts/supported-strategies/yearn.finance.md b/de/core-concepts/supported-strategies/yearn.finance.md new file mode 100644 index 000000000..3f23b9fdb --- /dev/null +++ b/de/core-concepts/supported-strategies/yearn.finance.md @@ -0,0 +1,25 @@ +# Yearn.finance + +{% hint style="info" %} +Coming soon. Yearn.finance has not yet been integrated. +{% endhint %} + +Yearn.finance, formerly iEarn.finance, is a yield aggregation platform built on Ethereum and launched in January 2020 by Andre Cronje. Yearn manages yield farming and rebalancing strategies using a combination of automation and human decision making on behalf of users who have deposited capital. + +Yearn has two yield aggregation products, Earn and Vaults. Earn allows users to deposit stablecoins or wrapped BTC into liquidity pools on Curve to earn fees and governance token rewards. These assets are also lent out on platforms offering high yield and token rewards, adding to the yield earned. + +Vaults offer a more automated and managed experience. Users deposit assets such as LINK, Curve liquidity provider tokens, or stablecoins and the Vault pools these assets together and deploys the highest earning yield farming strategy as deemed safe by the community and Andre Cronje. Governance tokens earned as rewards are sold off for the original asset deposited and combined with other fees and automatically rolled into the Vault to compound yield. Strategies can be changed frequently and pooling assets together saves gas costs for users. + +Yearn is governed by YFI, an ERC-20 governance token. YFI holders can vote on protocol changes after agreeing to lock up their YFI for 3 days. YFI can also be staked for yield in the governance portal. This yield comes from fees charged to users on Yearn products. YFI was distributed entirely to liquidity providers on Curve and Balancer. There was no allocation for team members or investors. + +Yearn's total value locked \(TVL\) has quickly grown to over $800 million, making it one of the largest DeFi platforms. YFI has a circulating market cap of over $400 million. + +Yearn has undergone multiple security and smart contract audits by CertiK, Quantstamp, HackMD, and CryptoManiacs. Yearn has a reputation for launching experimental products very quickly and warns users that their products are in beta. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://yearn.finance/](https://yearn.finance/) | +| Developer docs | [https://docs.yearn.finance/](https://docs.yearn.finance/) | +| GitHub | [https://github.com/iearn-finance](https://github.com/iearn-finance) | +| Discord | [https://discord.gg/uTmHe8r](https://discord.gg/uTmHe8r) | + diff --git a/de/core-concepts/wrapped-ousd.md b/de/core-concepts/wrapped-ousd.md new file mode 100644 index 000000000..bea00ee4b --- /dev/null +++ b/de/core-concepts/wrapped-ousd.md @@ -0,0 +1,31 @@ +# Wrapped OUSD + +Wrapped OUSD provides a non-rebasing version of OUSD that still earns yield. This makes it easier to use OUSD as a building block for other contracts and it may provide tax benefits in some jurisdictions. + +![Two flavors, up only](https://cdn-images-1.medium.com/max/1600/1\*cqRG-8-64XYx9QChoMxk3g.png) + +### How wrapped OUSD works + +When you wrap OUSD, you get back a fixed number of wOUSD tokens. This number will not go up - you will have the same number of wOUSD tokens tomorrow as you have today. However, the number of OUSD tokens that you can unwrap will go up over time. + +For example, if you wrap 10,000 OUSD, you might receive 9,423 wOUSD. If you hold for a while, you will still have 9,423 wOUSD, but when you unwrap the wOUSD, you receive 11,500 OUSD. + +Both OUSD and wOUSD earn at the same rate and can be transferred just like any other ERC-20 token. wOUSD is one of the first implementations of [EIP-4626](https://eips.ethereum.org/EIPS/eip-4626), which is an extension on ERC-20 that provides basic functionality for depositing and withdrawing tokens and reading balances on a tokenized vault. wOUSD was independently [audited by Solidified](https://github.com/OriginProtocol/security/blob/3dc8c1dec2f6fbf4f7d0bdf92408f79262624647/audits/Solidified%20-%20OGV,%20wOUSD,%20and%20ERC721a%20-%20May%202022.pdf) in May 2022 and is ready for production use. + +### Wrapping + +If you don’t already have OUSD, you can buy it from Gate.io, KuCoin, Curve, Uniswap, or [get it directly from the OUSD DApp](https://www.youtube.com/watch?v=UabjvL-7iu4). + +Once you have OUSD in your wallet, visit [ousd.com/wrap](https://ousd.com/wrap) and follow these steps: + +1. Connect your wallet +2. Enter the amount of OUSD that you want to wrap +3. Submit the allowance for the wOUSD contract to use your OUSD +4. Submit the transaction to wrap your OUSD + +![ousd.com/wrap](https://cdn-images-1.medium.com/max/1600/1\*57fSZSSlzebhpIl8R4UqUQ.png) + +### Unwrapping + +Unwrapping your OUSD does not require any approvals since you already hold the wOUSD in your wallet. There's also no minimum term or lock-up period. You can use the same form shown above and just click the arrow to flip it to unwrap mode. This form calls the `redeem` function to unwrap a spcific amount of wOUSD. You can also [use Etherscan](https://etherscan.io/address/0xd2af830e8cbdfed6cc11bab697bb25496ed6fa62#writeProxyContract) to call the `withdraw` function if you prefer to specify the amount of OUSD that you want to be taken out. + diff --git a/de/core-concepts/yield-generation/README.md b/de/core-concepts/yield-generation/README.md new file mode 100644 index 000000000..b1d3861bc --- /dev/null +++ b/de/core-concepts/yield-generation/README.md @@ -0,0 +1,30 @@ +# Yield Generation + +**Automated Yield Farming** + +While the Cambrian explosion of new lending and automated market maker pools has fueled total value locked (TVL), it has also made it increasingly challenging for yield farmers to manually allocate capital in efficient and optimal ways. + +[Yearn](https://yearn.finance) has demonstrated that smart contracts can automate the rebalancing of funds across various strategies to optimally earn lending interest, market-making fees, and rewards tokens. Over time, new strategies will be deployed that maximize returns while minimizing risk and dependencies. + +![Automated yield farming on the OUSD protocol](../../.gitbook/assets/ousd_earnings_graphic.png) + +OUSD uses the following high-level strategies for generating yield: + +{% content-ref url="lending.md" %} +[lending.md](lending.md) +{% endcontent-ref %} + +{% content-ref url="market-making.md" %} +[market-making.md](market-making.md) +{% endcontent-ref %} + +{% content-ref url="rewards.md" %} +[rewards.md](rewards.md) +{% endcontent-ref %} + +OUSD is able to generate higher yields than competing protocols due to a combination of important design decisions that amplify the rewards that are returned to OUSD holders: + +* Exit fees are returned to the pool, rewarding long term holders +* Price oracles favor the collective over the individual, again rewarding long term holders +* Smart contracts must manually opt-in to earn yield. This allows the protocol to put more capital to work than would be otherwise possible. +* Smart strategies balance risk and reward more effectively than deploying capital in any single underlying strategy. diff --git a/de/core-concepts/yield-generation/lending.md b/de/core-concepts/yield-generation/lending.md new file mode 100644 index 000000000..fa7607781 --- /dev/null +++ b/de/core-concepts/yield-generation/lending.md @@ -0,0 +1,26 @@ +# Lending + +**Unbank the Banked** + +DeFi lending platforms let users lend and borrow crypto assets without any middlemen. Both lenders and borrowers get more value from their crypto. Lenders earn interest, while borrowers deposit crypto as collateral to gain access to credit without traditional banking headaches. DeFi lending platforms currently provide far superior returns for lenders than are generally available in the traditional markets. + +OUSD integrates with DeFi lending platforms that provide over-collateralized loans. Over-collateralization, combined with smart rules around liquidations, provide a reasonable level of security for lenders. Aave also additionally secures their lending pools with AAVE tokens respectively, further lowering risk. + +OUSD integrates with leading lending providers that have a proven track record, audited smart contracts, and have successfully lent hundreds of millions of dollars without issue. We are currently integrated with the following lending platforms: + +{% content-ref url="../supported-strategies/compound.md" %} +[compound.md](../supported-strategies/compound.md) +{% endcontent-ref %} + +{% content-ref url="../supported-strategies/aave.md" %} +[aave.md](../supported-strategies/aave.md) +{% endcontent-ref %} + + + + + + + + + diff --git a/de/core-concepts/yield-generation/market-making.md b/de/core-concepts/yield-generation/market-making.md new file mode 100644 index 000000000..464b5f13e --- /dev/null +++ b/de/core-concepts/yield-generation/market-making.md @@ -0,0 +1,22 @@ +# Market Making + +**Own your Stake in Decentralized Exchanges** + +Automated market makers (AMMs) have quickly risen as the preferred form of decentralized exchange on the Ethereum network. This is in part due to the difficulty of supporting order book DEXes on Ethereum 1.0 that can rival the instant and low-slippage experiences on centralized exchanges. Further, AMMs like Uniswap are relatively user-friendly and gas-efficient to use. + +AMMs can only enable new markets when liquidity providers supply liquidity (e.g. multiple tokens for given trading pairs or pools). In return for providing liquidity, liquidity providers are rewarded with trading fees when other users swap tokens. For example, when traders swap two tokens on Uniswap v3, they are currently charged anywhere between 0.05% and 1% on top of the gas fees. These fees are distributed pro-rata to liquidity providers of the pair based on the percentage of total liquidity that they have provided. + +{% hint style="info" %} +[Impermanent loss](https://medium.com/@pintail/uniswap-a-good-deal-for-liquidity-providers-104c0b6816f2) is an important risk factor to understand, but this concern is largely mitigated by OUSD only providing liquidity for stablecoins of approximately equal value. +{% endhint %} + +The OUSD protocol routes USDT, USDC, and DAI to highly-performing liquidity pools as determined by trading volume and rewards tokens (e.g. Curve rewards CRV tokens to liquidity providers). Yields are then passed on to OUSD holders. + +We are currently integrated with the following automated market maker: + +{% content-ref url="../supported-strategies/curve.md" %} +[curve.md](../supported-strategies/curve.md) +{% endcontent-ref %} + + + diff --git a/de/core-concepts/yield-generation/rewards.md b/de/core-concepts/yield-generation/rewards.md new file mode 100644 index 000000000..f598afe7c --- /dev/null +++ b/de/core-concepts/yield-generation/rewards.md @@ -0,0 +1,12 @@ +# Rewards + +**Collecting Rewards** + +In addition to collecting interest from lending and fees from market making, we intend to automatically claim and convert the bonus incentives that are being distributed by many of the DeFi protocols. For example, Compound gives away COMP tokens and Curve gives away CRV tokens. These bonus rewards will be regularly converted into stablecoins, deployed in the market, and distributed to OUSD holders in the form of additional yield. + +{% hint style="info" %} +While the vault safely stores any unexpected rewards that it receives, custom strategies will need to be written and deployed to decide when and how the protocol should convert them to stablecoins. +{% endhint %} + +Today, rewards are a significant factor for yield farmers as they represent a large percentage of their returns. We anticipate that the OUSD protocol will be upgraded over time to take advantage of the most attractive yields available across the DeFi landscape. The protocol will factor in the market value of the various rewards being offered when deciding how to best allocate resources. + diff --git a/de/faq.md b/de/faq.md new file mode 100644 index 000000000..6d47859ae --- /dev/null +++ b/de/faq.md @@ -0,0 +1,33 @@ +# FAQ + +**Where can I buy OUSD?** + +Check out [Getting Started](https://docs.ousd.com/getting-started) to see a variety of options. + +**What are the costs to mint and redeem OUSD?** + +As with any Ethereum transaction, you will need Ether to interact with the OUSD smart contract. We have taken measures to reduce gas usage where possible, but these costs can vary. + +Anytime you mint or redeem OUSD, there will be an exchange rate applied to your stablecoins deposited or withdrawn. You can read more about this in [Price Oracles](https://docs.ousd.com/core-concepts/price-oracles). + +To encourage long-term holding of OUSD and to protect the protocol from attackers, an exit fee of 0.25% is charged on all redeems. You can read more about this in [How It Works](https://docs.ousd.com/how-it-works). + +**How soon will my balance increase once I have OUSD?** + +The amount of OUSD in your wallet will grow each time there is a positive rebase event. You can read more about this in [Elastic Supply](https://docs.ousd.com/core-concepts/elastic-supply). The supply is currently rebased several times per day and is usually correlated with how many people are minting and redeeming OUSD. + +**Why does OUSD not grow when it's held in Uniswap, SushiSwap, etc?** + +By default, rebase events don't affect the supply of OUSD that is sitting in smart contracts. These contracts can opt in to receiving additional OUSD if they are capable of handling elastic supply tokens. You can read more about this in [Rebasing & Smart Contracts](https://docs.ousd.com/core-concepts/elastic-supply/rebasing-and-smart-contracts). + +**How is it possible for the APY to be so high?** + +You can read about our various strategies in [Yield Generation](https://docs.ousd.com/core-concepts/yield-generation). We currently get most of the yield from harvesting rewards tokens (namely COMP and CRV). Additionally, the yield increases as more OUSD is held in smart contracts that do not opt into rebasing since the underlying collateral continues to earn for the average OUSD holder. + +**Why is my balance increasing at a slower rate than the advertised APY?** + +OUSD balances increase when the supply is rebased. But the size of each rebase varies wildly depending on how much the vault has earned since the last rebase. And while most rebases collect a small amount earnings from lending strategies, other rebases involve liquidating rewards tokens or collecting fees. As a result, the yield will vary significantly during short time periods. + +**What about the hack? Is OUSD safe?** + +On November 7th 2020, OUSD was exploited for 7M USD due to a previously undetected reentrancy bug. You can read more [details about the hack](https://medium.com/originprotocol/urgent-ousd-has-hacked-and-there-has-been-a-loss-of-funds-7b8c4a7d534c) on our blog as well as the [detailed compensation plan](https://medium.com/originprotocol/origin-dollar-ousd-detailed-compensation-plan-faa73f87442e) for taking care of the affected users. Origin Dollar was relaunched in December after completing multiple audits and security upgrades. You can learn more about the steps taken to secure the protocol in our [relaunch announcement](https://medium.com/originprotocol/origin-dollar-ousd-is-back-b8ee0c601dad). diff --git a/de/getting-started.md b/de/getting-started.md new file mode 100644 index 000000000..a02770326 --- /dev/null +++ b/de/getting-started.md @@ -0,0 +1,71 @@ +# Getting Started + +These docs are intended to explain how OUSD works, communicate the potential risks and benefits, and provide a guide for developers who wish to contribute to our codebase or integrate OUSD into their products. Here are a few ways for you to dive in and get started. + +**Buying OUSD** + +{% hint style="info" %} +The [Origin Dollar DApp](https://ousd.com/swap) will intelligently route your transaction to get you the best rate. +{% endhint %} + +The [Origin Dollar DApp](https://ousd.com/swap) allows anyone to buy or sell OUSD using a web-3 enabled cryptocurrency wallet like [Metamask](https://www.metamask.io), [Ledger](https://www.ledger.com), or [Gnosis Safe](https://gnosis-safe.io). This is the native way to get OUSD, especially if you want a large amount that could risk moving the market on other exchanges. The DApp will intelligently decide whether to create or trade-in OUSD tokens using the vault or help you complete the trade on whichever AMM is currently offering the best rate. + +**Decentralized Exchanges** + +OUSD is currently available on the following decentralized exchanges. These are listed here for reference only. We recommend using the [Origin Dollar DApp](https://ousd.com/swap) to ensure you always get the best rate. + +* [Buy OUSD on 1inch](https://app.1inch.io/#/1/swap/USDT/OUSD) +* [Buy OUSD on Curve](https://curve.fi/factory/9) +* [Buy OUSD on Uniswap v3](https://app.uniswap.org/#/swap?inputCurrency=0xdac17f958d2ee523a2206206994597c13d831ec7\&outputCurrency=0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86) +* [Buy OUSD on Uniswap v2](https://app.uniswap.org/#/swap?inputCurrency=0xdac17f958d2ee523a2206206994597c13d831ec7\&outputCurrency=0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86\&use=v2) +* [Buy OUSD on Sushiswap](https://exchange.sushiswapclassic.org/#/swap?inputCurrency=0xdac17f958d2ee523a2206206994597c13d831ec7\&outputCurrency=0x2a8e1e676ec238d8a992307b495b45b3feaa5e86) + +**Centralized Exchanges** + +OUSD is currently available on the following centralized exchanges. Be sure to check on how they are handling the yield that is being generated by the protocol. Depending on the exchange, there may be additional steps you need to take to participate in the yield while it's being held in their custody. + +* Buy OUSD on KuCoin + * [OUSD/USDT](https://trade.kucoin.com/OUSD-USDT) + * [OUSD/BTC](https://trade.kucoin.com/OUSD-BTC) +* Buy OUSD on Gate.io + * [OUSD/USDT](https://www.gate.io/trade/OUSD\_USDT) +* Buy OUSD on Virgox + * [OUSD/USDT](https://virgox.com/exchange/141) +* [Buy OUSD on Dharma App](https://www.dharma.io) (US only) + +We're continuing to work on making OUSD available on additional centralized exchanges. + +**Adding OUSD to Your Wallet** + +{% hint style="success" %} +The main ERC20 address for Origin Dollar (OUSD) is: \ +**0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +If your OUSD does not automatically show up in your wallet, you should be able to add it manually using the address above. If you are planning on [storing your OUSD in a multi-sig wallet](core-concepts/elastic-supply/rebasing-and-smart-contracts.md), be sure to opt-in to receive yield. We want to have OUSD supported by as many wallets as possible and included on all the various lists of well-known tokens. We would greatly appreciate any help you can offer in this area. + +**Integrating OUSD** + +OUSD is a non-standard ERC-20 token that requires custom integration work for most applications that wish to support it. In particular, it is important for developers to understand how our elastic supply works as this can easily cause unexpected behavior. + +If you are a wallet provider or crypto exchange that is interested in supporting OUSD, please refer to the following guides: + +{% content-ref url="core-concepts/elastic-supply/rebasing-and-smart-contracts.md" %} +[rebasing-and-smart-contracts.md](core-concepts/elastic-supply/rebasing-and-smart-contracts.md) +{% endcontent-ref %} + +{% content-ref url="smart-contracts/architecture.md" %} +[architecture.md](smart-contracts/architecture.md) +{% endcontent-ref %} + +{% content-ref url="smart-contracts/api/" %} +[api](smart-contracts/api/) +{% endcontent-ref %} + +**Developer Analytics** + +Our internal developer dashboard is available at [analytics.ousd.com](https://analytics.ousd.com). The dashboard shows the current circulating supply, the assets under management in the vault, and the current allocations between each of the stablecoins and strategies. + +**Getting Help** + +Please join the Origin Dollar #engineering room in Origin's [Discord](https://www.originprotocol.com/discord) server. Our team and members of our community look forward to helping you build. Your questions help us improve, so please don't hesitate to ask if you can't find what you are looking for here. diff --git a/de/governance/admin-privileges.md b/de/governance/admin-privileges.md new file mode 100644 index 000000000..30ed8065a --- /dev/null +++ b/de/governance/admin-privileges.md @@ -0,0 +1,32 @@ +# Admin Privileges + +The OUSD smart contracts are designed to be owner upgradable. The Origin team uses two different Gnosis multisig wallet contracts in order to make changes to the protocol. These multisig wallets have been [audited by OpenZeppelin](https://blog.openzeppelin.com/gnosis-multisig-wallet-audit-d702ff0e2b1e/), [ConsenSys Dilligence](https://blog.gnosis.pm/the-gnosis-multisig-wallet-and-our-commitment-to-security-ce9aca0d17f6), Origin’s team, and others. + +{% hint style="info" %} +Time-delayed admin actions gives users a chance to exit OUSD if its admins become malicious, are compromised, or make a change that the users do not like. +{% endhint %} + +### Admin + +The primary admin is a 5 of 8 multisig contract which is required to make any code changes to the protocol. OUSD can only be upgraded from this 5 of 8 multi-sig wallet. The keys to this multi-sig are held by individuals with close ties to the company, and not even the Origin founders acting together have enough control to execute owner functions on their own. In addition, the OUSD contracts are owned by a [timelock](../smart-contracts/api/timelock.md) which places a 48 hour time delay before any changes to the protocol can be made. + +### Strategist + +Some functionality, such as rebalancing funds between strategies or pausing deposits, can be triggered without the timelock and with far fewer signers. This allows the Origin team to react more quickly to market conditions or security threats. These signers, known as Strategists, have the ability to execute a limited number of functions __ with only 2 of 9 signers. + +The strategist multisig can do the following actions on the vault: + +* reallocate - move funds between strategies +* setVaultBuffer - adjust the amount of funds held outside strategies for cheaper redeems. +* setAssetDefaultStrategy - which strategy mints and redeems pull from for a particular strategy +* withdrawAllFromStrategy - remove funds from a single strategy and send them to the vault +* withdrawAllFromStrategies - remove funds from all active strategies and send them to the vault +* pauseRebase - pause all rebases +* pauseCapital - pause all mints and redeems +* unpauseCapital - allow all mints and redeems + +### Future + +Having these admin privileges is necessary in the early days to ensure that the protocol is secure and optimized for earning yields while minimizing risks. We expect to release multiple iterations of our smart contracts in the first several months of the protocol's existence. + +Once several upgrade cycles have been completed, we intend to transfer ownership from our company control to a decentralized governance contract, thereby allowing the community to vote and participate in future protocol updates. diff --git a/de/governance/contributing.md b/de/governance/contributing.md new file mode 100644 index 000000000..5b63d22c7 --- /dev/null +++ b/de/governance/contributing.md @@ -0,0 +1,103 @@ +# Contributing + +**100% Open-source** + +OUSD is an entirely open-source project and we welcome contributions of all sorts. There are many ways to help, from reporting issues, contributing code, and helping us improve our community. + +{% content-ref url="broken-reference" %} +[Broken link](broken-reference) +{% endcontent-ref %} + +We work in public and our company Discord is open to all. If you have questions or need help getting started, our [Discord OUSD channels](https://discord.gg/jyxpUSe) are the best place to get assistance from our team and community. + +{% content-ref url="broken-reference" %} +[Broken link](broken-reference) +{% endcontent-ref %} + +**Developer Analytics** + +Our internal developer dashboard is available at [analytics.ousd.com](https://analytics.ousd.com). The dashboard shows the current circulating supply, the assets under management in the vault, and the current allocations between each of the stablecoins and strategies. Various other developer tools can be found at [ousd.com/dashboard](https://ousd.com/dashboard). + +#### Development Process + +Our branching strategy is similar to [GitFlow](http://nvie.com/posts/a-successful-git-branching-model/), but we do all of our development in the `master` branch and have a `stable` branch for code that has been released. + +Your development flow should look like: + +1. Find an interesting issue and communicate! Please let the `#engineering` [Discord](https://discord.gg/jyxpUSe) channel know what you want to work on. +2. Ping a [core team member](https://github.com/orgs/OriginProtocol/teams/core/members) member on Discord and ask to be added to our [contributors team](https://github.com/orgs/OriginProtocol/teams/contributors). Otherwise, you’ll need to fork the relevant repository and push feature branches to your own fork. +3. Add a comment to the issue or self-assign so we don’t have multiple contributors unintentionally working on the same task. +4. Start with the `master` branch and check out a new feature branch unless you’re contributing to an existing feature. +5. Write some awesome code. +6. Pull the latest commits from `master` and confirm that your code works with any other work that has been merged since you started. +7. Push your branch to the upstream repository (i.e. https://github.com/OriginProtocol/\[repo]) so that other contributors can easily work off of it if necessary. +8. Please request a review in the PR by clicking on the gear icon next to “Reviewers” in the right column. + +For critical smart contract code to be merged it must pass the following checklist: + +* Code reviewed by 2 reviewers +* Unit tests pass +* Slither tests pass with no warning +* Echidna tests pass + +The `master` branch is locked so that only members of the [core team](https://github.com/orgs/OriginProtocol/teams/core) are able to merge your pull requests. Pull requests that are peer-reviewed by other trusted contributors will be fast-tracked and merged faster! Check in the `#engineering` Discord channel for appropriate reviewers. + +#### Coding Style + +We use a variety of programming languages in our repositories. When contributing, please follow existing coding conventions and refer to the CONTRIBUTING.md file in the repository, if one exists. + +For JavaScript, we use [NPM’s style](https://docs.npmjs.com/misc/coding-style), which is automatically enforced via [prettier](https://prettier.io). + +For Solidity, we use two-space indents. + +#### Protocol Design + +When considering protocol or implementation design proposals, we are looking for: + +* A description of the problem this design proposal solves +* Discussion of the trade-offs involved +* Review of other existing solutions +* Links to relevant literature (RFCs, papers, etc) +* Discussion of the proposed solution + +Please note that protocol design is hard and meticulous work. You may need to review existing literature and think through generalized use cases. + +#### Community Guidelines + +We want to keep the Origin community awesome, growing and collaborative. We need your help to keep it that way. To help with this we’ve come up with some general guidelines for the community as a whole: + +* Be nice: Be courteous, respectful and polite to fellow community members: no regional, racial, gender, or other abuse will be tolerated. We like nice people way better than mean ones! +* Encourage diversity and participation: Make everyone in our community feel welcome, regardless of their background and the extent of their contributions, and do everything possible to encourage participation in our community. +* Keep it legal: Basically, don’t get anybody in trouble. Share only content that you own, do not share private or sensitive information, and don’t break laws. +* Stay on topic: Make sure that you are posting to the correct channel and avoid off-topic discussions. Remember when you update an issue or respond to an email you are potentially sending to a large number of people. Please consider this before you update. Also remember that nobody likes spam. + +#### Reporting Issues + +If you find bugs, mistakes or inconsistencies in Origin’s code or documents, please let us know by filing a GitHub issue. No issue is too small. Help us fix our tpyos! + +#### Security Issues + +OUSD is still in early development, which means there may be problems with the protocol or in our implementations. We take security vulnerabilities very seriously. If you discover a security issue, please bring it to our attention right away! + +If you find a security vulnerability please send your report privately to [security@originprotocol.com](mailto:security@originprotocol.com) or send an encrypted message to [@joshfraser on Keybase](https://keybase.io/joshfraser). Please DO NOT file a public issue. Be sure to review our guidelines for responsible disclosure and eligibility for bug bounties. + +{% content-ref url="../security-and-risks/bug-bounties.md" %} +[bug-bounties.md](../security-and-risks/bug-bounties.md) +{% endcontent-ref %} + +#### **Community Improvement** + +Origin is just as much about community as it is about our technology. + +We need constant help in improving our documentation, building new tools to interface with our platform, spreading the word to new users, helping new users getting setup and much more. + +Please get in touch if you would like to help out. Our `discussion` channel on [Discord](https://www.originprotocol.com/discord) is a great place to share ideas and volunteer to help. + +#### Full-Time Positions + +Origin occasionally hires developers for part-time or full-time positions. + +We have a strong preference for hiring people who have already started contributing to the project. If you want a full-time position on our team, your best shot is to engage with our team and start contributing code. It is very unlikely that we would offer you a full-time position on our engineering team unless you’ve had at least a few pull requests merged. + +If you are interested, check out [the Origin Protocol job listings](https://angel.co/originprotocol/jobs). If you’d like to help in other ways, please propose your ideas in [our Discord channel](https://www.originprotocol.com/discord). + diff --git a/de/governance/governance.md b/de/governance/governance.md new file mode 100644 index 000000000..eea11a787 --- /dev/null +++ b/de/governance/governance.md @@ -0,0 +1,26 @@ +# Principles + +**Progressive Decentralization** + +OUSD is designed to be a decentralized protocol governed by many stakeholders all over the world. We believe that the minters and holders of OUSD should collectively determine important protocol decisions as soon as possible. + +That being said, in the very early days, it is imperative that the core engineering team can act quickly and decisively to build the foundational parts of the protocol. + +Decentralization will progress across four phases rapidly over the next few months. It is our intent to relinquish control and governance to the community as soon as possible. + +![](../.gitbook/assets/ousd_docs_graphics_2%20%283%29.png) + +**Timelock** + +Prior to full decentralized governance, we will implement a [timelock](../smart-contracts/api/timelock-1.md) in front of all admin function calls, giving OUSD users time \(48 hours\) to withdraw their funds if they have objections to our proposed upgrades. This timelock will be added shortly after launch. + +**New and Existing Stakeholders** + +OUSD is a new project founded by Origin Protocol [team](www.originprotocol.com/team) and will be supported by the existing Origin community as well as many new stakeholders that choose to mint, hold, use, and provide liquidity for OUSD. + +In addition, we also want to ensure high participation from our existing Origin Token \(OGN\) holders, community of close to 500,000 members, and buyers/sellers on the Platform. Existing OGN holders will be able to stake their OGN to participate in governance and earn incentives for driving value to OUSD. More details will be provided in the near future. + +The strong connection between OUSD and the rest of the Origin commerce platform will fuel growth in both initiatives. + + + diff --git a/de/governance/ogn-staking.md b/de/governance/ogn-staking.md new file mode 100644 index 000000000..e7a3e0bc2 --- /dev/null +++ b/de/governance/ogn-staking.md @@ -0,0 +1,18 @@ +# OGN Staking + +Origin Token (OGN) is intended as the governance token for OUSD and OGN will play an increasingly important role as the Origin Platform becomes more decentralized. Today, users can stake their OGN tokens to earn additional OGN after a chosen staking period has elapsed. + +{% hint style="info" %} +Visit the [OUSD DApp](https://www.ousd.com/stake) in a web3-enabled browser to stake your OGN. +{% endhint %} + +The initial staking program offers three staking periods and respective yields: + +* 30-day staking period: Earn 7.5% annualized interest +* 90-day staking period: Earn 12.5% annualized interest +* 365-day staking period: Earn 25% annualized interest + +Staked tokens will be locked for the duration of the staking period. After each staking period ends, you will be able to claim both your initial OGN (principal) and yield. + +OGN is currently trading on top exchanges like [Coinbase](https://www.coinbase.com/price/origin-token), [Binance](https://www.binance.com/en/register?ref=NPPYAEAE), [Huobi](https://www.huobi.com/en-us/exchange/ogn_usdt/), [Upbit](https://upbit.com/exchange?code=CRIX.UPBIT.BTC-OGN), [Bittrex Global](https://global.bittrex.com/Market/Index?MarketName=BTC-OGN), and [dozens more](https://coinmarketcap.com/currencies/origin-protocol/markets/). Visit the Origin website to [learn more about OGN](https://www.originprotocol.com/ogn-token) or check out the [OGN Dashboard](https://www.originprotocol.com/dashboard) to track important token metrics. + diff --git a/de/governance/phases.md b/de/governance/phases.md new file mode 100644 index 000000000..4b45be826 --- /dev/null +++ b/de/governance/phases.md @@ -0,0 +1,6 @@ +# Phases + +Progressive decentralization will follow four phases as outlined below. + +![](../.gitbook/assets/ousd_docs_graphics_2%20%282%29.png) + diff --git a/de/governance/principles.md b/de/governance/principles.md new file mode 100644 index 000000000..b809ce66f --- /dev/null +++ b/de/governance/principles.md @@ -0,0 +1,30 @@ +# Principles + +**Governance Portal** + +OGN holders are encouraged to participate in creating and voting on proposals that impact the protocol in the [OGN governance portal](https://vote.originprotocol.com). Anyone with at least 1,000 OGN in their wallet or staked in our OGN Staking contract can create a new proposal using Snapshot. All OGN holders are able to vote for proposals. Our desire is for our community to have a strong impact on the direction of Origin’s products, open-source codebase, and to have a voice in key business decisions and the overall direction of the project. + +OGN holders can also [delegate votes](vote-delegation.md) to another account. + +**Progressive Decentralization** + +OUSD is designed to be a decentralized protocol governed by many stakeholders all over the world. We believe that the holders of OUSD should collectively determine important protocol decisions as soon as possible. + +That being said, in the very early days, it is imperative that the core engineering team can act quickly and decisively to build the foundational parts of the protocol. + +Decentralization will progress across four phases rapidly over the next few months. It is our intent to relinquish control and governance to the community as soon as possible. + +![](../.gitbook/assets/ousd\_docs\_graphics\_2 (2).png) + +**Timelock** + +Prior to full decentralized governance, we will implement a [timelock](../smart-contracts/api/timelock.md) in front of all admin function calls, giving OUSD users time to withdraw their funds if they have objections to our proposed upgrades. + +**New and Existing Stakeholders** + +OUSD is a new project founded by Origin Protocol [team](https://www.originprotocol.com/team) and will be supported by the existing Origin community as well as many new stakeholders that choose to mint, hold, use, and provide liquidity for OUSD. + +In addition, we also want to ensure high participation from our existing Origin Token (OGN) holders and the millions of people in our community. Existing OGN holders are able to [stake their OGN](ogn-staking.md) to participate in governance and earn incentives for driving value to OUSD. + +The strong connection between OUSD and the rest of the Origin commerce platform will fuel growth in both initiatives. + diff --git a/de/governance/vote-delegation.md b/de/governance/vote-delegation.md new file mode 100644 index 000000000..9a8149d2f --- /dev/null +++ b/de/governance/vote-delegation.md @@ -0,0 +1,18 @@ +# Vote Delegation + +OGN holders can forward their voting power on the [Governance Portal](https://vote.originprotocol.com/#/) to another Ethereum address. Choosing this option does not strip the delegator of their voting power. The delegatee receives the extra voting power only on proposals the delegator has not voted on. + +This is convenient when users want someone they trust or even one of Origin's team members to make governance decisions regarding Origin's ecosystem. It is also useful when users have OGN stored more safely in a hardware wallet and don’t want to go through the hassle of connecting it to the computer. A more accessible Ethereum wallet e.g. Metamask can be used to vote by having voting power delegated to it from the hardware wallet.\ + + +**How to Delegate** + +* Go to: [https://snapshot.org/#/delegate](https://snapshot.org/#/delegate). +* Type in the address or ENS name you want to delegate to. +* There is an option to limit the delegation power to only Origin’s products by selecting _Limit delegation to a specific space_ and typing in “origingov.eth”. +* Click confirm to save your delegation.\ + + +![](../.gitbook/assets/Screenshot 2022-03-20 at 10.47.43.png) + +After completing these steps, the OGN voting power is successfully delegated to the address specified. diff --git a/de/guides/incentivized-harvesting-guide.md b/de/guides/incentivized-harvesting-guide.md new file mode 100644 index 000000000..a24597e9c --- /dev/null +++ b/de/guides/incentivized-harvesting-guide.md @@ -0,0 +1,46 @@ +# Incentivized Harvesting Guide + +The OUSD Harvester contract collects reward tokens earned by the OUSD strategies, sells them, and sends them on to increase protocol yield. **Anyone can call the harvest and earn 1% of the resulting USDT** for doing so. This creates a self-incentivizing system that operates at a known cost to the protocol. + +### When to call + +You'll want to call this contract when it is profitable to do so. You gain the 1% harvest USDT given by the contract, and spend the gas cost to send the transaction. + +The simplest way to calculate both of these is to simulate the transaction. You can then look at the resulting transfers to know the income received, and you can look at the gas amount used, the current gas prices, and the current cost of ETH, to find out the cost. + +Alternatively you can precompute the gas used for a given strategy's harvest, look up the pending reward tokens using various online services, then do your calculations without using the blockchain. + +The amount of rewards increases at a fairly steady, predictable rate. The primary variation is in gas prices, which will make a much bigger minute to minute difference on when you should call this. + +When calculating profitability, remember to account for the cost to swap back to ETH from USDT. + +### How to call + +When you call the harvest, **you will want to use some form of MEV protection**. Otherwise bots will see that your transaction is profitable, and execute it ahead of you, leaving you no gain and only gas fees. + +To harvest, you call `harvester.harvestAndSwap(strategyAddress, rewardTo)`. + +The harvester address and strategyAddresses can be found in the strategy tab of the [contract registry](../smart-contracts/registry.md). The `rewardTo` address is the account that will receive the USDT funds as a reward for calling the function - use your own address for it. + +Below is the harvestAndSwap ABI: + +``` +[{ + "inputs": [ + { + "internalType": "address", + "name": "_strategyAddr", + "type": "address" + }, + { + "internalType": "address", + "name": "_rewardTo", + "type": "address" + } + ], + "name": "harvestAndSwap", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" +}] +``` diff --git a/de/guides/integration-guide-for-exchanges.md b/de/guides/integration-guide-for-exchanges.md new file mode 100644 index 000000000..cda6f2cd1 --- /dev/null +++ b/de/guides/integration-guide-for-exchanges.md @@ -0,0 +1,34 @@ +# Integration Guide For Exchanges + +Centralized exchanges will play an important role in helping us reach our goal of making OUSD ubiquitous. We are happy to help any exchange that wants to make OUSD available to its users. We believe OUSD will make a great addition to any exchange that wants to offer both a superior stablecoin and a new high-yield opportunity for their users. + +These docs are a great starting point for understanding how OUSD works. Here are some important questions for exchanges that wish to integrate OUSD to consider: + +**Do you want to participate in the yield that is generated?** + +We're assuming the answer will be yes and we highly encourage this as well! However, there may be some instances where you would prefer to move fast and list OUSD without participating in the [rebasing nature of OUSD](../core-concepts/elastic-supply/rebasing-and-smart-contracts.md) since it's the fastest and simplest integration. For exchanges that want to list OUSD, but are strapped for engineering resources, you may want to launch the non-rebasing version first while your engineers make whatever changes are necessary. To make OUSD non-rebasing you can call `rebaseOptOut()` from each EOA wallet that holds OUSD, or do nothing if you are storing OUSD on smart contracts. Non-rebasing OUSD behaves just like any other ERC-20 token. + +**Are you storing customer balances on smart contracts (ie. multi-sigs) or EOA wallets?** + +Any smart contract that is holding OUSD needs to manually opt-in to receive the yield by calling `rebaseOptIn()`. This is due to the [elastic supply](../core-concepts/elastic-supply/) and the [rebasing nature of OUSD](../core-concepts/elastic-supply/rebasing-and-smart-contracts.md). Many exchanges sweep customer funds into a multi-sig wallet for cold storage. If you do this, you'll want to make sure that you opt-in to rebasing so that you are always earning. + +**Are you caching user balances?** + +OUSD dynamically updates the value returned by the `balanceOf()` function on our ERC20 contract. Users' balances will update at unpredictable times as new yield is generated by the protocol. As long as you aren't caching this value, users will always see the correct amount of OUSD that they are holding. + +It's important to note that while OUSD is a rebasing token, user balances will only rebase in a positive direction (your balance will never go down). This makes things a lot simpler than integrating with other rebasing coins like AMPL or other algo-stables. + +**Are you comingling user funds?** + +If you are comingling funds, you'll want to be sure that each user gets their pro-rata amount of the yield that is generated by the protocol. Probably the easiest way to do this is to track each user's balance as a percentage of a pool instead of as a fixed amount. + +**Are you planning to provide liquidity?** + +The Origin team is often willing to provide a market maker and initial liquidity for exchanges that wish to integrate OUSD. There are also 9 figures worth of liquidity available on decentralized exchanges like [Curve](https://curve.fi/factory/9). + +If you are interested in using OUSD to power your own staking or earning program, you will probably want to be able to access OUSD on demand. OUSD can always be minted or redeemed using the [Origin Dollar DApp](https://www.ousd.com), or directly from the OUSD [smart contracts](../smart-contracts/registry.md). If you are planning on providing liquidity yourself, you should be aware that the exact amount of OUSD you will receive in exchange for your USDT, USDC, or DAI depends on the current exchange rates as determined by the [oracles.](../core-concepts/price-oracles.md) If you are planning on redeeming OUSD for the underlying stablecoins, you should know there is a 0.25% exit fee and OUSD will return a basket of stable coins in proportion to the backing stablecoins in the pool. We encourage exchanges to leverage existing pools of liquidity to avoid those fees. If possible, mints or redeems should be done in large batches for maximum efficiency. + +#### Do you have other questions? + +The best way to get help from both our engineering and business teams is usually on [Discord](https://www.originprotocol.com/discord). + diff --git a/de/how-it-works.md b/de/how-it-works.md new file mode 100644 index 000000000..061ececf6 --- /dev/null +++ b/de/how-it-works.md @@ -0,0 +1,39 @@ +# How It Works + +#### 100% Backed and Stable + +Origin Dollar (OUSD) is an ERC-20 compliant token for the Ethereum network. + +OUSD is a stable currency that is backed 1:1 by other stablecoins like USDT, USDC and DAI. As a result, 1 OUSD should always be very close to 1 USD in value. + +{% hint style="success" %} +1 OUSD = 1 USD +{% endhint %} + +#### Buying OUSD + +Users can convert their existing stablecoins (currently USDT, USDC, and DAI) to OUSD at the official [Origin Dollar DApp](https://www.ousd.com). Received OUSD begins accruing compounding yield immediately. + +The Origin DApp will intelligently route user's transactions to give them the best available price while taking slippage and gas costs into consideration. This means that the DApp will sometimes encourage users to buy OUSD that is already in circulation versus minting fresh OUSD from the vault. The OUSD DApp will choose from multiple sources of liquidity and will suggest the option that gives the user the best possible rate. + +**Selling OUSD** + +Users can convert their OUSD back into other stablecoins at any time using the [Origin Dollar DApp](https://www.ousd.com). The Origin DApp will intelligently route user's transactions to give them the best available price while taking slippage, gas costs, and the vault's exit fee into consideration. This means that the DApp will often help users sell their OUSD on AMM's instead of redeeming OUSD with the vault and incurring the protocol's exit fee. + +A 0.25% exit fee is charged upon redemption with the vault. This fee is distributed as additional yield to the remaining participants in the vault (ie. other OUSD holders). The fee serves as a security feature to make it difficult for attackers to take advantage of lagging oracles, preventing them from siphoning stablecoins from the vault in the event of mispriced underlying assets. The fee exists to incentivize long-term holders over short-term speculators. + +Upon redemption, the vault will determine which stablecoin(s) to return to the user. In the current implementation, the vault will return coins in the same ratio as the current holdings. This lack of user optionality also protects the vault as a whole in the event that any of the supported stablecoins loses its peg to the dollar. + +{% hint style="warning" %} +Redemptions on the OUSD vault incur a **0.25% exit fee** and the user doesn't get to pick which stablecoins they receive. Users can often avoid this fee by selling to an AMM instead. +{% endhint %} + +#### A**utomated Yield Farming** + +OUSD generates yields by deploying the underlying stablecoins that were deposited to the OUSD smart contract to other DeFi protocols such as Compound, Aave, and Curve. There may be new diversified strategies added to the vault in the future. Collected interest, trading fees, and rewards tokens are pooled and converted to stablecoins to produce OUSD-denominated yields. Over time, the protocol will move assets in and out of different liquidity pools in order to provide the best yield to the holders of OUSD. + +#### **Elastic Supply** + +The generated returns are passed on to the holders of OUSD via constant rebasing of the money supply. OUSD constantly adjusts the money supply in response to the yield the protocol has generated. This allows the price of OUSD to stay pegged at $1 while the balances in token holders' wallets adjust in real-time to reflect yields that have been earned by the protocol. + +The end result is a stablecoin that is easy to spend, earns outsized yields automatically, and is more desirable to hold than existing stablecoins. diff --git a/de/security-and-risks/asset-risk.md b/de/security-and-risks/asset-risk.md new file mode 100644 index 000000000..92140f5ed --- /dev/null +++ b/de/security-and-risks/asset-risk.md @@ -0,0 +1,33 @@ +# Bug Bounties + +**Bug Bounties** + +Bug bounties are granted at the full discretion of Origin Protocol. The rewards range in size from **$100** for minor issues to **$250,000** for major vulnerabilities. Currently, the bounty program only applies to OUSD and not other products from Origin. + +{% hint style="warning" %} +In order to be eligible for a bug bounty, you must follow the rules of Responsible Disclosure outlined below. +{% endhint %} + +**Responsible Disclosure** + +Security is our top priority and we've taken every effort to make sure our code is secure and works as intended. However, it's completely possible that vulnerabilities both large and small may have gone undetected. + +In case you discover a vulnerability, we would like to know about it immediately so we can take steps to address it as quickly as possible. + +If you discover a vulnerability, please do the following: + +* Report your findings to [security@originprotocol.com](mailto:security@originprotcol.com) or contact [Josh Fraser on Keybase](https://keybase.io/joshfraser) +* Do not take advantage of the vulnerability or problem you have discovered +* Do not reveal the problem to others until it has been resolved +* Do not use attacks on physical security, social engineering, distributed denial of service, spam or applications of third parties +* Do provide sufficient information to reproduce the problem, so we will be able to resolve it as quickly as possible. Complex vulnerabilities may require further explanation so we might ask you for additional information. + +In return, we promise: + +* We will respond to your report within 3 business days with our evaluation of the report and an expected resolution date +* If you have followed the instructions above, we will not take any legal action against you in regard to the report +* We will handle your report with strict confidentiality, and not pass on your personal details to third parties without your permission +* If you so wish we will keep you informed of the progress towards resolving the problem +* In the public information concerning the problem reported, we will give your name as the discoverer of the problem \(unless you desire otherwise\) +* As a token of our gratitude for your assistance, we offer a reward for every report of a security problem that was not yet known to us. The amount of the reward will be determined based on the severity of the leak, the quality of the report, and any additional assistance you provide. + diff --git a/de/security-and-risks/audits.md b/de/security-and-risks/audits.md new file mode 100644 index 000000000..8d5402c70 --- /dev/null +++ b/de/security-and-risks/audits.md @@ -0,0 +1,40 @@ +# Audits + +**The OUSD Vault, ERC-20, and Overall System** + +OUSD has been audited by multiple, well-respected security firms. We have worked with [OpenZeppelin](https://openzeppelin.com), [Trail of Bits](https://www.trailofbits.com), [Solidified](https://solidified.io), and [Certora](https://www.certora.com) to audit all of the code that powers Origin Dollar. Their findings are available below: + +* [Trail of Bits, OUSD Audit, December 2020](https://github.com/OriginProtocol/security/blob/master/audits/Trail%20of%20Bits%20-%20Origin%20Dollar%20-%20Dec%202020.pdf) +* [Solidified, OUSD Audit, December 2020](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20Origin%20Dollar%20-%20Dec%202020.pdf) +* [Solidified, OGN Staking Audit, December 2020](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20OGN%20Staking%20-%20Dec%202020.pdf) +* [Certora, OUSD Formal Verification Audit, January 2021](https://www.certora.com/pubs/OriginFeb2021.pdf) +* [OpenZeppelin, OUSD Audit, August 2021](https://github.com/OriginProtocol/security/blob/master/audits/OpenZeppelin%20-%20Origin%20Dollar%20-%20October%202021.pdf) +* [Solidified, wOUSD, ERC721a, Governance, Harvester & Dripper Audit, May 2022](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20OGV%2C%20wOUSD%2C%20and%20ERC721a%20-%20May%202022.pdf) + +Both our initial and future governance tokens have been audited as well: + +* [Trail of Bits, OGN Audit, November 2018](https://github.com/OriginProtocol/security/blob/master/audits/Trail%20of%20Bits%20-%20Origin%20Marketplace%20and%20OGN%20Token%20-%20Nov%202018.pdf) +* [Solidified, OGV Audit, May 2022](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20OGV%2C%20wOUSD%2C%20and%20ERC721a%20-%20May%202022.pdf) + +In addition, the underlying strategies and dependencies that OUSD utilizes have been thoroughly audited by various firms. + +{% hint style="info" %} +OUSD only integrates strategies that have been carefully audited and battle-tested with significant capital over an extended period of time. +{% endhint %} + +**Compound Strategy and Open Price Feed** + +Compound has been audited by [Trail of Bits](https://www.trailofbits.com) and [OpenZeppelin](https://openzeppelin.com) and formally verified by [Certora](https://www.certora.com). Visit the Compound website for their [full list of audits](https://compound.finance/docs/security#audits) including the original code for the modified [Timelock](../smart-contracts/api/timelock.md) that OUSD is using. + +**Aave Strategy** + +Aave has been audited by [Trail of Bits](https://www.trailofbits.com), [OpenZeppelin](https://openzeppelin.com), [ConsenSys Diligence](https://consensys.net/diligence/), [Certik](https://certik.io), [MixBytes](https://mixbytes.io), and [PeckShield](https://peckshield.com). They have also been formally verified by [Certora](https://www.certora.com). Visit the Aave website for [their full list of audits](https://docs.aave.com/developers/security-and-audits). + +**Curve Strategy** + +Curve has been audited by [Trail of Bits](https://www.trailofbits.com) and [Quantstamp](https://quantstamp.com). Visit the Curve website for [their full list of audits](https://www.curve.fi/audits). + +**Chainlink Oracles** + +Chainlink has been audited by [Quantstamp](https://github.com/smartcontractkit/chainlink/tree/bafa91c), [SigmaPrime](https://github.com/smartcontractkit/chainlink/tree/cee356), [Callisto](https://gist.github.com/yuriy77k/c3a70d212a7f9ecda715252e45073158), and [Nick Johnson](https://github.com/smartcontractkit/chainlink/tree/5327f9). + diff --git a/de/security-and-risks/bug-bounties.md b/de/security-and-risks/bug-bounties.md new file mode 100644 index 000000000..d6e21196f --- /dev/null +++ b/de/security-and-risks/bug-bounties.md @@ -0,0 +1,32 @@ +# Bug Bounties + +**Bug Bounties** + +Bug bounties are granted at the full discretion of Origin Protocol. The rewards range in size from **$100 OUSD** for minor issues to **$250,000 OUSD** for major vulnerabilities. Currently, the bounty program only applies to OUSD and not other products from Origin. + +{% hint style="warning" %} +In order to be eligible for a bug bounty, you must follow the rules of Responsible Disclosure outlined below. +{% endhint %} + +**Responsible Disclosure** + +Security is our top priority and we've taken every effort to make sure our code is secure and works as intended. However, it's completely possible that vulnerabilities both large and small may have gone undetected. + +In case you discover a vulnerability, we would like to know about it immediately so we can take steps to address it as quickly as possible. + +If you discover a vulnerability, please do the following: + +* Report your findings to [security@originprotocol.com](mailto:security@originprotocol.com) or contact [Josh Fraser on Keybase](https://keybase.io/joshfraser). Here is an example of a [well written disclosure](https://gist.github.com/DanielVF/66f459da88804d1fd917c47576c68523). +* Do not take advantage of the vulnerability or problem you have discovered +* Do not reveal the problem to others until it has been resolved +* Do not use attacks on physical security, social engineering, distributed denial of service, spam or applications of third parties +* Do provide sufficient information to reproduce the problem, so we will be able to resolve it as quickly as possible. Complex vulnerabilities may require further explanation so we might ask you for additional information. + +In return, we promise: + +* We will respond to your report within 3 business days with our evaluation of the report and an expected resolution date +* If you have followed the instructions above, we will not take any legal action against you in regard to the report +* We will handle your report with strict confidentiality, and not pass on your personal details to third parties without your permission +* If you so wish we will keep you informed of the progress towards resolving the problem +* In the public information concerning the problem reported, we will give your name as the discoverer of the problem (unless you desire otherwise) +* As a token of our gratitude for your assistance, we offer a reward for every report of a security problem that was not yet known to us. The amount of the reward will be determined based on the severity of the leak, the quality of the report, and any additional assistance you provide. diff --git a/de/security-and-risks/contributing.md b/de/security-and-risks/contributing.md new file mode 100644 index 000000000..6937c347d --- /dev/null +++ b/de/security-and-risks/contributing.md @@ -0,0 +1,95 @@ +# Contributing + +**100% Open-source** + +OUSD is an entirely open-source project and we welcome contributions of all sorts. There are many ways to help, from reporting issues, contributing code, and helping us improve our community. + +We work in public and our company Discord is open to all. If you have questions or need help getting started, our Discord OUSD channels are the best place to get assistance from our team and community. + +**Developer Analytics** + +Our internal developer dashboard is available at [analytics.ousd.com](https://analytics.ousd.com). The dashboard shows the current circulating supply, the assets under management in the vault, and the current allocations between each of the stablecoins and strategies. + +#### Development Process + +Our branching strategy is similar to [GitFlow](http://nvie.com/posts/a-successful-git-branching-model/), but we do all of our development in the `master` branch and have a `stable` branch for code that has been released. + +Your development flow should look like: + +1. Find an interesting issue and communicate! Please let the `#engineering` [Discord](https://discord.gg/jyxpUSe) channel know what you want to work on. +2. Ping a [core team member](https://github.com/orgs/OriginProtocol/teams/core/members) member on Discord and ask to be added to our [contributors team](https://github.com/orgs/OriginProtocol/teams/contributors). Otherwise, you’ll need to fork the relevant repository and push feature branches to your own fork. +3. Add a comment to the issue or self-assign so we don’t have multiple contributors unintentionally working on the same task. +4. Start with the `master` branch and check out a new feature branch unless you’re contributing to an existing feature. +5. Follow the appropriate [coding style](https://docs.originprotocol.com/guides/getting_started/contributing.html#contributing-email-coding-style) and write some awesome code. +6. Pull the latest commits from `master` and confirm that your code works with any other work that has been merged since you started. +7. Push your branch to the upstream repository \(i.e. https://github.com/OriginProtocol/\[repo\]\) so that other contributors can easily work off of it if necessary. +8. Please request a review in the PR by clicking on the gear icon next to “Reviewers” in the right column. + +For critical smart contract code to be merged it must pass the following checklist: + +* Code reviewed by 2 reviewers +* Unit tests pass +* Slither tests pass with no warning +* Echidna tests pass + +The `master` branch is locked so that only members of the [core team](https://github.com/orgs/OriginProtocol/teams/core) are able to merge your pull requests. Pull requests that are peer-reviewed by other trusted contributors will be fast-tracked and merged faster! Check in the `#engineering` Discord channel for appropriate reviewers. + +#### Coding Style + +We use a variety of programming languages in our repositories. When contributing, please follow existing coding conventions and refer to the CONTRIBUTING.md file in the repository, if one exists. + +For JavaScript, we use [NPM’s style](https://docs.npmjs.com/misc/coding-style), which is automatically enforced via [prettier](https://prettier.io/). + +For Solidity, we use two-space indents. + +#### Protocol Design + +When considering protocol or implementation design proposals, we are looking for: + +* A description of the problem this design proposal solves +* Discussion of the trade-offs involved +* Review of other existing solutions +* Links to relevant literature \(RFCs, papers, etc\) +* Discussion of the proposed solution + +Please note that protocol design is hard and meticulous work. You may need to review existing literature and think through generalized use cases. + +#### Community Guidelines + +We want to keep the Origin community awesome, growing and collaborative. We need your help to keep it that way. To help with this we’ve come up with some general guidelines for the community as a whole: + +* Be nice: Be courteous, respectful and polite to fellow community members: no regional, racial, gender, or other abuse will be tolerated. We like nice people way better than mean ones! +* Encourage diversity and participation: Make everyone in our community feel welcome, regardless of their background and the extent of their contributions, and do everything possible to encourage participation in our community. +* Keep it legal: Basically, don’t get anybody in trouble. Share only content that you own, do not share private or sensitive information, and don’t break laws. +* Stay on topic: Make sure that you are posting to the correct channel and avoid off-topic discussions. Remember when you update an issue or respond to an email you are potentially sending to a large number of people. Please consider this before you update. Also remember that nobody likes spam. + +#### Reporting Issues + +If you find bugs, mistakes or inconsistencies in Origin’s code or documents, please let us know by filing a GitHub issue. No issue is too small. Help us fix our tpyos! + +#### Security Issues + +OUSD is still in early development, which means there may be problems with the protocol or in our implementations. We take security vulnerabilities very seriously. If you discover a security issue, please bring it to our attention right away! + +If you find a security vulnerability please send your report privately to [security@originprotocol.com](mailto:security@originprotocol.com) or send an encrypted message to [@joshfraser on Keybase](https://keybase.io/joshfraser). Please DO NOT file a public issue. Be sure to review our guidelines for responsible disclosure and eligibility for bug bounties. + +{% page-ref page="bug-bounties.md" %} + +#### **Community Improvement** + +Origin is just as much about community as it is about our technology. + +We need constant help in improving our documentation, building new tools to interface with our platform, spreading the word to new users, helping new users getting setup and much more. + +Please get in touch if you would like to help out. Our `general` channel on [Discord](https://www.originprotocol.com/discord) is a great place to share ideas and volunteer to help. + +#### Full-Time Positions + +Origin occasionally hires developers for part-time or full-time positions. + +We have a strong preference for hiring people who have already started contributing to the project. If you want a full time position on our team, your best shot is to engage with our team and start contributing code. It is very unlikely that we would offer you a full-time position on our engineering team unless you’ve had at least a few pull requests merged. + +If you are interested, check out [the Origin Protocol job listings](https://angel.co/originprotocol/jobs). If you’d like to help in other ways, please propose your ideas in [our Discord channel](https://www.originprotocol.com/discord). + + + diff --git a/de/security-and-risks/insurance.md b/de/security-and-risks/insurance.md new file mode 100644 index 000000000..f805d14f1 --- /dev/null +++ b/de/security-and-risks/insurance.md @@ -0,0 +1,15 @@ +# Insurance + +OUSD holders can buy smart contract insurance to cover any losses that might result from any bugs or vulnerabilities in the OUSD contracts, including economic exploits (such as flash loans attacks). In addition, anyone who wants to make a financial bet on the security of our contracts can earn a yield by providing coverage. + +DeFi coverage for OUSD is currently available via[ Nexus Mutual](https://nexusmutual.io) and [InsurAce Protocol](https://www.insurace.io). These partnerships allow for more effective risk management by OUSD holders while creating new opportunities for coverage providers to profit. + +Read our [announcement post](https://medium.com/originprotocol/origin-partners-with-nexus-mutual-to-offer-defi-insurance-for-origin-dollar-ousd-6eb3432ee042) to learn how to [buy coverage](https://app.nexusmutual.io/cover/buy/get-quote?address=0xE75D77B1865Ae93c7eaa3040B038D7aA7BC02F70), [provide coverage](https://app.nexusmutual.io/staking), or [participate in shield mining campaigns](https://app.nexusmutual.io/rewards) with Nexus Mutual. You can learn more about InsurAce and how to buy coverage on their [user guide](https://docs.insurace.io/landing-page/documentation-1/user-guide) or [documentation](https://docs.insurace.io/landing-page/). + +**Nexus Mutual Coverage** + +Read our[ announcement post](https://medium.com/originprotocol/origin-partners-with-nexus-mutual-to-offer-defi-insurance-for-origin-dollar-ousd-6eb3432ee042) to learn how to[ buy coverage](https://app.nexusmutual.io/cover/buy/get-quote?address=0x0000000000000000000000000000000000000016),[ provide coverage](https://app.nexusmutual.io/staking), and[ participate in shield mining campaigns](https://app.nexusmutual.io/rewards) with Nexus Mutual. + +**InsurAce Protocol Coverage** + +Read InsurAce Protocol’s [User Guide](https://docs.insurace.io/landing-page/documentation-1/user-guide) to learn how to [buy coverage](https://docs.insurace.io/landing-page/documentation-1/user-guide/dashboard) and participate in [underwriting mining](https://docs.insurace.io/landing-page/documentation-1/user-guide/how-to-stake) for OUSD. diff --git a/de/security-and-risks/risks.md b/de/security-and-risks/risks.md new file mode 100644 index 000000000..64dc13dc0 --- /dev/null +++ b/de/security-and-risks/risks.md @@ -0,0 +1,44 @@ +# Risks + +{% hint style="danger" %} +Use at your own risk. Do not deploy more capital than you are willing to lose. +{% endhint %} + +As with any yield-generating DeFi product, there are associated risks with holding OUSD that are important to understand. These risks can be broadly classified into 3 categories: + +* OUSD smart contract risk +* Underlying third-party platform risk +* Underlying stablecoin risk + +**OUSD smart contract risk** + +Our smart contracts have been [audited](audits.md) by multiple, well-respected security firms. However, it is important to note that even with formal audits, it is still possible for there to be logic errors that could lead to the loss of funds for OUSD holders. The contracts involve complex math and logic. While we have taken every precaution to ensure the safety and security of our smart contracts, users are reminded to use at their own risk. Origin Protocol will not be held responsible for any loss of funds, regardless of who is at fault. + +**Third-party platform risk** + +OUSD is built on top of other DeFi platforms like Aave, Compound, and Curve that add additional smart contract risk. We are choosing to work with platforms that have literally billions of dollars of assets under management and have made a reasonable efforts to ensure the security of their protocols. However, there are no guarantees that the underlying third-party platforms will continue to work as intended, and any failure in an underlying strategy would potentially lead to a loss of funds for OUSD holders. + +**Stablecoin risks** + +It is important to understand that OUSD is only as strong as the stablecoins that are backing it. Any loss of value to an underlying stablecoin asset will cause a similar loss to the value of OUSD. While OUSD is designed to maintain a 1:1 relationship between supply and number of backing stablecoins, it does not guarantee which stablecoins will make up that backing nor the value of those coins. + +It is important to note that each of the supported stablecoins introduces non-trivial counter-party risk. Tether, in particular, has had well-documented banking troubles and regulatory challenges. In addition, both USDT and USDC have backdoors that grant their issuers the power to freeze money in their holder's wallets. While DAI does not have any direct backdoors, its assets can also be negatively impacted since USDC and USDT are accepted as collateral for minting DAI. + +**Risk mitigation** + +While it's impossible to guarantee our contracts are 100% safe, we have taken every step possible to mitigate the chance of losing funds: + +We regularly have our work [audited ](audits.md)by the top auditors in the industry. + +[DeFi insurance](insurance.md) is availble to offer smart contract coverage as an optional add-on service for OUSD holders. + +We have retained [Certora](https://www.certora.com) to formally verify the various security properties of our contracts. They helped us establish automated verifications that will run anytime we update our contract code. We have automated checking for common errors with [Slither](https://github.com/crytic/slither) and [Echidna](https://github.com/crytic/echidna) tests. Together, these alert our team to common security issues in addition to our own test suite. + +Code reviews involving our smart contracts are incredibly rigorous. We require at least two engineers to review each change with a detailed checklist and we prioritize security reviews over new feature development. + +Finally, we have formalized an engineering [rotation](https://github.com/OriginProtocol/security/blob/master/incidents/ROTATION.md) for reviewing [attacks on other projects](https://github.com/OriginProtocol/security/tree/master/incidents) as well as ensuring we deep dive into each of these reviews, including reviewing the affected contracts' source code ourselves. We've observed that attackers often exploit the same fundamental vulnerability on multiple different projects. By reviewing other project's vulnerabilities, we force ourselves to stay up to date on the latest security threats in our industry and are constantly learning from their mistakes. + +**Actions speak louder than words** + +You should also know that many members of the Origin team, including both founders, are holding a significant portion of their personal wealth in OUSD. Origin Protocol's corporate treasury is also holding millions of dollars in OUSD. We have skin in the game and are willing to put our own money at risk with the code we have written. + diff --git a/de/security-and-risks/untitled.md b/de/security-and-risks/untitled.md new file mode 100644 index 000000000..21b692090 --- /dev/null +++ b/de/security-and-risks/untitled.md @@ -0,0 +1,20 @@ +# Audits + +{% hint style="danger" %} +The OUSD smart contracts have not yet been audited. We strongly recommend reviewing our smart contracts before depositing significant amounts of capital. +{% endhint %} + +**OUSD** + +Audits have already been scheduled with the respected security firm, [Trail of Bits](https://www.trailofbits.com/), for early October 2020. Their audit results will be publicly released as soon as they are available. + +**Supported Strategies** + +Multiple audits for Compound have already been completed and are available on their website. This includes the original code for the modified [Timelock](../smart-contracts/api/timelock-1.md) that OUSD is using. + +{% page-ref page="untitled.md" %} + + + + + diff --git a/de/smart-contracts/api/README.md b/de/smart-contracts/api/README.md new file mode 100644 index 000000000..ff400f20f --- /dev/null +++ b/de/smart-contracts/api/README.md @@ -0,0 +1,9 @@ +# API + +Documentation of contracts API used by the protocol: + +* [Vault](vault.md) +* [ERC-20](erc-20-1.md) +* [Timelock](timelock.md) +* [Stategies](strategies.md) + diff --git a/de/smart-contracts/api/erc-20-1.md b/de/smart-contracts/api/erc-20-1.md new file mode 100644 index 000000000..164343cc0 --- /dev/null +++ b/de/smart-contracts/api/erc-20-1.md @@ -0,0 +1,16 @@ +# ERC-20 + +{% hint style="success" %} +The main ERC20 address for Origin Dollar (OUSD) is: \ **0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +OUSD is an ERC-20 compliant token with one novel property (elastic supply) that is important to understand. + +{% hint style="warning" %} +Wallets and exchanges that wish to integrate OUSD should not cache token balances for OUSD as this value will change frequently as yield is accrued to token holders. +{% endhint %} + +The biggest difference separating OUSD from your average ERC-20 token is the way OUSD's`balanceOf()` function will return a variable amount based on the total value of the vault multiplied by the holder's stake in the vault. This difference is vital to understand, particularly for wallets and exchanges that wish to integrate the OUSD token. This value should be fetched in real-time instead of being cached since OUSD rebases frequently. + + + diff --git a/de/smart-contracts/api/oracle.md b/de/smart-contracts/api/oracle.md new file mode 100644 index 000000000..362749de7 --- /dev/null +++ b/de/smart-contracts/api/oracle.md @@ -0,0 +1,7 @@ +# Oracles + +{% hint style="info" %} +Documentation coming soon. +{% endhint %} + +OUSD uses Chainlink [oracles](../../core-concepts/price-oracles.md) to secure the protocol from pricing attacks. You can [read more about our decision to work with Chainlink](https://blog.originprotocol.com/how-origin-uses-chainlink-oracles-to-secure-ousd-bff5601e840e) on the Origin blog. diff --git a/de/smart-contracts/api/ousd.md b/de/smart-contracts/api/ousd.md new file mode 100644 index 000000000..8d6981144 --- /dev/null +++ b/de/smart-contracts/api/ousd.md @@ -0,0 +1,8 @@ +# OUSD + +{% hint style="info" %} +Documentation coming soon. +{% endhint %} + + + diff --git a/de/smart-contracts/api/strategies.md b/de/smart-contracts/api/strategies.md new file mode 100644 index 000000000..a275b76e6 --- /dev/null +++ b/de/smart-contracts/api/strategies.md @@ -0,0 +1,14 @@ +# Strategies + +{% hint style="info" %} +Documentation coming soon. +{% endhint %} + +New strategies can be added or removed at any time to respond to new market realities and diversify risk. + +Once we migrate to decentralized governance, it is our intent for the community to propose new strategies and to vote on the appropriate weight for each strategy in the pool. We anticipate that most OUSD holders will value having some exposure to higher yield opportunities while maintaining more conservative positions for a portion of the funds. + + + + + diff --git a/de/smart-contracts/api/timelock-1.md b/de/smart-contracts/api/timelock-1.md new file mode 100644 index 000000000..88954aca7 --- /dev/null +++ b/de/smart-contracts/api/timelock-1.md @@ -0,0 +1,22 @@ +# Timelock + +{% hint style="danger" %} +The timelock will be added soon after everything is verified as working. Until then, the contracts will be governed by Origin's 5 of 8 multi-sig. This allows for a faster response if any critical issues are discovered. +{% endhint %} + +The timelock contract enforces a 48 hour wait period before any changes to the OUSD contracts can be executed. The timelock can be called by our multi-sig and is the owner of our [ERC-20](../architecture.md), [Vault](vault.md), and [Strategies](strategies.md) contracts. Time-delaying admin actions gives users a chance to exit OUSD if its admins become malicious, are compromised, or make a change that the users do not like. + +{% hint style="info" %} +The timelock is a safety measure that gives OUSD holders 48 hours to withdraw their funds if they have objections to any proposed upgrades to the protocol. +{% endhint %} + +OUSD is using a slightly modified version of the [Compound Timelock](https://compound.finance/docs/governance) which has been [audited by OpenZeppelin](https://blog.openzeppelin.com/compound-finance-patch-audit/). The 3 notable differences are: + +1. OUSD will initially use a shorter wait period \(48 hours\) than Compound \(72 hours\) to allow for a faster response if any issues are discovered. +2. Once the 48 hours have passed, anyone is free to execute the call, not just the owner of the contract. +3. Deposits \(but not withdrawals or transfers\) can be immediately frozen without requiring the 48 waiting period. This is in case a major vulnerability is discovered. + + + + + diff --git a/de/smart-contracts/api/timelock.md b/de/smart-contracts/api/timelock.md new file mode 100644 index 000000000..2273ddad7 --- /dev/null +++ b/de/smart-contracts/api/timelock.md @@ -0,0 +1,15 @@ +# Timelock + +The timelock contract enforces a 48 hour wait period before any changes to the OUSD contracts can be executed. The timelock can be called by our multi-sig and is the owner of our [ERC-20](../architecture.md), [Vault](vault.md), and [Strategies](strategies.md) contracts. Time-delaying admin actions gives users a chance to exit OUSD if its admins become malicious, are compromised, or make a change that the users do not like. + +{% hint style="info" %} +The timelock is a safety measure that gives OUSD holders 48 hours to withdraw their funds if they have objections to any proposed upgrades to the protocol. +{% endhint %} + +OUSD is using a slightly modified version of the [Compound Timelock](https://compound.finance/docs/governance) which has been [audited by OpenZeppelin](https://blog.openzeppelin.com/compound-finance-patch-audit/). The two notable differences are: + +1. OUSD will initially use a shorter wait period (48 hours) than Compound (72 hours) to allow for a faster response if any issues are discovered. +2. Some actions, such as reallocating funds between existing strategies and freezing deposits can be called immediately by a multisig wallet without requiring the 48 waiting period. This is in case a major vulnerability is discovered. + + + diff --git a/de/smart-contracts/api/vault.md b/de/smart-contracts/api/vault.md new file mode 100644 index 000000000..13a7a8601 --- /dev/null +++ b/de/smart-contracts/api/vault.md @@ -0,0 +1,184 @@ +--- +description: >- + The vault is the main contract of the protocol. The vault is responsible for minting/redeeming OUSD tokens, rebalancing funds between the various supported strategies, and liquidating rewards tokens. +--- + +# Vault + +## Units + +All OUSD amounts passed or returned by the Vault methods use 18 decimal places. For example, 1 OUSD is expressed as 1000000000000000000. + +For other stable coins, the number of decimal places varies. DAI uses 18 decimal places while USDC and USDT use only 6. + +The protocol was updated in November are [currently underway](https://github.com/OriginProtocol/origin-dollar/issues/590) to increase the resolution of rebasing calculations from 18 decimals to 27 decimals. The OUSD token itself will still retain 18 decimals of precision and user balances should not change. + +## Methods‌ + +### mint() + +**`function mint(address _asset, uint256 _amount, uint256 _minimumOusdAmount)`**‌ + +Mints OUSD in exchange for a deposit of a certain `_amount` of stablecoin specified by the `_asset` parameter. The caller receives a certain amount of OUSD depending on the **exchange rate**. + +| Parameter Name | Type | Description | +| --------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | +| \_asset | address | Address of the [supported](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/core-concepts/supported-assets) stablecoin | +| \_amount | uint256 | Amount deposited, expressed in decimal units | +| \_minimumOusdAmount | uint256 | Minimum amount of OUSD the caller is willing to receive. The call to mint() reverts if the minimum is not met. | + +### mintMultiple() + +**`function mintMultiple(address[] _assets, uint256[] _amounts, uint256 _minimumOusdAmount)`**‌ + +Mints OUSD in exchange for a deposit of multiple stablecoins in a single call. Stablecoins are specified by the `_assets` array parameter and the amounts by the `_amounts` array parameter. The caller receives a certain amount of OUSD depending on the **exchange rate**. + +| Parameter Name | Type | Description | +| --------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| \_assets | address\[] | Addresses of the [supported](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/core-concepts/supported-assets) stablecoins | +| \_amounts | uint256\[] | Amounts deposited, expressed in decimal units | +| \_minimumOusdAmount | uint256 | Minimum amount of OUSD the caller is willing to receive. The call to mint() reverts if the minimum is not met. | + +{% hint style="warning" %} +On redemptions, it is the protocol and not the user that decides which stablecoin(s) are returned to the user. This decision of which coin(s) to return is based on the internal ratios of the assets that are being held in the vault.‌ +{% endhint %} + +### redeem() + +**`function redeem(uint256 _amount)`**‌ + +OUSD specified by the `_amount` parameter is redeemed in exchange for one or multiple supported stablecoins. Amount of stablecoins received depends on the **exchange rate**. + +| Parameter Name | Type | Description | +| -------------- | ------- | ----------------------------------------- | +| \_amount | uint256 | amount of OUSD expressed in decimal units | + +### redeemAll()‌ + +**`function redeemAll()`**‌ + +All OUSD in user's possession is redeemed in exchange for one or multiple supported stablecoins. Amount of stablecoins received depends on the **exchange rate**. + +### rebase() + +**`function rebase()`**‌ + +Updates the balances for all users based on the value of the assets currently stored in the vault. Returns total value of the underlying assets and strategies represented by `uint256` type.‌ + +### allocate() + +**`function allocate()`**‌ + +Moves the assets under management into their prescribed [Stategies](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/architecture/strategies) to maximize yield and diversify risk.‌ + +### totalValue() + +**`function totalValue()`**‌ + +Returns total value of underlying assets and strategies. + +| `return` name | Type | Description | +| ------------- | ------- | ------------------------------------------------ | +| value | uint256 | total value of underlying assets and strategies. | + +### checkBalance() + +**`function checkBalance(address _asset)`**‌ + +Returns the balance of an asset specified by the`_asset` parameter held in Vault and all strategies represented by `uint256` type. + +| Parameter Name | Type | Description | +| -------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | +| \_asset | address | Address of the [supported](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/core-concepts/supported-assets) stablecoin | + +### calculateRedeemOutputs() + +**`function calculateRedeemOutputs(uint256 _amount)`**‌ + +Calculate the mix of stablecoins that a `redeem` function would return when redeeming certain amount of OUSD specified by the `_amount` parameter. Returns an array of stablecoin values. + +To attribute the stablecoin values to the correct stablecoin currency this call should be used in conjunction with `getAllAssets` function that returns an array of stablecoin addresses. + +The index of an array that is returned by the `calculateRedeemOutputs` corresponds to the stablecoin address with the same index in an array returned by the `getAllAssets` function. + +| Parameter Name | Type | Description | +| -------------- | ------- | ----------------------------------------- | +| \_amount | uint256 | amount of OUSD expressed in decimal units | + +| `return` name | Type | Description | +| ------------- | ----------- | --------------------------------------------------------------------------- | +| outputs | uint256\[] | array of the amount of the stablecoin assets `redeem` function would return | + +### getAssetCount() + +**`function getAssetCount()`**‌ + +Return the number of supported stablecoin assets represented by `uint256` type.‌ + +### getAllAssets() + +**`function getAllAssets()`**‌ + +Return all assets addresses of supported stablecoin assets in order represented by `uint256` type.‌ + +### getStrategyCount()‌ + +**`function getStrategyCount()`**‌ + +Return the number of strategies active on the Vault represented by `uint256` type.‌ + +### getAPR() + +**`function getAPR()`**‌ + +Return the total annual percentage yield (APR) of the Vault and all Strategies represented by `uint256` type. Resulting number has 18 decimal places.‌ + +### isSupportedAsset() + +**`function isSupportedAsset(address _asset)`**‌ + +Return the boolean that is true if the asset specified by the `_asset` parameter is supported by the Vault. + +| Parameter Name | Type | Description | +| -------------- | ------- | ------------------------- | +| \_asset | address | Address of the stablecoin | + +### priceUSDMint() + +**`function priceUSDMint(string symbol)`**‌‌ + +Returns the exchange rate price of a stable coin specified by the `symbol` parameters used when minting OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Parameter Name | Type | Description | +| -------------- | ------ | ------------------------ | +| symbol | string | Symbol of the stablecoin | + +### priceUSDRedeem() + +**`function priceUSDRedeem(string symbol)`**‌‌ + +Returns the exchange rate price of a stable coin specified by the `symbol` parameters used when redeeming OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Parameter Name | Type | Description | +| -------------- | ------ | ------------------------ | +| symbol | string | Symbol of the stablecoin | + +### priceAssetUSDMint()‌ + +**`function priceAssetUSDMint(address _asset)`**‌‌ + +Returns the exchange rate price of a stable coin specified by the `_asset` parameters used when minting OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Parameter Name | Type | Description | +| -------------- | ------- | -------------------------- | +| \_asset | address | Address of the stablecoin‌ | + +### priceAssetUSDRedeem()‌ + +**`function priceAssetUSDRedeem(address _asset)`**‌‌‌ + +Returns the exchange rate price of a stable coin specified by the `_asset` parameters used when redeeming OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Parameter Name | Type | Description | +| -------------- | ------- | ------------------------- | +| \_asset | address | Address of the stablecoin | diff --git a/de/smart-contracts/architecture.md b/de/smart-contracts/architecture.md new file mode 100644 index 000000000..f53eacf24 --- /dev/null +++ b/de/smart-contracts/architecture.md @@ -0,0 +1,18 @@ +# Architecture + +![](../.gitbook/assets/ousd\_docs\_graphics\_3.png) + +OUSD is made up of a series of smart contracts. Each of these contracts is wrapped in a proxy contract that can be upgraded via the governance protocols. + +Internally, ownership in the vault is tracked using a credits system that represents the percent ownership of the vault for each holder. The [ERC-20](api/erc-20-1.md) contract handles the conversion to USD terms when viewing a balance or initiating a transfer between wallets. + +The [Vault](api/vault.md) is responsible for minting and burning OUSD. It also enforces the percentage of assets that are deployed to each of the supported [Strategies](../core-concepts/supported-strategies/). To optimize gas costs, the vault may maintain a buffer to allow most deposits and redemptions to occur without winding/unwinding assets from strategies. + +The Flipper is a smart contract for users to swap in and out of OUSD cheaply for any of DAI, USDC, or USDT at a fixed 1:1 rate. This contract is used as an alternative way to route user transactions originating from the web app. It's important to note that this contract may be empty on one side (e.g., contain 0 OUSD balance), and thus sometimes provides limited swap routes. While limited in functionality, Flipper uses around 45% less gas than Uniswap v3 due to its simplicity. + +The Harvester contract collects reward tokens earned by the strategies, sells them, and sends the resulting stablecoins to the Dripper to be released to the vault. Anyone can call the harvest and earn 1% of the resulting USDT for doing so. This creates a self-incentivizing system that operates at a known fixed cost. See our [incentivized-harvesting-guide.md](../guides/incentivized-harvesting-guide.md "mention") for details. + +The Dripper contract buffers aproximately one week of reward token sales proceeds and makes it avaiable at a smooth rate to the vault. This keeps OUSD yield from being extremely spiky when harvests come in. The rate is recalculated at least once per day and is the rate that it would take to distribute the current dripper holdings out over a one week period. + + + diff --git a/de/smart-contracts/erc-20.md b/de/smart-contracts/erc-20.md new file mode 100644 index 000000000..c3a21d407 --- /dev/null +++ b/de/smart-contracts/erc-20.md @@ -0,0 +1,12 @@ +# Architecture + +![](../.gitbook/assets/ousd_docs_graphics_3.png) + +OUSD is made up of a series of smart contracts. Each of these contracts is wrapped in a proxy contract that can be upgraded via the governance protocols. + +Internally, ownership in the pool is tracked using a credits system that represents the percent ownership of the pool for each holder. The [ERC-20](api/erc-20-1.md) contract handles the conversion to USD terms when viewing a balance or initiating a transfer between wallets. + +The [Vault](api/vault.md) is responsible for minting and burning OUSD. It also enforces the percentage of assets that are deployed to each of the supported [Strategies](../core-concepts/supported-strategies/). To optimize gas costs, the vault maintains a buffer to allow most deposits and redemptions to occur without winding/unwinding assets from strategies. + + + diff --git a/de/smart-contracts/registry.md b/de/smart-contracts/registry.md new file mode 100644 index 000000000..f2d45b7dd --- /dev/null +++ b/de/smart-contracts/registry.md @@ -0,0 +1,156 @@ +# Registry + +Here is the full registry of OUSD smart contracts that have been deployed to the Ethereum mainnet. + +{% hint style="success" %} +The main ERC20 address for Origin Dollar (OUSD) is: \ +**0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +{% tabs %} +{% tab title="Core" %} +Well-known addresses (proxy wrappers): + + + +| Contract | Address | ENS | +| -------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------- | +| OUSD | [0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86](https://etherscan.io/address/0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86) |

ousd.eth

origindollar.eth

| +| Vault | [0xE75D77B1865Ae93c7eaa3040B038D7aA7BC02F70](https://etherscan.io/address/0xe75d77b1865ae93c7eaa3040b038d7aa7bc02f70) | [originvault.eth](https://etherscan.io/address/originvault.eth) | + + + +Internal implementation contracts. The Vault is split into VaultAdmin and VaultCore to work around the maximum contract size limit on Ethereum: + + + +| Contract | Address | +| ---------- | --------------------------------------------------------------------------------------------------------------------- | +| OUSD | [0x33db8d52d65F75E4cdDA1b02463760c9561A2aa1](https://etherscan.io/address/0x33db8d52d65F75E4cdDA1b02463760c9561A2aa1) | +| VaultAdmin | [0x3EB68D8f4992A0e34aA58cc3dF86A40814078cF6](https://etherscan.io/address/0x3EB68D8f4992A0e34aA58cc3dF86A40814078cF6) | +| VaultCore | [0x226de75867B2f785BA19600e2a7e6eFccD57157B](https://etherscan.io/address/0x226de75867B2f785BA19600e2a7e6eFccD57157B) | +{% endtab %} + +{% tab title="Strategies" %} +Well-known addresses (proxy wrappers): + + + +| Strategy | Address | Auto-Allocation | +| -------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------- | +| Aave | [0x5e3646A1Db86993f73E6b74A57D8640B69F7e259](https://etherscan.io/address/0x5e3646A1Db86993f73E6b74A57D8640B69F7e259) | Manual allocation | +| Compound | [0x9c459eeb3FA179a40329b81C1635525e9A0Ef094](https://etherscan.io/address/0x9c459eeb3FA179a40329b81C1635525e9A0Ef094) | 100% of USDC, USDT and DAI | +| Convex | [0xEA2Ef2e2E5A749D4A66b41Db9aD85a38Aa264cb3](https://etherscan.io/address/0xEA2Ef2e2E5A749D4A66b41Db9aD85a38Aa264cb3#code) | Manual allocation | + + + +Internal implementation contracts: + + + +| Strategy | Address | +| -------- | -------------------------------------------------------------------------------------------------------------------------- | +| Aave | [0xA050eBE34Be464902F7E0F7F451f4B5253d57114](https://etherscan.io/address/0xA050eBE34Be464902F7E0F7F451f4B5253d57114) | +| Compound | [0x47f3eb71b5507df5ab6ac7f8660ef282ab0e560f](https://etherscan.io/address/0x47f3eb71b5507dF5Ab6aC7F8660Ef282Ab0E560f) | +| Convex | [0x08f3a0637851aA1B0E0750aA3d46E0E356f349aC](https://etherscan.io/address/0x08f3a0637851aa1b0e0750aa3d46e0e356f349ac#code) | + + + +Yield harvesting and collection: + + + +| | | +| --------- | -------------------------------------------------------------------------------------------------------------------------- | +| Contract | Address | +| Harvester | [0x21fb5812d70b3396880d30e90d9e5c1202266c89](https://etherscan.io/address/0x21fb5812d70b3396880d30e90d9e5c1202266c89#code) | +| Dripper | [0x80c898ae5e56f888365e235ceb8cea3eb726cb58](https://etherscan.io/address/0x80c898ae5e56f888365e235ceb8cea3eb726cb58#code) | +{% endtab %} + +{% tab title="Oracles" %} +The following Chainlink oracles are used to protect the vault in case a backing stablecoin loses value. They also offer slippage protection when harvesting rewards tokens or executing the OGN buyback. + + + +| Pair | Contract | +| ------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| [USDT/USD](https://data.chain.link/ethereum/mainnet/stablecoins/usdt-usd) | [0x3E7d1eAB13ad0104d2750B8863b489D65364e32D](https://etherscan.io/address/0x3E7d1eAB13ad0104d2750B8863b489D65364e32D) | +| [USDC/USD](https://data.chain.link/ethereum/mainnet/stablecoins/usdc-usd) | [0x8fFfFfd4AfB6115b954Bd326cbe7B4BA576818f6](https://etherscan.io/address/0x8fFfFfd4AfB6115b954Bd326cbe7B4BA576818f6) | +| [DAI/USD](https://data.chain.link/ethereum/mainnet/stablecoins/dai-usd) | [0xAed0c38402a5d19df6E4c03F4E2DceD6e29c1ee9](https://etherscan.io/address/0xAed0c38402a5d19df6E4c03F4E2DceD6e29c1ee9) | +| [COMP/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/comp-usd) | [0xdbd020caef83efd542f4de03e3cf0c28a4428bd5](https://etherscan.io/address/0xdbd020caef83efd542f4de03e3cf0c28a4428bd5) | +| [AAVE/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/aave-usd) | [0x547a514d5e3769680Ce22B2361c10Ea13619e8a9](https://etherscan.io/address/0x547a514d5e3769680Ce22B2361c10Ea13619e8a9) | +| [CRV/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/crv-usd) | [0xcd627aa160a6fa45eb793d19ef54f5062f20f33f](https://etherscan.io/address/0xcd627aa160a6fa45eb793d19ef54f5062f20f33f) | +| [CVX/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/cvx-usd) | [0xd962fC30A72A84cE50161031391756Bf2876Af5D](https://etherscan.io/address/0xd962fC30A72A84cE50161031391756Bf2876Af5D) | +| [OGN/ETH](https://data.chain.link/ethereum/mainnet/crypto-eth/ogn-eth) | [0x2c881b6f3f6b5ff6c975813f87a4dad0b241c15b](https://etherscan.io/address/0x2c881b6f3f6b5ff6c975813f87a4dad0b241c15b) | +{% endtab %} + +{% tab title="Governance" %} + + +| Contract | Address | ENS | +| ------------------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------- | +| 5 of 8 Multisig | [0xbe2AB3d3d8F6a32b96414ebbd865dBD276d3d899](https://etherscan.io/address/0xbe2AB3d3d8F6a32b96414ebbd865dBD276d3d899) | [originprotocol.eth](https://etherscan.io/address/originprotocol.eth) | +| 2 of 9 Multisig | [0xF14BBdf064E3F67f51cd9BD646aE3716aD938FDC](https://etherscan.io/address/0xF14BBdf064E3F67f51cd9BD646aE3716aD938FDC) | [originstrategist.eth](https://etherscan.io/address/originstrategist.eth) | +| Governor / Timelock | [0x72426BA137DEC62657306b12B1E869d43FeC6eC7](https://etherscan.io/address/0x72426BA137DEC62657306b12B1E869d43FeC6eC7) |

origingovernor.eth

origintimelock.eth

| +| OGN Buyback | [0x77314EB392b2be47C014cde0706908b3307Ad6a9](https://etherscan.io/address/0x77314EB392b2be47C014cde0706908b3307Ad6a9) | [originbuyback.eth](https://etherscan.io/address/originbuyback.eth) | +{% endtab %} + +{% tab title="Stablecoins" %} +| Contract | Address | +| ------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| [USDT](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | [0xdac17f958d2ee523a2206206994597c13d831ec7](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | +| [USDC](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | [0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | +| [DAI](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | [0x6b175474e89094c44da98b954eedeac495271d0f](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | +{% endtab %} + +{% tab title="Staking" %} +| Contract | Address | ENS | +| ----------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- | +| OGN Staking | [0x501804B374EF06fa9C427476147ac09F1551B9A0](https://etherscan.io/address/0x501804B374EF06fa9C427476147ac09F1551B9A0) | [originstaking.eth](https://etherscan.io/address/originstaking.eth) | + + + +Internal implementation contracts: + + + +| Contract | Address | +| ----------- | --------------------------------------------------------------------------------------------------------------------- | +| OGN Staking | [0x8cd68a1e0b79150455c5498882d5d5d3df2dde08](https://etherscan.io/address/0x8cd68a1e0b79150455c5498882d5d5d3df2dde08) | + + + +OUSD compensation contract ([details](https://medium.com/originprotocol/origin-delivers-on-compensation-promise-claim-your-ousd-and-ogn-now-a9fa9b840476)): + + + +| Contract | Address | +| ----------------- | --------------------------------------------------------------------------------------------------------------------- | +| OUSD Compensation | [0x9C94df9d594BA1eb94430C006c269C314B1A8281](https://etherscan.io/address/0x9C94df9d594BA1eb94430C006c269C314B1A8281) | +{% endtab %} + +{% tab title="Flipper" %} +Flipper is a gas-optimized way for users to swap in and out of OUSD at a fixed 1:1 rate with other stablecoins. This contract may become empty on one side (e.g., contain 0 OUSD balance), and thus sometimes provides limited swap routes. + + + +| Contract | Address | ENS | +| -------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- | +| Flipper | [0xcecaD69d7D4Ed6D52eFcFA028aF8732F27e08F70](https://etherscan.io/address/0xcecaD69d7D4Ed6D52eFcFA028aF8732F27e08F70) | [originflipper.eth](https://etherscan.io/address/originflipper.eth) | +{% endtab %} + +{% tab title="Wrapped" %} +Wrapped OUSD\ +\ **Well known proxy address:** - [0xD2af830E8CBdFed6CC11Bab697bB25496ed6FA62](https://etherscan.io/address/0xD2af830E8CBdFed6CC11Bab697bB25496ed6FA62) + +Internal implementation address - [0xbf3b9b141cb3629f5bb8f721cba9265c92494539](https://etherscan.io/address/0xbf3b9b141cb3629f5bb8f721cba9265c92494539) +{% endtab %} +{% endtabs %} + + + + + + + + diff --git a/el/README.md b/el/README.md new file mode 100644 index 000000000..7c08388ed --- /dev/null +++ b/el/README.md @@ -0,0 +1,29 @@ +--- +description: The first stablecoin that earns a yield while it's still in your wallet +--- + +# Introduction + +## **A Better Form of Money** + +Origin Dollar (OUSD) is a new stablecoin that was initially launched in September 2020 on the Ethereum network. Its design is superior to existing stablecoins because OUSD captures competitive yields while being passively held in wallets. + +![](.gitbook/assets/origin-dollar-summary.jpeg) + +**Background** + +In 1999, Yu Pan, Origin’s R\&D engineer, and his fellow PayPal co-founders [conceived](https://www.cnbc.com/2017/08/14/david-sacks-cryptocurrency-interview.html) of creating “the new world currency”, complete with interest yielding strategies and debit cards without having to connect to traditional banking systems. Several pivots and an eBay acquisition later, PayPal dropped its ambitions in this area. + +Almost two decades later, Tether introduced the concept of a USD-denominated stablecoin in 2014. Since then, stablecoins have proven themselves as an ideal way of transferring value without exposing users to the price volatility of free-floating currencies. Today, more value is [transferred via Tether](https://www.bloomberg.com/news/articles/2019-10-01/tether-not-bitcoin-likely-the-world-s-most-used-cryptocurrency) than with Bitcoin. Meanwhile, Decentralized Finance (DeFi) has experienced an explosion of growth with [billions of dollars](https://defipulse.com) of capital now locked up in smart contracts that generate yields from lending and trading protocols. + +One of the problems with existing stablecoins is that users have to constantly choose between holding an easily spendable coin and earning yields by locking their tokens up in smart contracts. For example, users that lock up USDC in Aave cannot spend a portion of that USDC simultaneously. Expensive Ethereum gas fees serve as "switching costs" each time those users want to switch between spending mode and earning mode. + +To make matters worse, yields from lending and trading activities change rapidly. Sophisticated DeFi yield earners are familiar with constantly having to rebalance their portfolio of assets across many competing platforms. This is time-consuming and expensive as gas fees once again eat into yields. In addition, it is time-consuming to calculate real ROI as APYs are unstable and constantly fluctuating. There isn't an easy unit of account. As a result, while DeFi is growing extremely rapidly, it still makes it difficult for many cryptocurrency users to participate. + +With OUSD, there’s no need to unwind complicated positions when you want to spend your OUSD. You can transfer it freely without having to pay gas to unlock spendable capital. In addition, OUSD gives you access to some of the highest-earning opportunities across DeFi with none of the hassles. The OUSD smart contract will deploy your underlying capital to a diversified set of yield-earning strategies, rebalancing over time to achieve great yields while diversifying risk. Earnings automatically accrue in your wallet and compound continuously while you hold OUSD. Again, no staking or lockups are required. OUSD also serves as an ideal unit of account. DeFi investors no longer need complicated spreadsheets to calculate their earnings as they can easily see their constantly updated OUSD balances in real-time as their interest compounds automatically. OUSD is an ideal stablecoin for DeFi yield farmers and novice cryptocurrency users alike. + +Created by cryptocurrency and fintech veterans, the Origin Dollar is brought to you by the [team](https://www.originprotocol.com/team) at [Origin Protocol](https://www.originprotocol.com) that includes serial entrepreneurs, early cryptocurrency investors, early employees at YouTube, engineering managers at Google/Dropbox, and one of the Paypal co-founders, Yu Pan. + +For those interested in diving into the technical details of how it works, these docs are a great place to start. We encourage developers to audit and contribute to our [Github](http://www.github.com/OriginProtocol) (100% open-source). Our team hangs out in [Discord](https://www.originprotocol.com/discord) if you have questions or need help getting started. + +Welcome to the future of money. diff --git a/el/SUMMARY.md b/el/SUMMARY.md new file mode 100644 index 000000000..a389e6c18 --- /dev/null +++ b/el/SUMMARY.md @@ -0,0 +1,64 @@ +# Table of contents + +* [Introducing OUSD](README.md) +* [How It Works](how-it-works.md) +* [Getting Started](getting-started.md) +* [Analytics Dashboard](analytics-dashboard.md) +* [FAQ](faq.md) + +## Core Concepts + +* [Elastic Supply](core-concepts/elastic-supply/README.md) + * [Rebasing & Smart Contracts](core-concepts/elastic-supply/rebasing-and-smart-contracts.md) +* [Yield Generation](core-concepts/yield-generation/README.md) + * [Lending](core-concepts/yield-generation/lending.md) + * [Market Making](core-concepts/yield-generation/market-making.md) + * [Rewards](core-concepts/yield-generation/rewards.md) +* [Wrapped OUSD](core-concepts/wrapped-ousd.md) +* [Supported Stablecoins](core-concepts/supported-stablecoins/README.md) + * [USDT](core-concepts/supported-stablecoins/usdt.md) + * [USDC](core-concepts/supported-stablecoins/usdc.md) + * [DAI](core-concepts/supported-stablecoins/dai.md) +* [Supported Strategies](core-concepts/supported-strategies/README.md) + * [Compound](core-concepts/supported-strategies/compound.md) + * [Aave](core-concepts/supported-strategies/aave.md) + * [Curve](core-concepts/supported-strategies/curve.md) + * [Convex](core-concepts/supported-strategies/convex.md) +* [Fund Management](core-concepts/fund-management.md) +* [Price Oracles](core-concepts/price-oracles.md) + +## Governance + +* [Principles](governance/principles.md) +* [Admin Privileges](governance/admin-privileges.md) +* [OGN Staking](governance/ogn-staking.md) +* [Contributing](governance/contributing.md) +* [Vote Delegation](governance/vote-delegation.md) + +## Smart Contracts + +* [Architecture](smart-contracts/architecture.md) +* [Registry](smart-contracts/registry.md) +* [API](smart-contracts/api/README.md) + * [Vault](smart-contracts/api/vault.md) + * [ERC-20](smart-contracts/api/erc-20-1.md) + * [Timelock](smart-contracts/api/timelock.md) + * [Strategies](smart-contracts/api/strategies.md) + +## Security & Risks + +* [Risks](security-and-risks/risks.md) +* [Audits](security-and-risks/audits.md) +* [Insurance](security-and-risks/insurance.md) +* [Bug Bounties](security-and-risks/bug-bounties.md) + +## Guides + +* [Integration Guide For Exchanges](guides/integration-guide-for-exchanges.md) +* [Incentivized Harvesting Guide](guides/incentivized-harvesting-guide.md) + +## Links + +* [Github](https://www.github.com/originprotocol/origin-dollar) +* [Discord](https://www.originprotocol.com/discord) +* [originprotocol.com](https://www.originprotocol.com) diff --git a/el/analytics-dashboard.md b/el/analytics-dashboard.md new file mode 100644 index 000000000..9c3e6a577 --- /dev/null +++ b/el/analytics-dashboard.md @@ -0,0 +1,31 @@ +# Analytics Dashboard + +{% hint style="info" %} +Visit [analytics.ousd.com](https://analytics.ousd.com) to see how funds are allocated, view historical performance data, and track your personal gains. +{% endhint %} + +The [APY dashboard](https://analytics.ousd.com/apy) is primarily intended for consumption by our engineering team, but we went ahead and deployed it since our ethos is "public by default" and everything that we do is [open-source](http://github.com/OriginProtocol). Unfortunately, that often means erring on the side of transparency and not necessarily the side of taking the time to explain things clearly. + +Before diving into the yield calculation, it's important to understand how OUSD works both in terms of [yield generation](https://docs.ousd.com/core-concepts/yield-generation) and [rebasing](https://docs.ousd.com/core-concepts/elastic-supply). You can read all about that in these [docs](https://docs.ousd.com), including [the part about smart contracts being excluded from yield](https://docs.ousd.com/core-concepts/elastic-supply/rebasing-and-smart-contracts). + +To summarize how APY is calculated, it's the annualized rate of change in OUSD's internal accounting of users' balances between two points in time. To understand that, let's break down the columns in the historical APY table (in reverse order). + +**Ratio** + +There are two types of OUSD balances: rebasing (most accounts) and non-rebasing (smart contracts that have not opted in). The OUSD token contract maintains a separate internal accounting for each type of balance using what it calls "credits". The ratio shown here is the rebasing supply of OUSD divided by the rebasing credits, which gives us the exchange rate between the two. + +**Credits** + +Some smart contracts holding OUSD have unique credit balances because their rebasing status has changed at some point in the past (by opting in or out). Here we show the sum of all rebasing credits and non-rebasing credits. When multiplied by the ratio, it gives the difference between backing supply and non-rebasing supply. + +**Non-rebasing** + +This is the portion of supply held in other smart contracts that have not opted in to rebasing. When added to (credits \* ratio), this equals backing supply. Note also that the **%** column shows the percentage of OUSD that is non-rebasing. + +**Boost** + +The APY is effectively "boosted" for rebasing accounts thanks to the fact that some OUSD is non-rebasing. Think about all of the stablecoins that were used as collateral to mint the non-rebasing OUSD. Those stablecoins are still earning through our yield farming strategies, but the gains are accruing only to the rebasing accounts. The result is that the effective APY is higher than it would be without this mechanism. The boost is the measure of this difference. If boost is 100%, then regular OUSD holders are enjoying double the APY that they otherwise would. + +**APR/APY calculation** + +Bringing this full circle, we currently measure yield by measuring the change in the [rebasing credits per token](https://github.com/OriginProtocol/origin-dollar/blob/master/contracts/contracts/token/OUSD.sol#L45) between two points in time. But there are a few other considerations to note. First, we have to make an assumption about how many Ethereum blocks are mined on an average day. We use a [fixed 6,500](https://github.com/OriginProtocol/ousd-analytics/blob/master/eagleproject/core/views.py#L43), but the actual number of blocks per day is variable. Second, we need a reasonable time horizon to measure. We focus on 30 days, which has proven to be a relatively consistent window of time during which a complete sample of yield-generating activities has occurred. Third, we convert APR into APY by assuming [constant daily compounding](https://github.com/OriginProtocol/ousd-analytics/blob/master/eagleproject/core/views.py#L449-L451). In other words, yield is constantly being reinvested into the same strategies. Finally, there is one notable drawback to using the rebase ratio to measure yield. Since rebase events currently occur sporadically (and not very frequently in a world of high gas prices), the APY won't reflect earnings that have not yet been translated to account balances. For example, there could be an interest rate spike in Compound or a volume spike in the Curve 3pool strategy, which would cause OUSD to earn more than it does on an average day. Until [the rebase method](https://github.com/OriginProtocol/origin-dollar/blob/master/contracts/contracts/vault/VaultCore.sol#L365-L370) gets called, the APY will underreport these earnings. In fact, anyone who sells OUSD during that time would be missing out on the "[next rebase](https://analytics.ousd.com)". The good news is that you should be able to observe the change in your balance over one week and it (annualized) should approximately equal our advertised APY. diff --git a/el/architecture/erc-20-1.md b/el/architecture/erc-20-1.md new file mode 100644 index 000000000..a9caff400 --- /dev/null +++ b/el/architecture/erc-20-1.md @@ -0,0 +1,19 @@ +# ERC-20 + +{% hint style="success" %} +The main ERC20 address for Origin Dollar \(OUSD\) is: +**0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +OUSD is an ERC-20 compliant token with one novel property that is important to understand. + +{% hint style="warning" %} +Wallets and exchanges that wish to integrate OUSD should not cache token balances for OUSD as this value will change frequently as yield is accrued to token holders. +{% endhint %} + +The biggest difference separating OUSD from your average ERC-20 token is the way OUSD's`balanceOf()` function will return a variable amount based on the total value of the pool multiplied by the holder's stake in the pool. This difference is vital to understand, particularly for wallets and exchanges that wish to integrate the OUSD token. This value should be fetched in real-time instead of being cached since OUSD rebases frequently. + + + + + diff --git a/el/architecture/erc-20.md b/el/architecture/erc-20.md new file mode 100644 index 000000000..9a789241b --- /dev/null +++ b/el/architecture/erc-20.md @@ -0,0 +1,12 @@ +# Overview + +![](../.gitbook/assets/ousd_docs_graphics_3.png) + +OUSD is made up of a series of smart contracts. Each of these contracts is wrapped in a proxy contract that can be upgraded via the governance protocols. + +Internally, ownership in the pool is tracked using a credits system that represents the percent ownership of the pool for each holder. The ERC-20 contract handles the conversion to USD terms when viewing a balance or initiating a transfer between wallets. + +The Vault is responsible for minting and burning OUSD. It also enforces the percentage of assets that are deployed to each of the supported [Strategies](../core-concepts/supported-strategies/). To optimize gas costs, the vault maintains a buffer to allow most deposits and redemptions to occur without winding/unwinding assets from strategies. + + + diff --git a/el/architecture/strategies.md b/el/architecture/strategies.md new file mode 100644 index 000000000..3133d5b03 --- /dev/null +++ b/el/architecture/strategies.md @@ -0,0 +1,14 @@ +# Strategies + +New strategies can be added or removed at any time to respond to new market realities and diversify risk. + +At launch, OUSD will take advantage of a single strategy and deploy deposited capital to Compound. We intend to deploy many other strategies soon thereafter. + +Once we migrate to decentralized governance, it is our intent for the community to propose new strategies and to vote on the appropriate weight for each strategy in the pool. We anticipate that most OUSD holders will value having some exposure to higher yield opportunities while maintaining more conservative positions for a portion of the funds. + + + + + + + diff --git a/el/architecture/timelock.md b/el/architecture/timelock.md new file mode 100644 index 000000000..b26b30f1c --- /dev/null +++ b/el/architecture/timelock.md @@ -0,0 +1,22 @@ +# Timelock + +{% hint style="danger" %} +The timelock will be added soon after everything is verified as working. Until then, the contracts will be governed by Origin's 5 of 8 multi-sig. This allows for a faster response if any critical issues are discovered. +{% endhint %} + +The timelock contract enforces a 48 hour wait period before any changes to the OUSD contracts can be executed. The timelock can be called by our multi-sig and is the owner of our [ERC-20](erc-20.md), [Vault](vault.md), and [Strategies](strategies.md) contracts. Time-delaying admin actions gives users a chance to exit OUSD if its admins become malicious, are compromised, or make a change that the users do not like. + +{% hint style="info" %} +The timelock is a safety measure that gives OUSD holders 48 hours to withdraw their funds if they have objections to any proposed upgrades to the protocol. +{% endhint %} + +OUSD is using a slightly modified version of the [Compound Timelock](https://compound.finance/docs/governance) which has been [audited by OpenZeppelin](https://blog.openzeppelin.com/compound-finance-patch-audit/). The 3 notable differences are: + +1. OUSD will initially use a shorter wait period \(48 hours\) than Compound \(72 hours\) to allow for a faster response if any issues are discovered. +2. Once the 48 hours have passed, anyone is free to execute the call, not just the owner of the contract. +3. Deposits \(but not withdrawals or transfers\) can be immediately frozen without requiring the 48 waiting period. This is in case a major vulnerability is discovered. + + + + + diff --git a/el/architecture/vault.md b/el/architecture/vault.md new file mode 100644 index 000000000..ebb2a96dc --- /dev/null +++ b/el/architecture/vault.md @@ -0,0 +1,17 @@ +# Vault + +The vault is at the core of the protocol. The vault is responsible for minting/redeeming OUSD tokens, rebalancing funds between the various supported strategies, and liquidating rewards tokens. + +The most important publicly callable functions on the Vault are: + +* `mint()`allows a single supported stablecoin to be converted to OUSD +* `mintMultiple()`allows multiple supported stablecoins to be converted to OUSD in a single call +* `redeem()`allows a specified amount of OUSD to be redeemed for other supported stablecoins. +* `redeemAll()`allows a user to redeem their entire balance of OUSD for other supported stablecoins. This is particularly useful since user balances are constantly growing as yield is accrued. +* `rebase()`updates the balances for all users based on the value of the assets currently stored in the pool. +* `allocate()`moves the assets under management into their prescribed [Stategies](strategies.md) to maximize yield and diversify risk. + +On redemptions, it is the protocol and not the user that decides which stablecoin\(s\) to return to the user. This decision of which coin\(s\) to return is based on the internal ratios of the assets that are being held in the pool. + + + diff --git a/el/core-concepts/elastic-supply.md b/el/core-concepts/elastic-supply.md new file mode 100644 index 000000000..2cf0fd8ae --- /dev/null +++ b/el/core-concepts/elastic-supply.md @@ -0,0 +1,18 @@ +# Elastic Supply + +**Elastic Supply. Stable Price.** + +OUSD works differently than most tokens. Instead of the price increasing as the value of the assets under management increase \(as with Compound cTokens or Yearn yTokens\), the value of one OUSD remains constant at approximately $1. Instead, the contracts constantly adjust the monetary supply and automatically updates the balance in every token holder’s wallet to reflect the yield that has been earned by the protocol. + +{% hint style="info" %} +Think of it as interest accruing in your bank account. The unit of account and value for the US dollar doesn’t change. You just get more US dollars over time as you earn interest. +{% endhint %} + +![](../.gitbook/assets/ousd_docs_graphics_4.png) + +This mechanism was inspired by the novel approach taken by [Ampleforth](https://www.ampleforth.org/), but there are some key differences that are worth highlighting: + +1. OUSD is 100% backed by other stablecoins and will not have the same challenge maintaining the peg to the dollar. Given the ease of minting and redeeming OUSD, we can count on arbitrageurs to ensure the peg is maintained. +2. OUSD rebasing should only increase supply since the amount of OUSD minted is tied to the realized gains earned by the underlying strategies. Your principal is protected as long as nothing goes wrong with the underlying lending/AMM and stablecoin protocols. Any decrease in your balance would be an indication of trouble in the system. +3. Unlike Ampleforth, which rebases once a day, the monetary supply of OUSD is constantly being updated in real-time as yield is generated. + diff --git a/el/core-concepts/elastic-supply/README.md b/el/core-concepts/elastic-supply/README.md new file mode 100644 index 000000000..a681d0615 --- /dev/null +++ b/el/core-concepts/elastic-supply/README.md @@ -0,0 +1,21 @@ +# Elastic Supply + +**Elastic Supply. Stable Price.** + +OUSD works differently than most tokens. Instead of the price increasing as the value of the assets under management increase (as with Compound cTokens or Yearn yTokens), the value of one OUSD remains constant at approximately $1. Instead, the contracts constantly adjust the monetary supply and automatically updates the balance in every token holder’s wallet to reflect the yield that has been earned by the protocol. + +{% hint style="info" %} +Think of it as interest accruing in your bank account. The unit of account and value for the US dollar doesn’t change. You just get more US dollars over time as you earn interest. +{% endhint %} + +![](../../.gitbook/assets/ousd\_docs\_graphics\_4.png) + +This mechanism was inspired by the novel approach taken by [Ampleforth](https://www.ampleforth.org), but there are some key differences that are worth highlighting: + +1. OUSD is 100% backed by other stablecoins and does not have the same challenge maintaining the peg to the dollar. Given the ease of minting and redeeming OUSD, we can count on arbitrageurs to ensure the peg is maintained. +2. OUSD rebasing will only increase supply since the amount of OUSD minted is tied to the realized gains earned by the underlying strategies. Your principal is protected as long as nothing goes wrong with the underlying lending/AMM and stablecoin protocols. Your OUSD balance will never decrease, but the value could drop if there's a failure in the underlying systems. +3. Unlike Ampleforth, which only rebases once a day, the monetary supply of OUSD is constantly being updated in real-time as yield is generated. Rebases are triggered regularly as users interact with the OUSD contracts. Chainlink Keepers ensure at least one rebase occurs every day. + +**Manually triggering a rebase** + +Anyone can trigger a rebase at any time by [calling the rebase function on the vault](https://etherscan.io/address/originvault.eth#writeProxyContract). You can do this on Etherscan by connecting a web3 wallet. diff --git a/el/core-concepts/elastic-supply/rebasing-and-smart-contracts.md b/el/core-concepts/elastic-supply/rebasing-and-smart-contracts.md new file mode 100644 index 000000000..cdebbc4bf --- /dev/null +++ b/el/core-concepts/elastic-supply/rebasing-and-smart-contracts.md @@ -0,0 +1,22 @@ +# Rebasing & Smart Contracts + +If you are using a multi-sig wallet or another smart contract that wishes to participate in the rebasing aspect of OUSD you must call OUSD’s`rebaseOptIn()` function. This only applies to smart contracts as standard EOA wallets are enrolled automatically. + +{% hint style="info" %} +Multi-sig wallets or other smart contracts must call`rebaseOptIn()`to earn yield. +{% endhint %} + +By default, OUSD that is held on smart contracts will not participate in the rebasing nature of the token and will forfeit any yield unless the smart contract explicitly opts-in. This increases the composability of OUSD within DeFi as many protocols weren't designed with the expectation that balances might change. To other DeFi protocols, OUSD works just like any other normal, well-behaved ERC-20 until you ask it to change. This is a particularly useful attribute for automated market makers (AMM’s) like Uniswap which break when the number of tokens they are holding changes unexpectedly. + +![The Gnosis Safe OUSD app will prompt you to opt in to yield](../../.gitbook/assets/ousd-app-in-gnosis-safe.png) + +Smart contracts must explicitly opt-in to receiving yield via the rebasing mechanism. This fixes the issue with the expanding supply on AMM’s while still allowing multi-sig wallets and other smart contracts the opportunity to still participate and earn yield. + +{% hint style="warning" %} +If you are deploying a contract and intend to call`rebaseOptIn()`to earn yield you cannot call it from the contract's constructor. The contract must be deployed before it can be called. +{% endhint %} + +[Gnosis Safe](https://gnosis-safe.io) users are encouraged to use the Origin Dollar app which will prompt you to opt in to receiving yield. If you are using the "Old" [Gnosis Wallet](https://github.com/gnosis/MultiSigWallet) or another contract-based wallet, you will need the [proxy contract address for OUSD](../../smart-contracts/registry.md) and the corresponding [ABI](https://api.etherscan.io/api?module=contract\&action=getabi\&address=0x1ae95dd4eeae7ed03da79856c2d44ffa3318f805). Once you add those, you will be able to call the `rebaseOptIn()` function to opt into receiving yield via rebasing or`rebaseOptOut()` to turn it off again. + + + diff --git a/el/core-concepts/fund-management.md b/el/core-concepts/fund-management.md new file mode 100644 index 000000000..d6b1920c5 --- /dev/null +++ b/el/core-concepts/fund-management.md @@ -0,0 +1,23 @@ +# Fund Management + +The OUSD smart contract aggregates all users' stablecoin deposits into a single pool of assets that are then deployed into earning strategies based on preset allocations. In contrast to Yearn Vaults, TokenSets, or Zapper opportunities, users do not select individual strategies. All deposited stablecoins and consequently all OUSD tokens are fungible. + +The weighting of how assets are distributed between the supported strategies is decided by OGN holders using weekly snapshot voting. These votes happen offchain and do not cost any gas. The results of the weekly poll will then be executed onchain by members of the [Strategist multi-sig](https://etherscan.io/address/0xF14BBdf064E3F67f51cd9BD646aE3716aD938FDC) (known as "Strategists"). + +Ultimately, we believe it should be up to the community to decide what the right balance of risk/reward is appropriate for OUSD. We encourage the community to favor high-yield strategies while still maintaining diversification across multiple strategies to remove single points of failure and minimize risk. + +**How strategy allocation voting works:** + +* New snapshot proposals will open for voting on the [OGN governance portal ](http://vote.originprotocol.com)at midnight Tuesday UTC (7pm eastern Monday). The poll will be open for 48 hours, ending at midnight Thursday UTC (7pm eastern on Wednesday). +* During this time, those interested can discuss allocation changes in a thread in the #governance channel on [Origin's Discord](https://www.originprotocol.com/discord). +* Each proposal will use "weighted voting", with options for each coin/strategy combination and an option to keep the existing allocation unchanged. OGN holders can spread their votes among different listed strategies or the existing allocation. +* After the voting time has ended, Strategists will submit, verify, and execute transactions to change OUSD to the determined allocation percentages for the week. If more than 50% of the weighted votes are cast for the existing allocation, Strategists will take no action. +* Allocations will be executed for strategies that use all stablecoins first (like Convex), then each stablecoin will be allocated to the remaining strategies according to the ratio of votes for that stablecoin / strategy combination. +* If the Strategists deem any of the allocations unsafe to the funds behind OUSD, they may choose to not execute those. In addition, Strategists may decline to execute minor adjustments where the gas costs would be greater than the expected benefits. +* Like all governance proposals, Strategist allocations must meet the minimum quorum requirements (currently 1M OGN) to be considered valid. +* From a security standpoint, it is important to know that while Strategists have the ability to move funds between approved strategies or instantly pause rebasing in the case of an emergency, Strategists do not have the power to add new strategies or withdraw funds without going through the timelock. Community members can use the Strategy Validator tools to more easily [create](https://analytics.ousd.com/strategist/creator) and [decode](https://analytics.ousd.com/strategist) which actions are being performed by the Strategists. +* When voting, please remember it is inefficient to move in and out of the Convex strategy frequently and some funds need to always remain outside of Convex in order to accommodate withdrawals. + + + +**** diff --git a/el/core-concepts/fund-management/README.md b/el/core-concepts/fund-management/README.md new file mode 100644 index 000000000..4f6287602 --- /dev/null +++ b/el/core-concepts/fund-management/README.md @@ -0,0 +1,6 @@ +# Fund Management + +The OUSD smart contract aggregates all users' stablecoin deposits into a single pool of investable assets. Funds are then allocated across one or more [earning strategies](earning-strategies.md) at any given moment in time. The Vault favors high-yield strategies but also seeks to maintain diversification across multiple strategies. Diversification removes single points of failures and mitigates risks. + +In contrast to Yearn Vaults, TokenSets, or Zapper opportunities, users do not select individual strategies. All deposited stablecoins and consequently all OUSD tokens are fungible. + diff --git a/el/core-concepts/fund-management/diversification.md b/el/core-concepts/fund-management/diversification.md new file mode 100644 index 000000000..3d98a522e --- /dev/null +++ b/el/core-concepts/fund-management/diversification.md @@ -0,0 +1,8 @@ +# Diversification + +The initial version of the OUSD Vault smart contract gives each valid strategy a simple weight between 0% and 100% to perform simple asset allocation. These weights will be shifted often via updates by Origin in the short-term and by decentralized governance in the long-term. + +Diversification across multiple underlying DeFi [platforms](../supported-strategies/) will reduce smart contract and other systemic risks. The smart contract will calculate current and expected APYs in an effort to provide competitive returns to OUSD holders. Over time, the Vault contract will be upgraded to intelligently and autonomously shift between strategies without any manual intervention. For example, the Vault will automatically shift capital between various lending strategies to optimize for yields. + +However, it is still expected that certain risk parameters or decisions on whether certain strategies will be included in the automated decision-making engine will be made through governance votes. + diff --git a/el/core-concepts/fund-management/earning-strategies.md b/el/core-concepts/fund-management/earning-strategies.md new file mode 100644 index 000000000..0fb0111e4 --- /dev/null +++ b/el/core-concepts/fund-management/earning-strategies.md @@ -0,0 +1,6 @@ +# Earning Strategies + +Earning strategies put deployed capital to work across various DeFi platforms. The Vault will determine which strategies are active and what percentage of deployed capital they will receive. + +In addition, strategies will be upgraded over time. For example, at launch, there will be an initial [Compound strategy](../supported-strategies/compound.md). Over time, this may be replaced by a v2 or v3 Compound strategy. + diff --git a/el/core-concepts/price-oracles.md b/el/core-concepts/price-oracles.md new file mode 100644 index 000000000..1b08c685f --- /dev/null +++ b/el/core-concepts/price-oracles.md @@ -0,0 +1,38 @@ +- - - +description: OUSD uses Chainlink to secure the protocol from pricing attacks +- - - + +# Price Oracles + +### Stablecoin Pricing + +OUSD is designed to stay pegged at 1 USD and be 1:1 backed with its underlying stablecoins. This is trickier than it sounds because these underlying stablecoins are constantly deviating from their own desired 1 USD pegs. While the majority of daily fluctuations are minor, there have been major swings in price that have occurred in the past and are likely to occur again in the future. + +| Coin | **Low** | **High** | **Delta** | **Source** | +| ---- | ---------------------------------------------------- | ---------------------------------------------------- | --------- | --------------------------------------------------------------------------- | +| USDC |

$0.929222

Mar 13, 2020

|

$1.11

Oct 15, 2018

| $0.180778 | [CoinMarketCap](https://coinmarketcap.com/currencies/usd-coin/) | +| USDC |

$0.924188

Aug 02, 2020

|

$1.17

May 08, 2019

| $0.245812 | [CoinGecko](https://www.coingecko.com/en/coins/usd-coin) | +| DAI |

$0.945505

May 10, 2020

|

$1.11

Mar 13, 2020

| $0.164495 | [CoinMarketCap](https://coinmarketcap.com/currencies/multi-collateral-dai/) | +| DAI |

$0.903243

Nov 25, 2019

|

$1.22

Mar 13, 2020

| $0.316757 | [CoinGecko](https://www.coingecko.com/en/coins/dai) | +| USDT |

$0.849809

Feb 02, 2017

|

$1.21

May 27, 2017

| $0.360191 | [CoinGecko](https://www.coingecko.com/en/coins/tether) | +| USDT |

$0.572521

Mar 02, 2015

|

$1.32

Jul 24, 2018

| $0.747479 | [CoinMarketCap](https://coinmarketcap.com/currencies/tether/) | + +The rebasing function treats 1 stablecoin as 1 OUSD for simplicity and to protect OUSD balances from being affected by the daily fluctuations in the price of the underlying stablecoins. Since the rebase function only counts coins, OUSD balances should only increase. + +In order to mint and redeem the appropriate number of OUSD on entry and exit, the smart contracts need to accurately price the USDT, USDC, and DAI that is entering and exiting the system. + +As an added precaution, OUSD never pays more than a dollar for a stablecoin, nor sells a stablecoin for less than a dollar. Oracles giving wrong prices will not result in a reduction of the number of stablecoins held. Gains that are collected as a result of stablecoins slipping from their peg are redistributed to the remaining holders of OUSD in the form of additional yield. + +As a decentralized protocol, OUSD must rely on non-centralized sources for these prices. OUSD uses Chainlink oracles for pricing data for DAI, USDC and USDT. You can read more about [our decision to work with Chainlink](https://blog.originprotocol.com/how-origin-uses-chainlink-oracles-to-secure-ousd-bff5601e840e) on our blog. Here are the Chainlink oracles we are currently using for stablecoin pricing: + +{% embed url="https://data.chain.link/usdt-usd" %} + +{% embed url="https://data.chain.link/usdc-usd" %} + +{% embed url="https://data.chain.link/dai-usd" %} + +### Reward Token Oracles & Front Running Protection + +When reward tokens from OUSD strategies are sold for additional yield, Chainlink oracles are checked to ensure that the sale price slippage has not exceeded normal bounds. These oracles are listed on our [registry](../smart-contracts/registry.md) page under the "Oracles" tab. + +The same is also true for OGN buybacks from OUSD yield.\ \ When minting and redeeming OUSD, a miniumun required amount can be passed into the contract call to ensure that the entire transaction fails if not enough OUSD or stablecoins would be returned to the user due to changing prices. diff --git a/el/core-concepts/price-oracles/README.md b/el/core-concepts/price-oracles/README.md new file mode 100644 index 000000000..58ed68ed4 --- /dev/null +++ b/el/core-concepts/price-oracles/README.md @@ -0,0 +1,126 @@ +# Price Oracles + +OUSD is designed to stay pegged at 1 USD and be 1:1 backed with its underlying stablecoins. This is trickier than it sounds because these underlying stablecoins are constantly deviating from their own desired 1 USD pegs. While the majority of daily fluctuations are minor, there have been major swings in price that have occurred in the past and are likely to occur again in the future. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CoinLow + High + Delta + Source +
USDC +

$0.929222

+

Mar 13, 2020

+
+

$1.11

+

Oct 15, 2018

+
$0.180778CoinMarketCap +
USDC +

$0.924188

+

Aug 02, 2020

+
+

$1.17

+

May 08, 2019

+
$0.245812CoinGecko +
DAI +

$0.945505

+

May 10, 2020

+
+

$1.11

+

Mar 13, 2020

+
$0.164495CoinMarketCap +
DAI +

$0.903243

+

Nov 25, 2019

+
+

$1.22

+

Mar 13, 2020

+
$0.316757CoinGecko +
USDT +

$0.849809

+

Feb 02, 2017

+
+

$1.21

+

May 27, 2017

+
$0.360191CoinGecko +
USDT +

$0.572521

+

Mar 02, 2015

+
+

$1.32

+

Jul 24, 2018

+
$0.747479CoinMarketCap +
+ +The rebasing function treats 1 stablecoin as 1 OUSD for simplicity and to protect OUSD balances from being affected by the daily fluctuations in the price of the underlying stablecoins. Since the rebase function only counts coins, OUSD balances should only increase. + +In order to mint and redeem the appropriate number of OUSD on entry and exit, the smart contracts need to accurately price the USDT, USDC, and DAI that is entering and exiting the system. As a decentralized protocol, OUSD must rely on non-centralized sources for these prices. + +{% hint style="info" %} +OUSD fetches the price from multiple on-chain oracles and uses the exchange rate that is most advantageous for the vault when minting or redeeming. +{% endhint %} + +In order to prevent malicious attacks and to encourage long-term investors over short-term speculators, the OUSD contract compares price feeds from multiple sources and will use whichever exchange rate benefits the entire vault over the individual. This mechanism protects the vault funds from arbitrageurs and prevents any individual from being able to take advantage of any temporary inefficiencies caused by mispriced oracles to deplete the shared pool of assets. + +This protects the funds in the vault while rewarding long-term holders. Since the safest price depends on the direction of the trade, the Origin oracle exposes both a `priceUSDMint()` and a `priceUSDRedeem()`. + +OUSD uses Chainlink as oracle for DAI, USDC and USDT. + +{% embed url="https://feeds.chain.link/eth-usd" caption="" %} + +The specific smart contract address for each oracle being used are listed on our [registry](../../smart-contracts/registry.md) page. + +It is possible that additional oracles will be added to the protocol over time. Support may also be removed if any of these oracles become unreliable. + diff --git a/el/core-concepts/price-oracles/untitled.md b/el/core-concepts/price-oracles/untitled.md new file mode 100644 index 000000000..7a413944b --- /dev/null +++ b/el/core-concepts/price-oracles/untitled.md @@ -0,0 +1,25 @@ +# Untitled + +## Getting Super Powers + +Becoming a super hero is a fairly straight forward process: + +``` +$ give me super-powers +``` + +{% hint style="info" %} + Super-powers are granted randomly so please submit an issue if you're not happy with yours. +{% endhint %} + +Once you're strong enough, save the world: + +{% code title="hello.sh" %} +```bash +# Ain't no code for that yet, sorry +echo 'You got to trust me on this, I saved the world' +``` +{% endcode %} + + + diff --git a/el/core-concepts/supported-assets/README.md b/el/core-concepts/supported-assets/README.md new file mode 100644 index 000000000..56390ccf6 --- /dev/null +++ b/el/core-concepts/supported-assets/README.md @@ -0,0 +1,20 @@ +# Supported Stablecoins + +**Supported Stablecoins** + +It is important to understand that OUSD is only as strong as the stablecoins that are backing it. Any loss to the underlying assets will cause a similar loss to the value of OUSD. + +Currently, OUSD supports the following stablecoins: + +{% page-ref page="usdt.md" %} + +{% page-ref page="usdc.md" %} + +{% page-ref page="dai.md" %} + +None of these stablecoins are perfect, but we selected them because of their widespread usage. While these stablecoins have lost their USD peg on multiple occasions, they have demonstrated resiliency in eventually getting back to their 1 USD targets. + +It is important to note that all these stablecoins introduce non-trivial counter-party risk. Tether, in particular, has had well-documented banking troubles and regulatory challenges. In addition, both USDT and USDC have backdoors that grant their issuers the power to freeze money in their holder's wallets. While DAI does not have any direct backdoors, it's assets can also be negatively impacted since USDC is accepted as collateral for minting DAI. + +Despite these concerns, there are already billions of dollars betting on the security of these stablecoins. It is possible that additional stablecoins will be added to the protocol over time. Support may also be removed if any of these stablecoins prove to be too unreliable or put OUSD holders funds in jeopardy. + diff --git a/el/core-concepts/supported-assets/dai.md b/el/core-concepts/supported-assets/dai.md new file mode 100644 index 000000000..4be5c3788 --- /dev/null +++ b/el/core-concepts/supported-assets/dai.md @@ -0,0 +1,20 @@ +# DAI + +![](../../.gitbook/assets/dai.png) + +Dai is a fiat-pegged stablecoin launched as a ERC-20 token on the Ethereum blockchain in December 2017. A major upgrade from single-collateral Dai \(SAI\) to multi-collateral Dai \(DAI\) was completed in November 2019. Dai is pegged to the US dollar. + +Dai is minted by users locking up crypto assets such as ETH or USDC as collateral in a collateralized debt position \(CDP\) called a vault. Previously, only ETH was accepted as collateral. The reserves and status of each vault can be viewed on the blockchain in real-time. The health of these vaults and the Dai stablecoin are closely monitored. + +Dai is the world's third-largest stablecoin with over $400 million in circulation. In addition, cDAI and aDAI, synthetic versions of Dai on the lending platforms Compound and Aave, combine for over $600 million in circulation. + +| Key Facts | | +|:------------- |:------------------------------------------------------------------------------------------------------------------- | +| Issued by | MakerDAO | +| Name | Dai | +| Symbol | DAI | +| Address | [0x6b175474e89094c44da98b954eedeac495271d0f](https://etherscan.io/token/0x6b175474e89094c44da98b954eedeac495271d0f) | +| Decimals | 18 | +| Official site | [https://makerdao.com/](https://makerdao.com/) | +| Holders | Over 140k addresses | + diff --git a/el/core-concepts/supported-assets/usdc.md b/el/core-concepts/supported-assets/usdc.md new file mode 100644 index 000000000..2647d7c83 --- /dev/null +++ b/el/core-concepts/supported-assets/usdc.md @@ -0,0 +1,22 @@ +# USDC + +![](../../.gitbook/assets/usdc-coin-bd351fb779%20%281%29.png) + +USD Coin \(USDC\) is a fiat-pegged stablecoin launched as a ERC-20 token on the Ethereum blockchain in October 2018. USDC is pegged to the US dollar and can easily be redeemed for US dollars. + +Each USDC is backed by a 1:1 ratio with the equivalent amount of fiat currency held in custodial accounts by members of Centre, a consortium founded by Circle and Coinbase. Members of Centre are regulated financial institutions based in the US. Monthly audits of reserves are published by Grant Thornton LLP. + +USDC is the world's second-largest stablecoin after USDT and has quickly grown to over $1 billion in circulation. However, USDC remains far behind USDT's $12+ billion in circulation. + +| Key Facts | | +|:------------- |:------------------------------------------------------------------------------------------------------------------- | +| Issued by | Centre | +| Name | USD Coin | +| Symbol | USDC | +| Address | [0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48](https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48) | +| Decimals | 6 | +| Official site | [https://www.centre.io/usdc](https://www.centre.io/usdc) | +| Holders | Over 200k addresses | + + + diff --git a/el/core-concepts/supported-assets/usdt.md b/el/core-concepts/supported-assets/usdt.md new file mode 100644 index 000000000..4ae2afe89 --- /dev/null +++ b/el/core-concepts/supported-assets/usdt.md @@ -0,0 +1,22 @@ +# USDT + +![](../../.gitbook/assets/image%20%281%29.png) + +Tether \(USDT\) is a fiat-pegged stablecoin that was initially built on top of Bitcoin via the Omni Layer Protocol. In September 2017, Tether announced they would be launching additional ERC-20 tokens for United States dollars on the Ethereum blockchain. + +Each Tether issued into circulation is said to be backed by a one-to-one ratio with the equivalent amount of fiat currency held in a custodial account by Tether Limited, a Hong Kong-based company with close ties to the cryptocurrency exchange, Bitfinex. + +Despite the controversy ****around ****the company's failure to provide a promised audit showing adequate reserves backing tether, USDT is still the world's largest stablecoin by market cap and currently the fourth-largest cryptocurrency after BTC, ETH and XRP. + +| Key Facts | | +|:------------- |:---------------------------------------------------------------------------------------------------------------- | +| Issued by | Tether Limited | +| Name | Tether | +| Symbol | USDT | +| Address | [0xdac17f958d2ee523a2206206994597c13d831](https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7) | +| Decimals | 6 | +| Official site | [https://tether.to/ ](https://tether.to/%20) | +| Holders | Over 1.8M addresses | + + + diff --git a/el/core-concepts/supported-defi-platforms/README.md b/el/core-concepts/supported-defi-platforms/README.md new file mode 100644 index 000000000..50ee37b6c --- /dev/null +++ b/el/core-concepts/supported-defi-platforms/README.md @@ -0,0 +1,30 @@ +# Supported DeFi Platforms + +**Supported Platforms** + +OUSD generates yield by depositing stablecoins into lending platforms and market maker liquidity pools. It is important to understand that these platforms do carry technological risk and funds can be lost if there is a major security event. We are choosing to work with the platforms that have had their smart contracts audited and that we feel are most secure. + +Currently, we plan to earn yields from the following platforms: + +{% page-ref page="compound.md" %} + +Integrations are currently planned for the following platforms: + +{% page-ref page="aave.md" %} + +{% page-ref page="dydx.md" %} + +{% page-ref page="uniswap.md" %} + +{% page-ref page="curve.md" %} + +{% page-ref page="balancer.md" %} + +{% page-ref page="yearn.finance.md" %} + +Although DeFi has grown very quickly and there are now billions of dollars worth of value deposited on these platforms, several of these projects are still in beta and are highly experimental. There may be hidden vulnerabilities in the smart contracts that power these platforms, and there have been multi-million dollar losses caused by vulnerabilities in Ethereum applications in the past. + +We closely monitor security events on the platforms we support and will immediately move to secure OUSD holder funds if we identify any threats. + + + diff --git a/el/core-concepts/supported-defi-platforms/aave.md b/el/core-concepts/supported-defi-platforms/aave.md new file mode 100644 index 000000000..df02edab3 --- /dev/null +++ b/el/core-concepts/supported-defi-platforms/aave.md @@ -0,0 +1,25 @@ +# Aave + +{% hint style="info" %} +Coming soon. Aave has not yet been integrated. +{% endhint %} + +Aave is a lending protocol and platform built on Ethereum and launched in January 2020 by the creators of ETHLend. Users on Aave can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and users can choose between a variable interest rate based on supply and demand or a fixed interest rate. + +Collateral balances are represented by ERC-20 aTokens at a 1:1 ratio to the underlying assets they represent. Interest is compounded automatically and paid to lenders with aTokens, meaning lenders will steadily see their aToken balance increase over time. Users can borrow assets against their aTokens. aTokens are freely transferable and can be used on many other DeFi protocols. aTokens can be redeemed for their underlying collateral at any time. + +Aave supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +Aave is currently governed by LEND, an ERC-20 token that was formerly the utility token for ETHLend. Aave has announced a transition to fully decentralized governance that includes a token swap where users exchange LEND for AAVE, a new ERC-20 governance token with staking rewards. Some AAVE will be distributed to users of the platform in a liquidity mining campaign. + +Aave's total value locked \(TVL\) has quickly grown to over $1.2 billion, making it one of the largest DeFi protocols. LEND has a circulating market cap of over $700 million. + +Aave has undergone security audits by OpenZeppelin, Trail of Bits, and Consensys Diligence. Aave maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------------ | +| Official site | [https://aave.com/](https://aave.com/) | +| Developer docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/aave/aave-protocol](https://github.com/aave/aave-protocol) | +| Discord | [https://discordapp.com/invite/AnSqnvV](https://discordapp.com/invite/AnSqnvV) | + diff --git a/el/core-concepts/supported-defi-platforms/balancer.md b/el/core-concepts/supported-defi-platforms/balancer.md new file mode 100644 index 000000000..f8d9e3c0a --- /dev/null +++ b/el/core-concepts/supported-defi-platforms/balancer.md @@ -0,0 +1,27 @@ +# Balancer + +{% hint style="info" %} +Coming soon. Balancer has not yet been integrated. +{% endhint %} + +Balancer is a decentralized liquidity protocol and exchange on Ethereum, launched in March 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Balancer is an Automated Market Maker \(AMM\) that allows for liquidity pools of up to 8 different assets with custom weights. Liquidity pools on Balancer can be thought of as similar to Exchange Traded Funds \(ETFs\) or portfolios with weight targets for specific assets. If trading causes the pool to shift from its target weight distribution, exchange rates between assets in the pool change. Arbitrageurs can execute trades to take advantage of this and act to rebalance the pool back to its target weight distribution. Liquidity can also be shared across pools, unlike other AMMs. + +Balancer supports private pools, where only the owner of the pool can contribute liquidity, shared pools, which are completely public, and smart pools, which are shared pools controlled by a smart contract that can implement automated rules and logic. Liquidity providers are given Balancer Pool Tokens \(BPTs\) that represent their share of a given pool and fees. These tokens are freely transferable and can be redeemed for the assets provided and accrued fees. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Balancer pools. + +Balancer is governed by BAL, an ERC-20 governance token. BAL holders can vote on protocol changes. BAL is continuously awarded to liquidity providers and a large portion of the total supply of BAL was allocated to the team and investors on a continuous vesting schedule. + +Trading volumes on Balancer are often over $25 million daily. Balancer has a Total Value Locked \(TVL\) of over $250 million by liquidity providers at the time of writing. + +Balancer has undergone a security audit by Trail of Bits and has a bug bounty program. However, Balancer has suffered a major exploit in June 2020. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://balancer.finance/](https://balancer.finance/) | +| Developer docs | [https://docs.balancer.finance/](https://docs.balancer.finance/) | +| GitHub | [https://github.com/balancer-labs](https://github.com/balancer-labs) | +| Discord | [https://discord.gg/ARJWaeF](https://discord.gg/ARJWaeF) | + diff --git a/el/core-concepts/supported-defi-platforms/compound.md b/el/core-concepts/supported-defi-platforms/compound.md new file mode 100644 index 000000000..a4d2660a1 --- /dev/null +++ b/el/core-concepts/supported-defi-platforms/compound.md @@ -0,0 +1,19 @@ +# Compound + +Compound is a lending protocol and platform built on Ethereum and launched in September 2018. Users can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and interest rates are adjusted automatically based on supply and demand. + +Collateral balances are represented by ERC-20 cTokens, which automatically accrue interest and increase in value over time relative to the underlying asset they represent. Users can borrow assets against the value of their cTokens. cTokens are freely transferable and can be used on many other DeFi protocols. cTokens can be redeemed for their underlying collateral at any time. + +Compound is governed by COMP, an ERC-20 governance token. COMP holders can propose and vote on protocol changes or delegate their votes to someone else. COMP tokens are awarded pro rata to users of the protocol daily, split equally between borrowers and lenders. A large portion of the COMP token supply was retained by the Compound team, investors, and advisors. + +Compound's total value locked \(TVL\) has quickly grown to nearly $800 million, making it one of the largest DeFi protocols. COMP has a circulating market cap of over $500 million. + +Compound has undergone multiple security audits by OpenZeppelin and Trail of Bits. The Compound protocol was formally verified by CertiK and has undergone economic stress testing by Gauntlet. Compound maintains a bug bounty program. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------------------------------------------------- | +| Official site | [https://compound.finance/](https://compound.finance/) | +| Developer docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/compound-finance/compound-protocol](https://github.com/compound-finance/compound-protocol) | +| Discord | [https://discord.com/invite/cU7vmVW](https://discord.com/invite/cU7vmVW) | + diff --git a/el/core-concepts/supported-defi-platforms/curve.md b/el/core-concepts/supported-defi-platforms/curve.md new file mode 100644 index 000000000..021d0041b --- /dev/null +++ b/el/core-concepts/supported-defi-platforms/curve.md @@ -0,0 +1,25 @@ +# Curve + +{% hint style="info" %} +Coming soon. Curve has not yet been integrated. +{% endhint %} + +Curve is a decentralized liquidity protocol and exchange on Ethereum for stablecoins and wrapped BTC, launched in January 2020. Users can swap between popular ERC-20 stablecoins or between ERC-20 representations of bitcoin. Liquidity providers facilitate trading and earn fees. + +Curve is an Automated Market Maker \(AMM\) where each market has an associated liquidity pool with two or more assets that should have the same value, like USDT, USDC, DAI and TUSD, which are all US dollar pegged stablecoins. The exchange rate between each stablecoin and their relative weights are determined by an algorithm based on supply and demand. Arbitrageurs act to normalize these exchange rates. + +Some of Curve's liquidity pools earn extra fees for liquidity providers on top of the exchange fees from traders. Curve offers stablecoin pools integrated with Compound, yearn.finance, and Synthetix. The assets in each liquidity pool are provided to those platforms to generate additional yield which is passed on to each pool's liquidity providers. Liquidity Provider \(LP\) tokens are given to pool participants and can be redeemed for their initial liquidity supplied plus accrued fees and yield. LP tokens can also transferred for use in other protocols. + +Curve is governed by CRV, an ERC-20 governance token. CRV holders can vote on protocol changes. CRV holders can stake their tokens for additional voting power proportional to time staked. CRV is continuously awarded to liquidity providers and a large portion of the total supply of CRV was allocated to the team and investors on a continuous vesting schedule. + +Trading volumes on Curve are often over $50 million daily. Curve has a Total Value Locked \(TVL\) of over $1 billion by liquidity providers at the time of writing. + +Curve has undergone two audits by Trail of Bits and maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------ | +| Official site | [https://uniswap.org/](https://uniswap.org/) | +| Developer docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/el/core-concepts/supported-defi-platforms/dydx.md b/el/core-concepts/supported-defi-platforms/dydx.md new file mode 100644 index 000000000..24f1a895e --- /dev/null +++ b/el/core-concepts/supported-defi-platforms/dydx.md @@ -0,0 +1,27 @@ +# dYdX + +{% hint style="info" %} +Coming soon. DyDx has not yet been integrated. +{% endhint %} + +dYdX is a trading and lending protocol and platform built on Ethereum and launched in May 2019. Users can trade assets on dYdX's non-custodial, decentralized exchange or participate in borrowing and lending. The lending protocol enables margin and futures trading. Interest rates are adjusted based on supply and demand and only short term loans are offered. + +Liquidity for assets available for borrowing and lending are pooled together by asset type. Interest paid to lenders is accrued automatically and borrowers must put up collateral to take out a loan. + +dYdX also supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +dYdX has around $40 million in total value locked \(TVL\) at the time of this writing. dYdX does not have a native token. + +dYdX has undergone security audits by OpenZeppelin and Bramah Systems. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://dydx.exchange/](https://dydx.exchange/) | +| Developer docs | [https://docs.dydx.exchange/](https://docs.dydx.exchange/) | +| GitHub | [https://github.com/dydxprotocol/](https://github.com/dydxprotocol/) | +| Discord | [https://discord.gg/yah42Rb](https://discord.gg/yah42Rb) | + + + + + diff --git a/el/core-concepts/supported-defi-platforms/uniswap.md b/el/core-concepts/supported-defi-platforms/uniswap.md new file mode 100644 index 000000000..012e25e93 --- /dev/null +++ b/el/core-concepts/supported-defi-platforms/uniswap.md @@ -0,0 +1,27 @@ +# Uniswap + +{% hint style="info" %} +Coming soon. Uniswap has not yet been integrated. +{% endhint %} + +Uniswap is a decentralized liquidity protocol and exchange on Ethereum, launched in November 2018. Uniswap v2 launched in May 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Markets on Uniswap operate as liquidity pools rather than order books. This type of exchange is called an Automated Market Maker \(AMM\). The exchange rate between the two assets is determined by a constant product formula and moves along a price curve depending on the relative weight of each asset in the pool. This encourages arbitrageurs to enter liquidity pools to rebalance the relative weights and normalize the exchange rate. + +Traders can suffer from slippage if there is not enough liquidity in a given pool and may not be protected from unfavorable exchange rates. Liquidity providers may suffer impermanent loss when the pool exchange rate does not match market realities and arbitrageurs execute trades along the pricing curve. + +Pool participants are given Uniswap Liquidity Provider \(LP\) tokens that correspond to their share of liquidity provided in a given pool. These LP tokens are freely transferable. Participants can exit pools at any time by redeeming these tokens for the assets provided and fees accrued. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Uniswap pools. + +Trading volumes on Uniswap now eclipse that of many traditional exchanges and regularly surpass $200 million daily. Uniswap has over $170 million in Total Value Locked \(TVL\) by liquidity providers. Uniswap does not have a native platform or governance token. + +Uniswap has had its smart contracts audited and formally verfied by dapp.org. Uniswap maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------ | +| Official site | [https://uniswap.org/](https://uniswap.org/) | +| Developer docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/el/core-concepts/supported-defi-platforms/yearn.finance.md b/el/core-concepts/supported-defi-platforms/yearn.finance.md new file mode 100644 index 000000000..3f23b9fdb --- /dev/null +++ b/el/core-concepts/supported-defi-platforms/yearn.finance.md @@ -0,0 +1,25 @@ +# Yearn.finance + +{% hint style="info" %} +Coming soon. Yearn.finance has not yet been integrated. +{% endhint %} + +Yearn.finance, formerly iEarn.finance, is a yield aggregation platform built on Ethereum and launched in January 2020 by Andre Cronje. Yearn manages yield farming and rebalancing strategies using a combination of automation and human decision making on behalf of users who have deposited capital. + +Yearn has two yield aggregation products, Earn and Vaults. Earn allows users to deposit stablecoins or wrapped BTC into liquidity pools on Curve to earn fees and governance token rewards. These assets are also lent out on platforms offering high yield and token rewards, adding to the yield earned. + +Vaults offer a more automated and managed experience. Users deposit assets such as LINK, Curve liquidity provider tokens, or stablecoins and the Vault pools these assets together and deploys the highest earning yield farming strategy as deemed safe by the community and Andre Cronje. Governance tokens earned as rewards are sold off for the original asset deposited and combined with other fees and automatically rolled into the Vault to compound yield. Strategies can be changed frequently and pooling assets together saves gas costs for users. + +Yearn is governed by YFI, an ERC-20 governance token. YFI holders can vote on protocol changes after agreeing to lock up their YFI for 3 days. YFI can also be staked for yield in the governance portal. This yield comes from fees charged to users on Yearn products. YFI was distributed entirely to liquidity providers on Curve and Balancer. There was no allocation for team members or investors. + +Yearn's total value locked \(TVL\) has quickly grown to over $800 million, making it one of the largest DeFi platforms. YFI has a circulating market cap of over $400 million. + +Yearn has undergone multiple security and smart contract audits by CertiK, Quantstamp, HackMD, and CryptoManiacs. Yearn has a reputation for launching experimental products very quickly and warns users that their products are in beta. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://yearn.finance/](https://yearn.finance/) | +| Developer docs | [https://docs.yearn.finance/](https://docs.yearn.finance/) | +| GitHub | [https://github.com/iearn-finance](https://github.com/iearn-finance) | +| Discord | [https://discord.gg/uTmHe8r](https://discord.gg/uTmHe8r) | + diff --git a/el/core-concepts/supported-platforms/README.md b/el/core-concepts/supported-platforms/README.md new file mode 100644 index 000000000..aa4b89181 --- /dev/null +++ b/el/core-concepts/supported-platforms/README.md @@ -0,0 +1,32 @@ +# Supported Platforms + +**Supported Platforms** + +OUSD generates yield by depositing stablecoins into lending platforms and market maker liquidity pools. It is important to understand that these platforms do carry technological risk and funds can be lost if there is a major security event. We are choosing to work with the platforms that have had their smart contracts audited and that we feel are most secure. + +Currently, we plan to earn yields from the following platforms: + +{% page-ref page="compound.md" %} + +Integrations are currently planned for the following platforms: + +{% page-ref page="yearn.finance.md" %} + +{% page-ref page="compound.md" %} + +{% page-ref page="aave.md" %} + +{% page-ref page="dydx.md" %} + +{% page-ref page="uniswap.md" %} + +{% page-ref page="curve.md" %} + +{% page-ref page="balancer.md" %} + +Although DeFi has grown very quickly and there are now billions of dollars worth of value deposited on these platforms, several of these projects are still in beta and are highly experimental. There may be hidden vulnerabilities in the smart contracts that power these platforms, and there have been multi-million dollar losses caused by vulnerabilities in Ethereum applications in the past. + +We closely monitor security events on the platforms we support and will immediately move to secure OUSD holder funds if we identify any threats. + + + diff --git a/el/core-concepts/supported-platforms/aave.md b/el/core-concepts/supported-platforms/aave.md new file mode 100644 index 000000000..df02edab3 --- /dev/null +++ b/el/core-concepts/supported-platforms/aave.md @@ -0,0 +1,25 @@ +# Aave + +{% hint style="info" %} +Coming soon. Aave has not yet been integrated. +{% endhint %} + +Aave is a lending protocol and platform built on Ethereum and launched in January 2020 by the creators of ETHLend. Users on Aave can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and users can choose between a variable interest rate based on supply and demand or a fixed interest rate. + +Collateral balances are represented by ERC-20 aTokens at a 1:1 ratio to the underlying assets they represent. Interest is compounded automatically and paid to lenders with aTokens, meaning lenders will steadily see their aToken balance increase over time. Users can borrow assets against their aTokens. aTokens are freely transferable and can be used on many other DeFi protocols. aTokens can be redeemed for their underlying collateral at any time. + +Aave supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +Aave is currently governed by LEND, an ERC-20 token that was formerly the utility token for ETHLend. Aave has announced a transition to fully decentralized governance that includes a token swap where users exchange LEND for AAVE, a new ERC-20 governance token with staking rewards. Some AAVE will be distributed to users of the platform in a liquidity mining campaign. + +Aave's total value locked \(TVL\) has quickly grown to over $1.2 billion, making it one of the largest DeFi protocols. LEND has a circulating market cap of over $700 million. + +Aave has undergone security audits by OpenZeppelin, Trail of Bits, and Consensys Diligence. Aave maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------------ | +| Official site | [https://aave.com/](https://aave.com/) | +| Developer docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/aave/aave-protocol](https://github.com/aave/aave-protocol) | +| Discord | [https://discordapp.com/invite/AnSqnvV](https://discordapp.com/invite/AnSqnvV) | + diff --git a/el/core-concepts/supported-platforms/balancer.md b/el/core-concepts/supported-platforms/balancer.md new file mode 100644 index 000000000..f8d9e3c0a --- /dev/null +++ b/el/core-concepts/supported-platforms/balancer.md @@ -0,0 +1,27 @@ +# Balancer + +{% hint style="info" %} +Coming soon. Balancer has not yet been integrated. +{% endhint %} + +Balancer is a decentralized liquidity protocol and exchange on Ethereum, launched in March 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Balancer is an Automated Market Maker \(AMM\) that allows for liquidity pools of up to 8 different assets with custom weights. Liquidity pools on Balancer can be thought of as similar to Exchange Traded Funds \(ETFs\) or portfolios with weight targets for specific assets. If trading causes the pool to shift from its target weight distribution, exchange rates between assets in the pool change. Arbitrageurs can execute trades to take advantage of this and act to rebalance the pool back to its target weight distribution. Liquidity can also be shared across pools, unlike other AMMs. + +Balancer supports private pools, where only the owner of the pool can contribute liquidity, shared pools, which are completely public, and smart pools, which are shared pools controlled by a smart contract that can implement automated rules and logic. Liquidity providers are given Balancer Pool Tokens \(BPTs\) that represent their share of a given pool and fees. These tokens are freely transferable and can be redeemed for the assets provided and accrued fees. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Balancer pools. + +Balancer is governed by BAL, an ERC-20 governance token. BAL holders can vote on protocol changes. BAL is continuously awarded to liquidity providers and a large portion of the total supply of BAL was allocated to the team and investors on a continuous vesting schedule. + +Trading volumes on Balancer are often over $25 million daily. Balancer has a Total Value Locked \(TVL\) of over $250 million by liquidity providers at the time of writing. + +Balancer has undergone a security audit by Trail of Bits and has a bug bounty program. However, Balancer has suffered a major exploit in June 2020. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://balancer.finance/](https://balancer.finance/) | +| Developer docs | [https://docs.balancer.finance/](https://docs.balancer.finance/) | +| GitHub | [https://github.com/balancer-labs](https://github.com/balancer-labs) | +| Discord | [https://discord.gg/ARJWaeF](https://discord.gg/ARJWaeF) | + diff --git a/el/core-concepts/supported-platforms/compound.md b/el/core-concepts/supported-platforms/compound.md new file mode 100644 index 000000000..a4d2660a1 --- /dev/null +++ b/el/core-concepts/supported-platforms/compound.md @@ -0,0 +1,19 @@ +# Compound + +Compound is a lending protocol and platform built on Ethereum and launched in September 2018. Users can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and interest rates are adjusted automatically based on supply and demand. + +Collateral balances are represented by ERC-20 cTokens, which automatically accrue interest and increase in value over time relative to the underlying asset they represent. Users can borrow assets against the value of their cTokens. cTokens are freely transferable and can be used on many other DeFi protocols. cTokens can be redeemed for their underlying collateral at any time. + +Compound is governed by COMP, an ERC-20 governance token. COMP holders can propose and vote on protocol changes or delegate their votes to someone else. COMP tokens are awarded pro rata to users of the protocol daily, split equally between borrowers and lenders. A large portion of the COMP token supply was retained by the Compound team, investors, and advisors. + +Compound's total value locked \(TVL\) has quickly grown to nearly $800 million, making it one of the largest DeFi protocols. COMP has a circulating market cap of over $500 million. + +Compound has undergone multiple security audits by OpenZeppelin and Trail of Bits. The Compound protocol was formally verified by CertiK and has undergone economic stress testing by Gauntlet. Compound maintains a bug bounty program. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------------------------------------------------- | +| Official site | [https://compound.finance/](https://compound.finance/) | +| Developer docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/compound-finance/compound-protocol](https://github.com/compound-finance/compound-protocol) | +| Discord | [https://discord.com/invite/cU7vmVW](https://discord.com/invite/cU7vmVW) | + diff --git a/el/core-concepts/supported-platforms/curve.md b/el/core-concepts/supported-platforms/curve.md new file mode 100644 index 000000000..021d0041b --- /dev/null +++ b/el/core-concepts/supported-platforms/curve.md @@ -0,0 +1,25 @@ +# Curve + +{% hint style="info" %} +Coming soon. Curve has not yet been integrated. +{% endhint %} + +Curve is a decentralized liquidity protocol and exchange on Ethereum for stablecoins and wrapped BTC, launched in January 2020. Users can swap between popular ERC-20 stablecoins or between ERC-20 representations of bitcoin. Liquidity providers facilitate trading and earn fees. + +Curve is an Automated Market Maker \(AMM\) where each market has an associated liquidity pool with two or more assets that should have the same value, like USDT, USDC, DAI and TUSD, which are all US dollar pegged stablecoins. The exchange rate between each stablecoin and their relative weights are determined by an algorithm based on supply and demand. Arbitrageurs act to normalize these exchange rates. + +Some of Curve's liquidity pools earn extra fees for liquidity providers on top of the exchange fees from traders. Curve offers stablecoin pools integrated with Compound, yearn.finance, and Synthetix. The assets in each liquidity pool are provided to those platforms to generate additional yield which is passed on to each pool's liquidity providers. Liquidity Provider \(LP\) tokens are given to pool participants and can be redeemed for their initial liquidity supplied plus accrued fees and yield. LP tokens can also transferred for use in other protocols. + +Curve is governed by CRV, an ERC-20 governance token. CRV holders can vote on protocol changes. CRV holders can stake their tokens for additional voting power proportional to time staked. CRV is continuously awarded to liquidity providers and a large portion of the total supply of CRV was allocated to the team and investors on a continuous vesting schedule. + +Trading volumes on Curve are often over $50 million daily. Curve has a Total Value Locked \(TVL\) of over $1 billion by liquidity providers at the time of writing. + +Curve has undergone two audits by Trail of Bits and maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------ | +| Official site | [https://uniswap.org/](https://uniswap.org/) | +| Developer docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/el/core-concepts/supported-platforms/dydx.md b/el/core-concepts/supported-platforms/dydx.md new file mode 100644 index 000000000..24f1a895e --- /dev/null +++ b/el/core-concepts/supported-platforms/dydx.md @@ -0,0 +1,27 @@ +# dYdX + +{% hint style="info" %} +Coming soon. DyDx has not yet been integrated. +{% endhint %} + +dYdX is a trading and lending protocol and platform built on Ethereum and launched in May 2019. Users can trade assets on dYdX's non-custodial, decentralized exchange or participate in borrowing and lending. The lending protocol enables margin and futures trading. Interest rates are adjusted based on supply and demand and only short term loans are offered. + +Liquidity for assets available for borrowing and lending are pooled together by asset type. Interest paid to lenders is accrued automatically and borrowers must put up collateral to take out a loan. + +dYdX also supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +dYdX has around $40 million in total value locked \(TVL\) at the time of this writing. dYdX does not have a native token. + +dYdX has undergone security audits by OpenZeppelin and Bramah Systems. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://dydx.exchange/](https://dydx.exchange/) | +| Developer docs | [https://docs.dydx.exchange/](https://docs.dydx.exchange/) | +| GitHub | [https://github.com/dydxprotocol/](https://github.com/dydxprotocol/) | +| Discord | [https://discord.gg/yah42Rb](https://discord.gg/yah42Rb) | + + + + + diff --git a/el/core-concepts/supported-platforms/uniswap.md b/el/core-concepts/supported-platforms/uniswap.md new file mode 100644 index 000000000..012e25e93 --- /dev/null +++ b/el/core-concepts/supported-platforms/uniswap.md @@ -0,0 +1,27 @@ +# Uniswap + +{% hint style="info" %} +Coming soon. Uniswap has not yet been integrated. +{% endhint %} + +Uniswap is a decentralized liquidity protocol and exchange on Ethereum, launched in November 2018. Uniswap v2 launched in May 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Markets on Uniswap operate as liquidity pools rather than order books. This type of exchange is called an Automated Market Maker \(AMM\). The exchange rate between the two assets is determined by a constant product formula and moves along a price curve depending on the relative weight of each asset in the pool. This encourages arbitrageurs to enter liquidity pools to rebalance the relative weights and normalize the exchange rate. + +Traders can suffer from slippage if there is not enough liquidity in a given pool and may not be protected from unfavorable exchange rates. Liquidity providers may suffer impermanent loss when the pool exchange rate does not match market realities and arbitrageurs execute trades along the pricing curve. + +Pool participants are given Uniswap Liquidity Provider \(LP\) tokens that correspond to their share of liquidity provided in a given pool. These LP tokens are freely transferable. Participants can exit pools at any time by redeeming these tokens for the assets provided and fees accrued. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Uniswap pools. + +Trading volumes on Uniswap now eclipse that of many traditional exchanges and regularly surpass $200 million daily. Uniswap has over $170 million in Total Value Locked \(TVL\) by liquidity providers. Uniswap does not have a native platform or governance token. + +Uniswap has had its smart contracts audited and formally verfied by dapp.org. Uniswap maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------ | +| Official site | [https://uniswap.org/](https://uniswap.org/) | +| Developer docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/el/core-concepts/supported-platforms/yearn.finance.md b/el/core-concepts/supported-platforms/yearn.finance.md new file mode 100644 index 000000000..3f23b9fdb --- /dev/null +++ b/el/core-concepts/supported-platforms/yearn.finance.md @@ -0,0 +1,25 @@ +# Yearn.finance + +{% hint style="info" %} +Coming soon. Yearn.finance has not yet been integrated. +{% endhint %} + +Yearn.finance, formerly iEarn.finance, is a yield aggregation platform built on Ethereum and launched in January 2020 by Andre Cronje. Yearn manages yield farming and rebalancing strategies using a combination of automation and human decision making on behalf of users who have deposited capital. + +Yearn has two yield aggregation products, Earn and Vaults. Earn allows users to deposit stablecoins or wrapped BTC into liquidity pools on Curve to earn fees and governance token rewards. These assets are also lent out on platforms offering high yield and token rewards, adding to the yield earned. + +Vaults offer a more automated and managed experience. Users deposit assets such as LINK, Curve liquidity provider tokens, or stablecoins and the Vault pools these assets together and deploys the highest earning yield farming strategy as deemed safe by the community and Andre Cronje. Governance tokens earned as rewards are sold off for the original asset deposited and combined with other fees and automatically rolled into the Vault to compound yield. Strategies can be changed frequently and pooling assets together saves gas costs for users. + +Yearn is governed by YFI, an ERC-20 governance token. YFI holders can vote on protocol changes after agreeing to lock up their YFI for 3 days. YFI can also be staked for yield in the governance portal. This yield comes from fees charged to users on Yearn products. YFI was distributed entirely to liquidity providers on Curve and Balancer. There was no allocation for team members or investors. + +Yearn's total value locked \(TVL\) has quickly grown to over $800 million, making it one of the largest DeFi platforms. YFI has a circulating market cap of over $400 million. + +Yearn has undergone multiple security and smart contract audits by CertiK, Quantstamp, HackMD, and CryptoManiacs. Yearn has a reputation for launching experimental products very quickly and warns users that their products are in beta. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://yearn.finance/](https://yearn.finance/) | +| Developer docs | [https://docs.yearn.finance/](https://docs.yearn.finance/) | +| GitHub | [https://github.com/iearn-finance](https://github.com/iearn-finance) | +| Discord | [https://discord.gg/uTmHe8r](https://discord.gg/uTmHe8r) | + diff --git a/el/core-concepts/supported-stablecoins/README.md b/el/core-concepts/supported-stablecoins/README.md new file mode 100644 index 000000000..1c4b60eb5 --- /dev/null +++ b/el/core-concepts/supported-stablecoins/README.md @@ -0,0 +1,25 @@ +# Supported Stablecoins + +**Supported Stablecoins** + +It is important to understand that OUSD is only as strong as the stablecoins that are backing it. Any loss to the underlying assets will cause a similar loss to the value of OUSD. + +Currently, OUSD supports the following stablecoins: + +{% content-ref url="usdt.md" %} +[usdt.md](usdt.md) +{% endcontent-ref %} + +{% content-ref url="usdc.md" %} +[usdc.md](usdc.md) +{% endcontent-ref %} + +{% content-ref url="dai.md" %} +[dai.md](dai.md) +{% endcontent-ref %} + +None of these stablecoins are perfect, but we selected them because of their widespread usage. While these stablecoins have lost their USD peg on multiple occasions, they have demonstrated resiliency in eventually getting back to their 1 USD targets. + +It is important to note that all these stablecoins introduce non-trivial counter-party risk. Tether, in particular, has had well-documented banking troubles and regulatory challenges. In addition, both USDT and USDC have backdoors that grant their issuers the power to freeze money in their holder's wallets. While DAI does not have any direct backdoors, its assets can also be negatively impacted since USDC and USDT are accepted as collateral for minting DAI. + +Despite these concerns, there are already billions of dollars betting on the security of these stablecoins. It is possible that additional stablecoins will be added to the protocol over time. Support may also be removed if any of these stablecoins prove to be too unreliable or put OUSD holder's funds in jeopardy. diff --git a/el/core-concepts/supported-stablecoins/dai.md b/el/core-concepts/supported-stablecoins/dai.md new file mode 100644 index 000000000..b80269d11 --- /dev/null +++ b/el/core-concepts/supported-stablecoins/dai.md @@ -0,0 +1,19 @@ +# DAI + +![](../../.gitbook/assets/dai.png) + +Dai is a fiat-pegged stablecoin launched as a ERC-20 token on the Ethereum blockchain in December 2017. A major upgrade from single-collateral Dai (SAI) to multi-collateral Dai (DAI) was completed in November 2019. Dai is pegged to the US dollar. + +Dai is minted by users locking up crypto assets such as ETH or USDC as collateral in a collateralized debt position (CDP) called a vault. Previously, only ETH was accepted as collateral. The reserves and status of each vault can be viewed on the blockchain in real-time. The health of these vaults and the Dai stablecoin are closely monitored. + +Dai is the world's third-largest stablecoin with over $400 million in circulation. In addition, cDAI and aDAI, synthetic versions of Dai on the lending platforms Compound and Aave, combine for over $600 million in circulation. + +| Key Facts | | +| ------------- | ------------------------------------------------------------------------------------------------------------------- | +| Issued by | MakerDAO | +| Name | Dai | +| Symbol | DAI | +| Address | [0x6b175474e89094c44da98b954eedeac495271d0f](https://etherscan.io/token/0x6b175474e89094c44da98b954eedeac495271d0f) | +| Decimals | 18 | +| Official site | [https://makerdao.com/](https://makerdao.com) | +| Holders | Over 380k addresses | diff --git a/el/core-concepts/supported-stablecoins/usdc.md b/el/core-concepts/supported-stablecoins/usdc.md new file mode 100644 index 000000000..e47385909 --- /dev/null +++ b/el/core-concepts/supported-stablecoins/usdc.md @@ -0,0 +1,20 @@ +# USDC + +![](../../.gitbook/assets/usdc-coin-bd351fb779 (1).png) + +USD Coin (USDC) is a fiat-pegged stablecoin launched as a ERC-20 token on the Ethereum blockchain in October 2018. USDC is pegged to the US dollar and can easily be redeemed for US dollars. + +Each USDC is backed by a 1:1 ratio with the equivalent amount of fiat currency held in custodial accounts by members of Centre, a consortium founded by Circle and Coinbase. Members of Centre are regulated financial institutions based in the US. Monthly audits of reserves are published by Grant Thornton LLP. + +USDC is the world's second-largest stablecoin after USDT and has quickly grown to over $1 billion in circulation. However, USDC remains far behind USDT's $12+ billion in circulation. + +| Key Facts | | +| ------------- | ------------------------------------------------------------------------------------------------------------------- | +| Issued by | Centre | +| Name | USD Coin | +| Symbol | USDC | +| Address | [0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48](https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48) | +| Decimals | 6 | +| Official site | [https://www.centre.io/usdc](https://www.centre.io/usdc) | +| Holders | Over 1M addresses | + diff --git a/el/core-concepts/supported-stablecoins/usdt.md b/el/core-concepts/supported-stablecoins/usdt.md new file mode 100644 index 000000000..4f07af957 --- /dev/null +++ b/el/core-concepts/supported-stablecoins/usdt.md @@ -0,0 +1,20 @@ +# USDT + +![](../../.gitbook/assets/image (1).png) + +Tether (USDT) is a fiat-pegged stablecoin that was initially built on top of Bitcoin via the Omni Layer Protocol. In September 2017, Tether announced they would be launching additional ERC-20 tokens for United States dollars on the Ethereum blockchain. + +Each Tether issued into circulation is said to be backed by a one-to-one ratio with the equivalent amount of fiat currency held in a custodial account by Tether Limited, a Hong Kong-based company with close ties to the cryptocurrency exchange, Bitfinex. + +Despite the controversy **** around **** the company's failure to provide a promised audit showing adequate reserves backing tether, USDT is still the world's largest stablecoin by market cap and currently the fourth-largest cryptocurrency after BTC, ETH and XRP. + +| Key Facts | | +| ------------- | ---------------------------------------------------------------------------------------------------------------- | +| Issued by | Tether Limited | +| Name | Tether | +| Symbol | USDT | +| Address | [0xdac17f958d2ee523a2206206994597c13d831](https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7) | +| Decimals | 6 | +| Official site | [https://tether.to/ ](https://tether.to) | +| Holders | Over 3.4M addresses | + diff --git a/el/core-concepts/supported-strategies/README.md b/el/core-concepts/supported-strategies/README.md new file mode 100644 index 000000000..b1bb5828c --- /dev/null +++ b/el/core-concepts/supported-strategies/README.md @@ -0,0 +1,27 @@ +# Supported Strategies + +**Supported DeFi Platforms** + +OUSD generates yield by depositing stablecoins into lending platforms and market maker liquidity pools. It is important to understand that these platforms do carry technological risk and funds can be lost if there is a major security event. We are choosing to work with the platforms that have had their smart contracts audited and that we feel are most secure. + +Currently, OUSD earns yield from the following platform(s): + +{% content-ref url="compound.md" %} +[compound.md](compound.md) +{% endcontent-ref %} + +{% content-ref url="aave.md" %} +[aave.md](aave.md) +{% endcontent-ref %} + +{% content-ref url="curve.md" %} +[curve.md](curve.md) +{% endcontent-ref %} + +{% content-ref url="convex.md" %} +[convex.md](convex.md) +{% endcontent-ref %} + +Although DeFi has grown very quickly and there are now billions of dollars worth of value deposited on these platforms, several of these projects are still in beta and are highly experimental. There may be hidden vulnerabilities in the smart contracts that power these platforms, and there have been multi-million dollar losses caused by vulnerabilities in Ethereum applications in the past. + +We closely monitor security events on the platforms we support and will immediately move to secure OUSD holder funds if we identify any threats. diff --git a/el/core-concepts/supported-strategies/aave.md b/el/core-concepts/supported-strategies/aave.md new file mode 100644 index 000000000..cf77e0ffb --- /dev/null +++ b/el/core-concepts/supported-strategies/aave.md @@ -0,0 +1,20 @@ +# Aave + +Aave is a lending protocol and platform built on Ethereum and launched in January 2020 by the creators of ETHLend. Users on Aave can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and users can choose between a variable interest rate based on supply and demand or a fixed interest rate. + +Collateral balances are represented by ERC-20 aTokens at a 1:1 ratio to the underlying assets they represent. Interest is compounded automatically and paid to lenders with aTokens, meaning lenders will steadily see their aToken balance increase over time. Users can borrow assets against their aTokens. aTokens are freely transferable and can be used on many other DeFi protocols. aTokens can be redeemed for their underlying collateral at any time. + +Aave supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +Aave's governance token was formerly called LEND which was the utility token for ETHLend. As part of their transition to fully decentralized governance, LEND holders were able to exchange LEND for AAVE, a new ERC-20 governance token with staking rewards. Some AAVE tokens have been distributed to users of the platform in a liquidity mining campaign. + +Aave's total value locked (TVL) has quickly grown to over $15.5 billion, making it the largest DeFi protocol at the time of writing. LEND has a circulating market cap of over $5.3 billion. + +Aave has undergone security audits by OpenZeppelin, Trail of Bits, and Consensys Diligence. Aave maintains a bug bounty program. + +| Resources | | +| -------------- | ------------------------------------------------------------------------------ | +| Official site | [https://aave.com/](https://aave.com) | +| Developer docs | [http://docs.aave.com/](http://docs.aave.com) | +| GitHub | [https://github.com/aave/aave-protocol](https://github.com/aave/aave-protocol) | +| Discord | [https://aave.com/discord](https://aave.com/discord) | diff --git a/el/core-concepts/supported-strategies/balancer.md b/el/core-concepts/supported-strategies/balancer.md new file mode 100644 index 000000000..f8d9e3c0a --- /dev/null +++ b/el/core-concepts/supported-strategies/balancer.md @@ -0,0 +1,27 @@ +# Balancer + +{% hint style="info" %} +Coming soon. Balancer has not yet been integrated. +{% endhint %} + +Balancer is a decentralized liquidity protocol and exchange on Ethereum, launched in March 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Balancer is an Automated Market Maker \(AMM\) that allows for liquidity pools of up to 8 different assets with custom weights. Liquidity pools on Balancer can be thought of as similar to Exchange Traded Funds \(ETFs\) or portfolios with weight targets for specific assets. If trading causes the pool to shift from its target weight distribution, exchange rates between assets in the pool change. Arbitrageurs can execute trades to take advantage of this and act to rebalance the pool back to its target weight distribution. Liquidity can also be shared across pools, unlike other AMMs. + +Balancer supports private pools, where only the owner of the pool can contribute liquidity, shared pools, which are completely public, and smart pools, which are shared pools controlled by a smart contract that can implement automated rules and logic. Liquidity providers are given Balancer Pool Tokens \(BPTs\) that represent their share of a given pool and fees. These tokens are freely transferable and can be redeemed for the assets provided and accrued fees. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Balancer pools. + +Balancer is governed by BAL, an ERC-20 governance token. BAL holders can vote on protocol changes. BAL is continuously awarded to liquidity providers and a large portion of the total supply of BAL was allocated to the team and investors on a continuous vesting schedule. + +Trading volumes on Balancer are often over $25 million daily. Balancer has a Total Value Locked \(TVL\) of over $250 million by liquidity providers at the time of writing. + +Balancer has undergone a security audit by Trail of Bits and has a bug bounty program. However, Balancer has suffered a major exploit in June 2020. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://balancer.finance/](https://balancer.finance/) | +| Developer docs | [https://docs.balancer.finance/](https://docs.balancer.finance/) | +| GitHub | [https://github.com/balancer-labs](https://github.com/balancer-labs) | +| Discord | [https://discord.gg/ARJWaeF](https://discord.gg/ARJWaeF) | + diff --git a/el/core-concepts/supported-strategies/compound.md b/el/core-concepts/supported-strategies/compound.md new file mode 100644 index 000000000..77e40733e --- /dev/null +++ b/el/core-concepts/supported-strategies/compound.md @@ -0,0 +1,18 @@ +# Compound + +Compound is a lending protocol and platform built on Ethereum and launched in September 2018. Users can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and interest rates are adjusted automatically based on supply and demand. + +Collateral balances are represented by ERC-20 cTokens, which automatically accrue interest and increase in value over time relative to the underlying asset they represent. Users can borrow assets against the value of their cTokens. cTokens are freely transferable and can be used on many other DeFi protocols. cTokens can be redeemed for their underlying collateral at any time. + +Compound is governed by COMP, an ERC-20 governance token. COMP holders can propose and vote on protocol changes or delegate their votes to someone else. COMP tokens are awarded pro-rata to users of the protocol daily, split equally between borrowers and lenders. A large portion of the COMP token supply was retained by the Compound team, investors, and advisors. + +Compound's total value locked (TVL) has quickly grown to over $10 billion, making it one of the largest DeFi protocols. COMP has a circulating market cap of over $2.5 billion. + +Compound has undergone multiple security audits by OpenZeppelin and Trail of Bits. The Compound protocol was formally verified by CertiK and has undergone economic stress testing by Gauntlet. Compound maintains a bug bounty program. + +| Resources | | +| -------------- | -------------------------------------------------------------------------------------------------------------- | +| Official site | [https://compound.finance/](https://compound.finance) | +| Developer docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/compound-finance/compound-protocol](https://github.com/compound-finance/compound-protocol) | +| Discord | [https://discord.com/invite/cU7vmVW](https://discord.com/invite/cU7vmVW) | diff --git a/el/core-concepts/supported-strategies/convex.md b/el/core-concepts/supported-strategies/convex.md new file mode 100644 index 000000000..771280a68 --- /dev/null +++ b/el/core-concepts/supported-strategies/convex.md @@ -0,0 +1,18 @@ +# Convex + +Convex is an aggregation platform for Curve that launched in May 2021. Convex allows liquidity providers on Curve to earn boosted CRV rewards without having to vote-lock CRV. Convex vote-locks CRV on behalf of users and distributes boosted CRV rewards to them. Convex passes on trading fees earned on Curve to users as well. + +Convex also rewards users with their own ERC-20 governance token, CVX. Convex supports both CRV and CVX staking for additional rewards. Vote-locking CVX is required to participate in Convex governance. + +Convex is one of the few protocols whitelisted to participate in Curve governance and controls a huge amount of vote-locked CRV, making them one of the biggest players in Curve governance. A large proportion of liquidity provided on Curve is now done through Convex. Convex has a Total Value Locked (TVL) of over $15.4 billion in deposits at the time of writing. + +Convex has been audited by MixBytes. + +| | | +| -------------- | ---------------------------------------------------------------- | +| Resources | | +| Official site | [https://www.convexfinance.com](https://www.convexfinance.com) | +| Developer docs | [https://docs.convexfinance.com](https://docs.convexfinance.com) | +| GitHub | [https://github.com/convex-eth](https://github.com/convex-eth) | +| Discord | [https://discord.gg/uAwvZfs9qU](https://discord.gg/uAwvZfs9qU) | + diff --git a/el/core-concepts/supported-strategies/curve.md b/el/core-concepts/supported-strategies/curve.md new file mode 100644 index 000000000..40d2aade6 --- /dev/null +++ b/el/core-concepts/supported-strategies/curve.md @@ -0,0 +1,20 @@ +# Curve + +Curve is a decentralized liquidity protocol and exchange on Ethereum for stablecoins and wrapped BTC, launched in January 2020. Users can swap between popular ERC-20 stablecoins or between ERC-20 representations of bitcoin. Liquidity providers facilitate trading and earn fees. + +Curve is an Automated Market Maker (AMM) where each market has an associated liquidity pool with two or more assets that should have the same value, like USDT, USDC, DAI and TUSD, which are all US dollar pegged stablecoins. The exchange rate between each stablecoin and their relative weights are determined by an algorithm based on supply and demand. Arbitrageurs act to normalize these exchange rates. + +Some of Curve's liquidity pools earn extra fees for liquidity providers on top of the exchange fees from traders. Curve offers stablecoin pools integrated with Compound, yearn.finance, and Synthetix. The assets in each liquidity pool are provided to those platforms to generate additional yield which is passed on to each pool's liquidity providers. Liquidity Provider (LP) tokens are given to pool participants and can be redeemed for their initial liquidity supplied plus accrued fees and yield. LP tokens can also transferred for use in other protocols. + +Curve is governed by CRV, an ERC-20 governance token. CRV holders can vote on protocol changes. CRV holders can stake or "vote-lock" their tokens for additional voting power proportional to time staked. Vote-locking CRV also significantly boosts liquidity provider rewards. CRV is continuously awarded to liquidity providers and a large portion of the total supply of CRV was allocated to the team and investors on a continuous vesting schedule. + +Curve has a Total Value Locked (TVL) of over $20.4 billion by liquidity providers at the time of writing. Hundreds of millions of dollars of trading volume are generated on Curve every day. + +Curve has undergone two audits by Trail of Bits and maintains a bug bounty program. + +| Resources | | +| -------------- | ------------------------------------------------------------------------ | +| Official site | [https://www.curve.fi/](https://www.curve.fi) | +| Developer docs | [https://www.curve.fi/devdocs](https://www.curve.fi/devdocs) | +| GitHub | [https://github.com/curvefi](https://github.com/curvefi) | +| Discord | [https://discord.com/invite/9uEHakc](https://discord.com/invite/9uEHakc) | diff --git a/el/core-concepts/supported-strategies/dydx.md b/el/core-concepts/supported-strategies/dydx.md new file mode 100644 index 000000000..24f1a895e --- /dev/null +++ b/el/core-concepts/supported-strategies/dydx.md @@ -0,0 +1,27 @@ +# dYdX + +{% hint style="info" %} +Coming soon. DyDx has not yet been integrated. +{% endhint %} + +dYdX is a trading and lending protocol and platform built on Ethereum and launched in May 2019. Users can trade assets on dYdX's non-custodial, decentralized exchange or participate in borrowing and lending. The lending protocol enables margin and futures trading. Interest rates are adjusted based on supply and demand and only short term loans are offered. + +Liquidity for assets available for borrowing and lending are pooled together by asset type. Interest paid to lenders is accrued automatically and borrowers must put up collateral to take out a loan. + +dYdX also supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +dYdX has around $40 million in total value locked \(TVL\) at the time of this writing. dYdX does not have a native token. + +dYdX has undergone security audits by OpenZeppelin and Bramah Systems. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://dydx.exchange/](https://dydx.exchange/) | +| Developer docs | [https://docs.dydx.exchange/](https://docs.dydx.exchange/) | +| GitHub | [https://github.com/dydxprotocol/](https://github.com/dydxprotocol/) | +| Discord | [https://discord.gg/yah42Rb](https://discord.gg/yah42Rb) | + + + + + diff --git a/el/core-concepts/supported-strategies/uniswap.md b/el/core-concepts/supported-strategies/uniswap.md new file mode 100644 index 000000000..012e25e93 --- /dev/null +++ b/el/core-concepts/supported-strategies/uniswap.md @@ -0,0 +1,27 @@ +# Uniswap + +{% hint style="info" %} +Coming soon. Uniswap has not yet been integrated. +{% endhint %} + +Uniswap is a decentralized liquidity protocol and exchange on Ethereum, launched in November 2018. Uniswap v2 launched in May 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Markets on Uniswap operate as liquidity pools rather than order books. This type of exchange is called an Automated Market Maker \(AMM\). The exchange rate between the two assets is determined by a constant product formula and moves along a price curve depending on the relative weight of each asset in the pool. This encourages arbitrageurs to enter liquidity pools to rebalance the relative weights and normalize the exchange rate. + +Traders can suffer from slippage if there is not enough liquidity in a given pool and may not be protected from unfavorable exchange rates. Liquidity providers may suffer impermanent loss when the pool exchange rate does not match market realities and arbitrageurs execute trades along the pricing curve. + +Pool participants are given Uniswap Liquidity Provider \(LP\) tokens that correspond to their share of liquidity provided in a given pool. These LP tokens are freely transferable. Participants can exit pools at any time by redeeming these tokens for the assets provided and fees accrued. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Uniswap pools. + +Trading volumes on Uniswap now eclipse that of many traditional exchanges and regularly surpass $200 million daily. Uniswap has over $170 million in Total Value Locked \(TVL\) by liquidity providers. Uniswap does not have a native platform or governance token. + +Uniswap has had its smart contracts audited and formally verfied by dapp.org. Uniswap maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------ | +| Official site | [https://uniswap.org/](https://uniswap.org/) | +| Developer docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/el/core-concepts/supported-strategies/yearn.finance.md b/el/core-concepts/supported-strategies/yearn.finance.md new file mode 100644 index 000000000..3f23b9fdb --- /dev/null +++ b/el/core-concepts/supported-strategies/yearn.finance.md @@ -0,0 +1,25 @@ +# Yearn.finance + +{% hint style="info" %} +Coming soon. Yearn.finance has not yet been integrated. +{% endhint %} + +Yearn.finance, formerly iEarn.finance, is a yield aggregation platform built on Ethereum and launched in January 2020 by Andre Cronje. Yearn manages yield farming and rebalancing strategies using a combination of automation and human decision making on behalf of users who have deposited capital. + +Yearn has two yield aggregation products, Earn and Vaults. Earn allows users to deposit stablecoins or wrapped BTC into liquidity pools on Curve to earn fees and governance token rewards. These assets are also lent out on platforms offering high yield and token rewards, adding to the yield earned. + +Vaults offer a more automated and managed experience. Users deposit assets such as LINK, Curve liquidity provider tokens, or stablecoins and the Vault pools these assets together and deploys the highest earning yield farming strategy as deemed safe by the community and Andre Cronje. Governance tokens earned as rewards are sold off for the original asset deposited and combined with other fees and automatically rolled into the Vault to compound yield. Strategies can be changed frequently and pooling assets together saves gas costs for users. + +Yearn is governed by YFI, an ERC-20 governance token. YFI holders can vote on protocol changes after agreeing to lock up their YFI for 3 days. YFI can also be staked for yield in the governance portal. This yield comes from fees charged to users on Yearn products. YFI was distributed entirely to liquidity providers on Curve and Balancer. There was no allocation for team members or investors. + +Yearn's total value locked \(TVL\) has quickly grown to over $800 million, making it one of the largest DeFi platforms. YFI has a circulating market cap of over $400 million. + +Yearn has undergone multiple security and smart contract audits by CertiK, Quantstamp, HackMD, and CryptoManiacs. Yearn has a reputation for launching experimental products very quickly and warns users that their products are in beta. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://yearn.finance/](https://yearn.finance/) | +| Developer docs | [https://docs.yearn.finance/](https://docs.yearn.finance/) | +| GitHub | [https://github.com/iearn-finance](https://github.com/iearn-finance) | +| Discord | [https://discord.gg/uTmHe8r](https://discord.gg/uTmHe8r) | + diff --git a/el/core-concepts/wrapped-ousd.md b/el/core-concepts/wrapped-ousd.md new file mode 100644 index 000000000..bea00ee4b --- /dev/null +++ b/el/core-concepts/wrapped-ousd.md @@ -0,0 +1,31 @@ +# Wrapped OUSD + +Wrapped OUSD provides a non-rebasing version of OUSD that still earns yield. This makes it easier to use OUSD as a building block for other contracts and it may provide tax benefits in some jurisdictions. + +![Two flavors, up only](https://cdn-images-1.medium.com/max/1600/1\*cqRG-8-64XYx9QChoMxk3g.png) + +### How wrapped OUSD works + +When you wrap OUSD, you get back a fixed number of wOUSD tokens. This number will not go up - you will have the same number of wOUSD tokens tomorrow as you have today. However, the number of OUSD tokens that you can unwrap will go up over time. + +For example, if you wrap 10,000 OUSD, you might receive 9,423 wOUSD. If you hold for a while, you will still have 9,423 wOUSD, but when you unwrap the wOUSD, you receive 11,500 OUSD. + +Both OUSD and wOUSD earn at the same rate and can be transferred just like any other ERC-20 token. wOUSD is one of the first implementations of [EIP-4626](https://eips.ethereum.org/EIPS/eip-4626), which is an extension on ERC-20 that provides basic functionality for depositing and withdrawing tokens and reading balances on a tokenized vault. wOUSD was independently [audited by Solidified](https://github.com/OriginProtocol/security/blob/3dc8c1dec2f6fbf4f7d0bdf92408f79262624647/audits/Solidified%20-%20OGV,%20wOUSD,%20and%20ERC721a%20-%20May%202022.pdf) in May 2022 and is ready for production use. + +### Wrapping + +If you don’t already have OUSD, you can buy it from Gate.io, KuCoin, Curve, Uniswap, or [get it directly from the OUSD DApp](https://www.youtube.com/watch?v=UabjvL-7iu4). + +Once you have OUSD in your wallet, visit [ousd.com/wrap](https://ousd.com/wrap) and follow these steps: + +1. Connect your wallet +2. Enter the amount of OUSD that you want to wrap +3. Submit the allowance for the wOUSD contract to use your OUSD +4. Submit the transaction to wrap your OUSD + +![ousd.com/wrap](https://cdn-images-1.medium.com/max/1600/1\*57fSZSSlzebhpIl8R4UqUQ.png) + +### Unwrapping + +Unwrapping your OUSD does not require any approvals since you already hold the wOUSD in your wallet. There's also no minimum term or lock-up period. You can use the same form shown above and just click the arrow to flip it to unwrap mode. This form calls the `redeem` function to unwrap a spcific amount of wOUSD. You can also [use Etherscan](https://etherscan.io/address/0xd2af830e8cbdfed6cc11bab697bb25496ed6fa62#writeProxyContract) to call the `withdraw` function if you prefer to specify the amount of OUSD that you want to be taken out. + diff --git a/el/core-concepts/yield-generation/README.md b/el/core-concepts/yield-generation/README.md new file mode 100644 index 000000000..b1d3861bc --- /dev/null +++ b/el/core-concepts/yield-generation/README.md @@ -0,0 +1,30 @@ +# Yield Generation + +**Automated Yield Farming** + +While the Cambrian explosion of new lending and automated market maker pools has fueled total value locked (TVL), it has also made it increasingly challenging for yield farmers to manually allocate capital in efficient and optimal ways. + +[Yearn](https://yearn.finance) has demonstrated that smart contracts can automate the rebalancing of funds across various strategies to optimally earn lending interest, market-making fees, and rewards tokens. Over time, new strategies will be deployed that maximize returns while minimizing risk and dependencies. + +![Automated yield farming on the OUSD protocol](../../.gitbook/assets/ousd_earnings_graphic.png) + +OUSD uses the following high-level strategies for generating yield: + +{% content-ref url="lending.md" %} +[lending.md](lending.md) +{% endcontent-ref %} + +{% content-ref url="market-making.md" %} +[market-making.md](market-making.md) +{% endcontent-ref %} + +{% content-ref url="rewards.md" %} +[rewards.md](rewards.md) +{% endcontent-ref %} + +OUSD is able to generate higher yields than competing protocols due to a combination of important design decisions that amplify the rewards that are returned to OUSD holders: + +* Exit fees are returned to the pool, rewarding long term holders +* Price oracles favor the collective over the individual, again rewarding long term holders +* Smart contracts must manually opt-in to earn yield. This allows the protocol to put more capital to work than would be otherwise possible. +* Smart strategies balance risk and reward more effectively than deploying capital in any single underlying strategy. diff --git a/el/core-concepts/yield-generation/lending.md b/el/core-concepts/yield-generation/lending.md new file mode 100644 index 000000000..fa7607781 --- /dev/null +++ b/el/core-concepts/yield-generation/lending.md @@ -0,0 +1,26 @@ +# Lending + +**Unbank the Banked** + +DeFi lending platforms let users lend and borrow crypto assets without any middlemen. Both lenders and borrowers get more value from their crypto. Lenders earn interest, while borrowers deposit crypto as collateral to gain access to credit without traditional banking headaches. DeFi lending platforms currently provide far superior returns for lenders than are generally available in the traditional markets. + +OUSD integrates with DeFi lending platforms that provide over-collateralized loans. Over-collateralization, combined with smart rules around liquidations, provide a reasonable level of security for lenders. Aave also additionally secures their lending pools with AAVE tokens respectively, further lowering risk. + +OUSD integrates with leading lending providers that have a proven track record, audited smart contracts, and have successfully lent hundreds of millions of dollars without issue. We are currently integrated with the following lending platforms: + +{% content-ref url="../supported-strategies/compound.md" %} +[compound.md](../supported-strategies/compound.md) +{% endcontent-ref %} + +{% content-ref url="../supported-strategies/aave.md" %} +[aave.md](../supported-strategies/aave.md) +{% endcontent-ref %} + + + + + + + + + diff --git a/el/core-concepts/yield-generation/market-making.md b/el/core-concepts/yield-generation/market-making.md new file mode 100644 index 000000000..464b5f13e --- /dev/null +++ b/el/core-concepts/yield-generation/market-making.md @@ -0,0 +1,22 @@ +# Market Making + +**Own your Stake in Decentralized Exchanges** + +Automated market makers (AMMs) have quickly risen as the preferred form of decentralized exchange on the Ethereum network. This is in part due to the difficulty of supporting order book DEXes on Ethereum 1.0 that can rival the instant and low-slippage experiences on centralized exchanges. Further, AMMs like Uniswap are relatively user-friendly and gas-efficient to use. + +AMMs can only enable new markets when liquidity providers supply liquidity (e.g. multiple tokens for given trading pairs or pools). In return for providing liquidity, liquidity providers are rewarded with trading fees when other users swap tokens. For example, when traders swap two tokens on Uniswap v3, they are currently charged anywhere between 0.05% and 1% on top of the gas fees. These fees are distributed pro-rata to liquidity providers of the pair based on the percentage of total liquidity that they have provided. + +{% hint style="info" %} +[Impermanent loss](https://medium.com/@pintail/uniswap-a-good-deal-for-liquidity-providers-104c0b6816f2) is an important risk factor to understand, but this concern is largely mitigated by OUSD only providing liquidity for stablecoins of approximately equal value. +{% endhint %} + +The OUSD protocol routes USDT, USDC, and DAI to highly-performing liquidity pools as determined by trading volume and rewards tokens (e.g. Curve rewards CRV tokens to liquidity providers). Yields are then passed on to OUSD holders. + +We are currently integrated with the following automated market maker: + +{% content-ref url="../supported-strategies/curve.md" %} +[curve.md](../supported-strategies/curve.md) +{% endcontent-ref %} + + + diff --git a/el/core-concepts/yield-generation/rewards.md b/el/core-concepts/yield-generation/rewards.md new file mode 100644 index 000000000..f598afe7c --- /dev/null +++ b/el/core-concepts/yield-generation/rewards.md @@ -0,0 +1,12 @@ +# Rewards + +**Collecting Rewards** + +In addition to collecting interest from lending and fees from market making, we intend to automatically claim and convert the bonus incentives that are being distributed by many of the DeFi protocols. For example, Compound gives away COMP tokens and Curve gives away CRV tokens. These bonus rewards will be regularly converted into stablecoins, deployed in the market, and distributed to OUSD holders in the form of additional yield. + +{% hint style="info" %} +While the vault safely stores any unexpected rewards that it receives, custom strategies will need to be written and deployed to decide when and how the protocol should convert them to stablecoins. +{% endhint %} + +Today, rewards are a significant factor for yield farmers as they represent a large percentage of their returns. We anticipate that the OUSD protocol will be upgraded over time to take advantage of the most attractive yields available across the DeFi landscape. The protocol will factor in the market value of the various rewards being offered when deciding how to best allocate resources. + diff --git a/el/faq.md b/el/faq.md new file mode 100644 index 000000000..6d47859ae --- /dev/null +++ b/el/faq.md @@ -0,0 +1,33 @@ +# FAQ + +**Where can I buy OUSD?** + +Check out [Getting Started](https://docs.ousd.com/getting-started) to see a variety of options. + +**What are the costs to mint and redeem OUSD?** + +As with any Ethereum transaction, you will need Ether to interact with the OUSD smart contract. We have taken measures to reduce gas usage where possible, but these costs can vary. + +Anytime you mint or redeem OUSD, there will be an exchange rate applied to your stablecoins deposited or withdrawn. You can read more about this in [Price Oracles](https://docs.ousd.com/core-concepts/price-oracles). + +To encourage long-term holding of OUSD and to protect the protocol from attackers, an exit fee of 0.25% is charged on all redeems. You can read more about this in [How It Works](https://docs.ousd.com/how-it-works). + +**How soon will my balance increase once I have OUSD?** + +The amount of OUSD in your wallet will grow each time there is a positive rebase event. You can read more about this in [Elastic Supply](https://docs.ousd.com/core-concepts/elastic-supply). The supply is currently rebased several times per day and is usually correlated with how many people are minting and redeeming OUSD. + +**Why does OUSD not grow when it's held in Uniswap, SushiSwap, etc?** + +By default, rebase events don't affect the supply of OUSD that is sitting in smart contracts. These contracts can opt in to receiving additional OUSD if they are capable of handling elastic supply tokens. You can read more about this in [Rebasing & Smart Contracts](https://docs.ousd.com/core-concepts/elastic-supply/rebasing-and-smart-contracts). + +**How is it possible for the APY to be so high?** + +You can read about our various strategies in [Yield Generation](https://docs.ousd.com/core-concepts/yield-generation). We currently get most of the yield from harvesting rewards tokens (namely COMP and CRV). Additionally, the yield increases as more OUSD is held in smart contracts that do not opt into rebasing since the underlying collateral continues to earn for the average OUSD holder. + +**Why is my balance increasing at a slower rate than the advertised APY?** + +OUSD balances increase when the supply is rebased. But the size of each rebase varies wildly depending on how much the vault has earned since the last rebase. And while most rebases collect a small amount earnings from lending strategies, other rebases involve liquidating rewards tokens or collecting fees. As a result, the yield will vary significantly during short time periods. + +**What about the hack? Is OUSD safe?** + +On November 7th 2020, OUSD was exploited for 7M USD due to a previously undetected reentrancy bug. You can read more [details about the hack](https://medium.com/originprotocol/urgent-ousd-has-hacked-and-there-has-been-a-loss-of-funds-7b8c4a7d534c) on our blog as well as the [detailed compensation plan](https://medium.com/originprotocol/origin-dollar-ousd-detailed-compensation-plan-faa73f87442e) for taking care of the affected users. Origin Dollar was relaunched in December after completing multiple audits and security upgrades. You can learn more about the steps taken to secure the protocol in our [relaunch announcement](https://medium.com/originprotocol/origin-dollar-ousd-is-back-b8ee0c601dad). diff --git a/el/getting-started.md b/el/getting-started.md new file mode 100644 index 000000000..a02770326 --- /dev/null +++ b/el/getting-started.md @@ -0,0 +1,71 @@ +# Getting Started + +These docs are intended to explain how OUSD works, communicate the potential risks and benefits, and provide a guide for developers who wish to contribute to our codebase or integrate OUSD into their products. Here are a few ways for you to dive in and get started. + +**Buying OUSD** + +{% hint style="info" %} +The [Origin Dollar DApp](https://ousd.com/swap) will intelligently route your transaction to get you the best rate. +{% endhint %} + +The [Origin Dollar DApp](https://ousd.com/swap) allows anyone to buy or sell OUSD using a web-3 enabled cryptocurrency wallet like [Metamask](https://www.metamask.io), [Ledger](https://www.ledger.com), or [Gnosis Safe](https://gnosis-safe.io). This is the native way to get OUSD, especially if you want a large amount that could risk moving the market on other exchanges. The DApp will intelligently decide whether to create or trade-in OUSD tokens using the vault or help you complete the trade on whichever AMM is currently offering the best rate. + +**Decentralized Exchanges** + +OUSD is currently available on the following decentralized exchanges. These are listed here for reference only. We recommend using the [Origin Dollar DApp](https://ousd.com/swap) to ensure you always get the best rate. + +* [Buy OUSD on 1inch](https://app.1inch.io/#/1/swap/USDT/OUSD) +* [Buy OUSD on Curve](https://curve.fi/factory/9) +* [Buy OUSD on Uniswap v3](https://app.uniswap.org/#/swap?inputCurrency=0xdac17f958d2ee523a2206206994597c13d831ec7\&outputCurrency=0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86) +* [Buy OUSD on Uniswap v2](https://app.uniswap.org/#/swap?inputCurrency=0xdac17f958d2ee523a2206206994597c13d831ec7\&outputCurrency=0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86\&use=v2) +* [Buy OUSD on Sushiswap](https://exchange.sushiswapclassic.org/#/swap?inputCurrency=0xdac17f958d2ee523a2206206994597c13d831ec7\&outputCurrency=0x2a8e1e676ec238d8a992307b495b45b3feaa5e86) + +**Centralized Exchanges** + +OUSD is currently available on the following centralized exchanges. Be sure to check on how they are handling the yield that is being generated by the protocol. Depending on the exchange, there may be additional steps you need to take to participate in the yield while it's being held in their custody. + +* Buy OUSD on KuCoin + * [OUSD/USDT](https://trade.kucoin.com/OUSD-USDT) + * [OUSD/BTC](https://trade.kucoin.com/OUSD-BTC) +* Buy OUSD on Gate.io + * [OUSD/USDT](https://www.gate.io/trade/OUSD\_USDT) +* Buy OUSD on Virgox + * [OUSD/USDT](https://virgox.com/exchange/141) +* [Buy OUSD on Dharma App](https://www.dharma.io) (US only) + +We're continuing to work on making OUSD available on additional centralized exchanges. + +**Adding OUSD to Your Wallet** + +{% hint style="success" %} +The main ERC20 address for Origin Dollar (OUSD) is: \ +**0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +If your OUSD does not automatically show up in your wallet, you should be able to add it manually using the address above. If you are planning on [storing your OUSD in a multi-sig wallet](core-concepts/elastic-supply/rebasing-and-smart-contracts.md), be sure to opt-in to receive yield. We want to have OUSD supported by as many wallets as possible and included on all the various lists of well-known tokens. We would greatly appreciate any help you can offer in this area. + +**Integrating OUSD** + +OUSD is a non-standard ERC-20 token that requires custom integration work for most applications that wish to support it. In particular, it is important for developers to understand how our elastic supply works as this can easily cause unexpected behavior. + +If you are a wallet provider or crypto exchange that is interested in supporting OUSD, please refer to the following guides: + +{% content-ref url="core-concepts/elastic-supply/rebasing-and-smart-contracts.md" %} +[rebasing-and-smart-contracts.md](core-concepts/elastic-supply/rebasing-and-smart-contracts.md) +{% endcontent-ref %} + +{% content-ref url="smart-contracts/architecture.md" %} +[architecture.md](smart-contracts/architecture.md) +{% endcontent-ref %} + +{% content-ref url="smart-contracts/api/" %} +[api](smart-contracts/api/) +{% endcontent-ref %} + +**Developer Analytics** + +Our internal developer dashboard is available at [analytics.ousd.com](https://analytics.ousd.com). The dashboard shows the current circulating supply, the assets under management in the vault, and the current allocations between each of the stablecoins and strategies. + +**Getting Help** + +Please join the Origin Dollar #engineering room in Origin's [Discord](https://www.originprotocol.com/discord) server. Our team and members of our community look forward to helping you build. Your questions help us improve, so please don't hesitate to ask if you can't find what you are looking for here. diff --git a/el/governance/admin-privileges.md b/el/governance/admin-privileges.md new file mode 100644 index 000000000..30ed8065a --- /dev/null +++ b/el/governance/admin-privileges.md @@ -0,0 +1,32 @@ +# Admin Privileges + +The OUSD smart contracts are designed to be owner upgradable. The Origin team uses two different Gnosis multisig wallet contracts in order to make changes to the protocol. These multisig wallets have been [audited by OpenZeppelin](https://blog.openzeppelin.com/gnosis-multisig-wallet-audit-d702ff0e2b1e/), [ConsenSys Dilligence](https://blog.gnosis.pm/the-gnosis-multisig-wallet-and-our-commitment-to-security-ce9aca0d17f6), Origin’s team, and others. + +{% hint style="info" %} +Time-delayed admin actions gives users a chance to exit OUSD if its admins become malicious, are compromised, or make a change that the users do not like. +{% endhint %} + +### Admin + +The primary admin is a 5 of 8 multisig contract which is required to make any code changes to the protocol. OUSD can only be upgraded from this 5 of 8 multi-sig wallet. The keys to this multi-sig are held by individuals with close ties to the company, and not even the Origin founders acting together have enough control to execute owner functions on their own. In addition, the OUSD contracts are owned by a [timelock](../smart-contracts/api/timelock.md) which places a 48 hour time delay before any changes to the protocol can be made. + +### Strategist + +Some functionality, such as rebalancing funds between strategies or pausing deposits, can be triggered without the timelock and with far fewer signers. This allows the Origin team to react more quickly to market conditions or security threats. These signers, known as Strategists, have the ability to execute a limited number of functions __ with only 2 of 9 signers. + +The strategist multisig can do the following actions on the vault: + +* reallocate - move funds between strategies +* setVaultBuffer - adjust the amount of funds held outside strategies for cheaper redeems. +* setAssetDefaultStrategy - which strategy mints and redeems pull from for a particular strategy +* withdrawAllFromStrategy - remove funds from a single strategy and send them to the vault +* withdrawAllFromStrategies - remove funds from all active strategies and send them to the vault +* pauseRebase - pause all rebases +* pauseCapital - pause all mints and redeems +* unpauseCapital - allow all mints and redeems + +### Future + +Having these admin privileges is necessary in the early days to ensure that the protocol is secure and optimized for earning yields while minimizing risks. We expect to release multiple iterations of our smart contracts in the first several months of the protocol's existence. + +Once several upgrade cycles have been completed, we intend to transfer ownership from our company control to a decentralized governance contract, thereby allowing the community to vote and participate in future protocol updates. diff --git a/el/governance/contributing.md b/el/governance/contributing.md new file mode 100644 index 000000000..5b63d22c7 --- /dev/null +++ b/el/governance/contributing.md @@ -0,0 +1,103 @@ +# Contributing + +**100% Open-source** + +OUSD is an entirely open-source project and we welcome contributions of all sorts. There are many ways to help, from reporting issues, contributing code, and helping us improve our community. + +{% content-ref url="broken-reference" %} +[Broken link](broken-reference) +{% endcontent-ref %} + +We work in public and our company Discord is open to all. If you have questions or need help getting started, our [Discord OUSD channels](https://discord.gg/jyxpUSe) are the best place to get assistance from our team and community. + +{% content-ref url="broken-reference" %} +[Broken link](broken-reference) +{% endcontent-ref %} + +**Developer Analytics** + +Our internal developer dashboard is available at [analytics.ousd.com](https://analytics.ousd.com). The dashboard shows the current circulating supply, the assets under management in the vault, and the current allocations between each of the stablecoins and strategies. Various other developer tools can be found at [ousd.com/dashboard](https://ousd.com/dashboard). + +#### Development Process + +Our branching strategy is similar to [GitFlow](http://nvie.com/posts/a-successful-git-branching-model/), but we do all of our development in the `master` branch and have a `stable` branch for code that has been released. + +Your development flow should look like: + +1. Find an interesting issue and communicate! Please let the `#engineering` [Discord](https://discord.gg/jyxpUSe) channel know what you want to work on. +2. Ping a [core team member](https://github.com/orgs/OriginProtocol/teams/core/members) member on Discord and ask to be added to our [contributors team](https://github.com/orgs/OriginProtocol/teams/contributors). Otherwise, you’ll need to fork the relevant repository and push feature branches to your own fork. +3. Add a comment to the issue or self-assign so we don’t have multiple contributors unintentionally working on the same task. +4. Start with the `master` branch and check out a new feature branch unless you’re contributing to an existing feature. +5. Write some awesome code. +6. Pull the latest commits from `master` and confirm that your code works with any other work that has been merged since you started. +7. Push your branch to the upstream repository (i.e. https://github.com/OriginProtocol/\[repo]) so that other contributors can easily work off of it if necessary. +8. Please request a review in the PR by clicking on the gear icon next to “Reviewers” in the right column. + +For critical smart contract code to be merged it must pass the following checklist: + +* Code reviewed by 2 reviewers +* Unit tests pass +* Slither tests pass with no warning +* Echidna tests pass + +The `master` branch is locked so that only members of the [core team](https://github.com/orgs/OriginProtocol/teams/core) are able to merge your pull requests. Pull requests that are peer-reviewed by other trusted contributors will be fast-tracked and merged faster! Check in the `#engineering` Discord channel for appropriate reviewers. + +#### Coding Style + +We use a variety of programming languages in our repositories. When contributing, please follow existing coding conventions and refer to the CONTRIBUTING.md file in the repository, if one exists. + +For JavaScript, we use [NPM’s style](https://docs.npmjs.com/misc/coding-style), which is automatically enforced via [prettier](https://prettier.io). + +For Solidity, we use two-space indents. + +#### Protocol Design + +When considering protocol or implementation design proposals, we are looking for: + +* A description of the problem this design proposal solves +* Discussion of the trade-offs involved +* Review of other existing solutions +* Links to relevant literature (RFCs, papers, etc) +* Discussion of the proposed solution + +Please note that protocol design is hard and meticulous work. You may need to review existing literature and think through generalized use cases. + +#### Community Guidelines + +We want to keep the Origin community awesome, growing and collaborative. We need your help to keep it that way. To help with this we’ve come up with some general guidelines for the community as a whole: + +* Be nice: Be courteous, respectful and polite to fellow community members: no regional, racial, gender, or other abuse will be tolerated. We like nice people way better than mean ones! +* Encourage diversity and participation: Make everyone in our community feel welcome, regardless of their background and the extent of their contributions, and do everything possible to encourage participation in our community. +* Keep it legal: Basically, don’t get anybody in trouble. Share only content that you own, do not share private or sensitive information, and don’t break laws. +* Stay on topic: Make sure that you are posting to the correct channel and avoid off-topic discussions. Remember when you update an issue or respond to an email you are potentially sending to a large number of people. Please consider this before you update. Also remember that nobody likes spam. + +#### Reporting Issues + +If you find bugs, mistakes or inconsistencies in Origin’s code or documents, please let us know by filing a GitHub issue. No issue is too small. Help us fix our tpyos! + +#### Security Issues + +OUSD is still in early development, which means there may be problems with the protocol or in our implementations. We take security vulnerabilities very seriously. If you discover a security issue, please bring it to our attention right away! + +If you find a security vulnerability please send your report privately to [security@originprotocol.com](mailto:security@originprotocol.com) or send an encrypted message to [@joshfraser on Keybase](https://keybase.io/joshfraser). Please DO NOT file a public issue. Be sure to review our guidelines for responsible disclosure and eligibility for bug bounties. + +{% content-ref url="../security-and-risks/bug-bounties.md" %} +[bug-bounties.md](../security-and-risks/bug-bounties.md) +{% endcontent-ref %} + +#### **Community Improvement** + +Origin is just as much about community as it is about our technology. + +We need constant help in improving our documentation, building new tools to interface with our platform, spreading the word to new users, helping new users getting setup and much more. + +Please get in touch if you would like to help out. Our `discussion` channel on [Discord](https://www.originprotocol.com/discord) is a great place to share ideas and volunteer to help. + +#### Full-Time Positions + +Origin occasionally hires developers for part-time or full-time positions. + +We have a strong preference for hiring people who have already started contributing to the project. If you want a full-time position on our team, your best shot is to engage with our team and start contributing code. It is very unlikely that we would offer you a full-time position on our engineering team unless you’ve had at least a few pull requests merged. + +If you are interested, check out [the Origin Protocol job listings](https://angel.co/originprotocol/jobs). If you’d like to help in other ways, please propose your ideas in [our Discord channel](https://www.originprotocol.com/discord). + diff --git a/el/governance/governance.md b/el/governance/governance.md new file mode 100644 index 000000000..eea11a787 --- /dev/null +++ b/el/governance/governance.md @@ -0,0 +1,26 @@ +# Principles + +**Progressive Decentralization** + +OUSD is designed to be a decentralized protocol governed by many stakeholders all over the world. We believe that the minters and holders of OUSD should collectively determine important protocol decisions as soon as possible. + +That being said, in the very early days, it is imperative that the core engineering team can act quickly and decisively to build the foundational parts of the protocol. + +Decentralization will progress across four phases rapidly over the next few months. It is our intent to relinquish control and governance to the community as soon as possible. + +![](../.gitbook/assets/ousd_docs_graphics_2%20%283%29.png) + +**Timelock** + +Prior to full decentralized governance, we will implement a [timelock](../smart-contracts/api/timelock-1.md) in front of all admin function calls, giving OUSD users time \(48 hours\) to withdraw their funds if they have objections to our proposed upgrades. This timelock will be added shortly after launch. + +**New and Existing Stakeholders** + +OUSD is a new project founded by Origin Protocol [team](www.originprotocol.com/team) and will be supported by the existing Origin community as well as many new stakeholders that choose to mint, hold, use, and provide liquidity for OUSD. + +In addition, we also want to ensure high participation from our existing Origin Token \(OGN\) holders, community of close to 500,000 members, and buyers/sellers on the Platform. Existing OGN holders will be able to stake their OGN to participate in governance and earn incentives for driving value to OUSD. More details will be provided in the near future. + +The strong connection between OUSD and the rest of the Origin commerce platform will fuel growth in both initiatives. + + + diff --git a/el/governance/ogn-staking.md b/el/governance/ogn-staking.md new file mode 100644 index 000000000..e7a3e0bc2 --- /dev/null +++ b/el/governance/ogn-staking.md @@ -0,0 +1,18 @@ +# OGN Staking + +Origin Token (OGN) is intended as the governance token for OUSD and OGN will play an increasingly important role as the Origin Platform becomes more decentralized. Today, users can stake their OGN tokens to earn additional OGN after a chosen staking period has elapsed. + +{% hint style="info" %} +Visit the [OUSD DApp](https://www.ousd.com/stake) in a web3-enabled browser to stake your OGN. +{% endhint %} + +The initial staking program offers three staking periods and respective yields: + +* 30-day staking period: Earn 7.5% annualized interest +* 90-day staking period: Earn 12.5% annualized interest +* 365-day staking period: Earn 25% annualized interest + +Staked tokens will be locked for the duration of the staking period. After each staking period ends, you will be able to claim both your initial OGN (principal) and yield. + +OGN is currently trading on top exchanges like [Coinbase](https://www.coinbase.com/price/origin-token), [Binance](https://www.binance.com/en/register?ref=NPPYAEAE), [Huobi](https://www.huobi.com/en-us/exchange/ogn_usdt/), [Upbit](https://upbit.com/exchange?code=CRIX.UPBIT.BTC-OGN), [Bittrex Global](https://global.bittrex.com/Market/Index?MarketName=BTC-OGN), and [dozens more](https://coinmarketcap.com/currencies/origin-protocol/markets/). Visit the Origin website to [learn more about OGN](https://www.originprotocol.com/ogn-token) or check out the [OGN Dashboard](https://www.originprotocol.com/dashboard) to track important token metrics. + diff --git a/el/governance/phases.md b/el/governance/phases.md new file mode 100644 index 000000000..4b45be826 --- /dev/null +++ b/el/governance/phases.md @@ -0,0 +1,6 @@ +# Phases + +Progressive decentralization will follow four phases as outlined below. + +![](../.gitbook/assets/ousd_docs_graphics_2%20%282%29.png) + diff --git a/el/governance/principles.md b/el/governance/principles.md new file mode 100644 index 000000000..b809ce66f --- /dev/null +++ b/el/governance/principles.md @@ -0,0 +1,30 @@ +# Principles + +**Governance Portal** + +OGN holders are encouraged to participate in creating and voting on proposals that impact the protocol in the [OGN governance portal](https://vote.originprotocol.com). Anyone with at least 1,000 OGN in their wallet or staked in our OGN Staking contract can create a new proposal using Snapshot. All OGN holders are able to vote for proposals. Our desire is for our community to have a strong impact on the direction of Origin’s products, open-source codebase, and to have a voice in key business decisions and the overall direction of the project. + +OGN holders can also [delegate votes](vote-delegation.md) to another account. + +**Progressive Decentralization** + +OUSD is designed to be a decentralized protocol governed by many stakeholders all over the world. We believe that the holders of OUSD should collectively determine important protocol decisions as soon as possible. + +That being said, in the very early days, it is imperative that the core engineering team can act quickly and decisively to build the foundational parts of the protocol. + +Decentralization will progress across four phases rapidly over the next few months. It is our intent to relinquish control and governance to the community as soon as possible. + +![](../.gitbook/assets/ousd\_docs\_graphics\_2 (2).png) + +**Timelock** + +Prior to full decentralized governance, we will implement a [timelock](../smart-contracts/api/timelock.md) in front of all admin function calls, giving OUSD users time to withdraw their funds if they have objections to our proposed upgrades. + +**New and Existing Stakeholders** + +OUSD is a new project founded by Origin Protocol [team](https://www.originprotocol.com/team) and will be supported by the existing Origin community as well as many new stakeholders that choose to mint, hold, use, and provide liquidity for OUSD. + +In addition, we also want to ensure high participation from our existing Origin Token (OGN) holders and the millions of people in our community. Existing OGN holders are able to [stake their OGN](ogn-staking.md) to participate in governance and earn incentives for driving value to OUSD. + +The strong connection between OUSD and the rest of the Origin commerce platform will fuel growth in both initiatives. + diff --git a/el/governance/vote-delegation.md b/el/governance/vote-delegation.md new file mode 100644 index 000000000..9a8149d2f --- /dev/null +++ b/el/governance/vote-delegation.md @@ -0,0 +1,18 @@ +# Vote Delegation + +OGN holders can forward their voting power on the [Governance Portal](https://vote.originprotocol.com/#/) to another Ethereum address. Choosing this option does not strip the delegator of their voting power. The delegatee receives the extra voting power only on proposals the delegator has not voted on. + +This is convenient when users want someone they trust or even one of Origin's team members to make governance decisions regarding Origin's ecosystem. It is also useful when users have OGN stored more safely in a hardware wallet and don’t want to go through the hassle of connecting it to the computer. A more accessible Ethereum wallet e.g. Metamask can be used to vote by having voting power delegated to it from the hardware wallet.\ + + +**How to Delegate** + +* Go to: [https://snapshot.org/#/delegate](https://snapshot.org/#/delegate). +* Type in the address or ENS name you want to delegate to. +* There is an option to limit the delegation power to only Origin’s products by selecting _Limit delegation to a specific space_ and typing in “origingov.eth”. +* Click confirm to save your delegation.\ + + +![](../.gitbook/assets/Screenshot 2022-03-20 at 10.47.43.png) + +After completing these steps, the OGN voting power is successfully delegated to the address specified. diff --git a/el/guides/incentivized-harvesting-guide.md b/el/guides/incentivized-harvesting-guide.md new file mode 100644 index 000000000..a24597e9c --- /dev/null +++ b/el/guides/incentivized-harvesting-guide.md @@ -0,0 +1,46 @@ +# Incentivized Harvesting Guide + +The OUSD Harvester contract collects reward tokens earned by the OUSD strategies, sells them, and sends them on to increase protocol yield. **Anyone can call the harvest and earn 1% of the resulting USDT** for doing so. This creates a self-incentivizing system that operates at a known cost to the protocol. + +### When to call + +You'll want to call this contract when it is profitable to do so. You gain the 1% harvest USDT given by the contract, and spend the gas cost to send the transaction. + +The simplest way to calculate both of these is to simulate the transaction. You can then look at the resulting transfers to know the income received, and you can look at the gas amount used, the current gas prices, and the current cost of ETH, to find out the cost. + +Alternatively you can precompute the gas used for a given strategy's harvest, look up the pending reward tokens using various online services, then do your calculations without using the blockchain. + +The amount of rewards increases at a fairly steady, predictable rate. The primary variation is in gas prices, which will make a much bigger minute to minute difference on when you should call this. + +When calculating profitability, remember to account for the cost to swap back to ETH from USDT. + +### How to call + +When you call the harvest, **you will want to use some form of MEV protection**. Otherwise bots will see that your transaction is profitable, and execute it ahead of you, leaving you no gain and only gas fees. + +To harvest, you call `harvester.harvestAndSwap(strategyAddress, rewardTo)`. + +The harvester address and strategyAddresses can be found in the strategy tab of the [contract registry](../smart-contracts/registry.md). The `rewardTo` address is the account that will receive the USDT funds as a reward for calling the function - use your own address for it. + +Below is the harvestAndSwap ABI: + +``` +[{ + "inputs": [ + { + "internalType": "address", + "name": "_strategyAddr", + "type": "address" + }, + { + "internalType": "address", + "name": "_rewardTo", + "type": "address" + } + ], + "name": "harvestAndSwap", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" +}] +``` diff --git a/el/guides/integration-guide-for-exchanges.md b/el/guides/integration-guide-for-exchanges.md new file mode 100644 index 000000000..cda6f2cd1 --- /dev/null +++ b/el/guides/integration-guide-for-exchanges.md @@ -0,0 +1,34 @@ +# Integration Guide For Exchanges + +Centralized exchanges will play an important role in helping us reach our goal of making OUSD ubiquitous. We are happy to help any exchange that wants to make OUSD available to its users. We believe OUSD will make a great addition to any exchange that wants to offer both a superior stablecoin and a new high-yield opportunity for their users. + +These docs are a great starting point for understanding how OUSD works. Here are some important questions for exchanges that wish to integrate OUSD to consider: + +**Do you want to participate in the yield that is generated?** + +We're assuming the answer will be yes and we highly encourage this as well! However, there may be some instances where you would prefer to move fast and list OUSD without participating in the [rebasing nature of OUSD](../core-concepts/elastic-supply/rebasing-and-smart-contracts.md) since it's the fastest and simplest integration. For exchanges that want to list OUSD, but are strapped for engineering resources, you may want to launch the non-rebasing version first while your engineers make whatever changes are necessary. To make OUSD non-rebasing you can call `rebaseOptOut()` from each EOA wallet that holds OUSD, or do nothing if you are storing OUSD on smart contracts. Non-rebasing OUSD behaves just like any other ERC-20 token. + +**Are you storing customer balances on smart contracts (ie. multi-sigs) or EOA wallets?** + +Any smart contract that is holding OUSD needs to manually opt-in to receive the yield by calling `rebaseOptIn()`. This is due to the [elastic supply](../core-concepts/elastic-supply/) and the [rebasing nature of OUSD](../core-concepts/elastic-supply/rebasing-and-smart-contracts.md). Many exchanges sweep customer funds into a multi-sig wallet for cold storage. If you do this, you'll want to make sure that you opt-in to rebasing so that you are always earning. + +**Are you caching user balances?** + +OUSD dynamically updates the value returned by the `balanceOf()` function on our ERC20 contract. Users' balances will update at unpredictable times as new yield is generated by the protocol. As long as you aren't caching this value, users will always see the correct amount of OUSD that they are holding. + +It's important to note that while OUSD is a rebasing token, user balances will only rebase in a positive direction (your balance will never go down). This makes things a lot simpler than integrating with other rebasing coins like AMPL or other algo-stables. + +**Are you comingling user funds?** + +If you are comingling funds, you'll want to be sure that each user gets their pro-rata amount of the yield that is generated by the protocol. Probably the easiest way to do this is to track each user's balance as a percentage of a pool instead of as a fixed amount. + +**Are you planning to provide liquidity?** + +The Origin team is often willing to provide a market maker and initial liquidity for exchanges that wish to integrate OUSD. There are also 9 figures worth of liquidity available on decentralized exchanges like [Curve](https://curve.fi/factory/9). + +If you are interested in using OUSD to power your own staking or earning program, you will probably want to be able to access OUSD on demand. OUSD can always be minted or redeemed using the [Origin Dollar DApp](https://www.ousd.com), or directly from the OUSD [smart contracts](../smart-contracts/registry.md). If you are planning on providing liquidity yourself, you should be aware that the exact amount of OUSD you will receive in exchange for your USDT, USDC, or DAI depends on the current exchange rates as determined by the [oracles.](../core-concepts/price-oracles.md) If you are planning on redeeming OUSD for the underlying stablecoins, you should know there is a 0.25% exit fee and OUSD will return a basket of stable coins in proportion to the backing stablecoins in the pool. We encourage exchanges to leverage existing pools of liquidity to avoid those fees. If possible, mints or redeems should be done in large batches for maximum efficiency. + +#### Do you have other questions? + +The best way to get help from both our engineering and business teams is usually on [Discord](https://www.originprotocol.com/discord). + diff --git a/el/how-it-works.md b/el/how-it-works.md new file mode 100644 index 000000000..061ececf6 --- /dev/null +++ b/el/how-it-works.md @@ -0,0 +1,39 @@ +# How It Works + +#### 100% Backed and Stable + +Origin Dollar (OUSD) is an ERC-20 compliant token for the Ethereum network. + +OUSD is a stable currency that is backed 1:1 by other stablecoins like USDT, USDC and DAI. As a result, 1 OUSD should always be very close to 1 USD in value. + +{% hint style="success" %} +1 OUSD = 1 USD +{% endhint %} + +#### Buying OUSD + +Users can convert their existing stablecoins (currently USDT, USDC, and DAI) to OUSD at the official [Origin Dollar DApp](https://www.ousd.com). Received OUSD begins accruing compounding yield immediately. + +The Origin DApp will intelligently route user's transactions to give them the best available price while taking slippage and gas costs into consideration. This means that the DApp will sometimes encourage users to buy OUSD that is already in circulation versus minting fresh OUSD from the vault. The OUSD DApp will choose from multiple sources of liquidity and will suggest the option that gives the user the best possible rate. + +**Selling OUSD** + +Users can convert their OUSD back into other stablecoins at any time using the [Origin Dollar DApp](https://www.ousd.com). The Origin DApp will intelligently route user's transactions to give them the best available price while taking slippage, gas costs, and the vault's exit fee into consideration. This means that the DApp will often help users sell their OUSD on AMM's instead of redeeming OUSD with the vault and incurring the protocol's exit fee. + +A 0.25% exit fee is charged upon redemption with the vault. This fee is distributed as additional yield to the remaining participants in the vault (ie. other OUSD holders). The fee serves as a security feature to make it difficult for attackers to take advantage of lagging oracles, preventing them from siphoning stablecoins from the vault in the event of mispriced underlying assets. The fee exists to incentivize long-term holders over short-term speculators. + +Upon redemption, the vault will determine which stablecoin(s) to return to the user. In the current implementation, the vault will return coins in the same ratio as the current holdings. This lack of user optionality also protects the vault as a whole in the event that any of the supported stablecoins loses its peg to the dollar. + +{% hint style="warning" %} +Redemptions on the OUSD vault incur a **0.25% exit fee** and the user doesn't get to pick which stablecoins they receive. Users can often avoid this fee by selling to an AMM instead. +{% endhint %} + +#### A**utomated Yield Farming** + +OUSD generates yields by deploying the underlying stablecoins that were deposited to the OUSD smart contract to other DeFi protocols such as Compound, Aave, and Curve. There may be new diversified strategies added to the vault in the future. Collected interest, trading fees, and rewards tokens are pooled and converted to stablecoins to produce OUSD-denominated yields. Over time, the protocol will move assets in and out of different liquidity pools in order to provide the best yield to the holders of OUSD. + +#### **Elastic Supply** + +The generated returns are passed on to the holders of OUSD via constant rebasing of the money supply. OUSD constantly adjusts the money supply in response to the yield the protocol has generated. This allows the price of OUSD to stay pegged at $1 while the balances in token holders' wallets adjust in real-time to reflect yields that have been earned by the protocol. + +The end result is a stablecoin that is easy to spend, earns outsized yields automatically, and is more desirable to hold than existing stablecoins. diff --git a/el/security-and-risks/asset-risk.md b/el/security-and-risks/asset-risk.md new file mode 100644 index 000000000..92140f5ed --- /dev/null +++ b/el/security-and-risks/asset-risk.md @@ -0,0 +1,33 @@ +# Bug Bounties + +**Bug Bounties** + +Bug bounties are granted at the full discretion of Origin Protocol. The rewards range in size from **$100** for minor issues to **$250,000** for major vulnerabilities. Currently, the bounty program only applies to OUSD and not other products from Origin. + +{% hint style="warning" %} +In order to be eligible for a bug bounty, you must follow the rules of Responsible Disclosure outlined below. +{% endhint %} + +**Responsible Disclosure** + +Security is our top priority and we've taken every effort to make sure our code is secure and works as intended. However, it's completely possible that vulnerabilities both large and small may have gone undetected. + +In case you discover a vulnerability, we would like to know about it immediately so we can take steps to address it as quickly as possible. + +If you discover a vulnerability, please do the following: + +* Report your findings to [security@originprotocol.com](mailto:security@originprotcol.com) or contact [Josh Fraser on Keybase](https://keybase.io/joshfraser) +* Do not take advantage of the vulnerability or problem you have discovered +* Do not reveal the problem to others until it has been resolved +* Do not use attacks on physical security, social engineering, distributed denial of service, spam or applications of third parties +* Do provide sufficient information to reproduce the problem, so we will be able to resolve it as quickly as possible. Complex vulnerabilities may require further explanation so we might ask you for additional information. + +In return, we promise: + +* We will respond to your report within 3 business days with our evaluation of the report and an expected resolution date +* If you have followed the instructions above, we will not take any legal action against you in regard to the report +* We will handle your report with strict confidentiality, and not pass on your personal details to third parties without your permission +* If you so wish we will keep you informed of the progress towards resolving the problem +* In the public information concerning the problem reported, we will give your name as the discoverer of the problem \(unless you desire otherwise\) +* As a token of our gratitude for your assistance, we offer a reward for every report of a security problem that was not yet known to us. The amount of the reward will be determined based on the severity of the leak, the quality of the report, and any additional assistance you provide. + diff --git a/el/security-and-risks/audits.md b/el/security-and-risks/audits.md new file mode 100644 index 000000000..8d5402c70 --- /dev/null +++ b/el/security-and-risks/audits.md @@ -0,0 +1,40 @@ +# Audits + +**The OUSD Vault, ERC-20, and Overall System** + +OUSD has been audited by multiple, well-respected security firms. We have worked with [OpenZeppelin](https://openzeppelin.com), [Trail of Bits](https://www.trailofbits.com), [Solidified](https://solidified.io), and [Certora](https://www.certora.com) to audit all of the code that powers Origin Dollar. Their findings are available below: + +* [Trail of Bits, OUSD Audit, December 2020](https://github.com/OriginProtocol/security/blob/master/audits/Trail%20of%20Bits%20-%20Origin%20Dollar%20-%20Dec%202020.pdf) +* [Solidified, OUSD Audit, December 2020](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20Origin%20Dollar%20-%20Dec%202020.pdf) +* [Solidified, OGN Staking Audit, December 2020](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20OGN%20Staking%20-%20Dec%202020.pdf) +* [Certora, OUSD Formal Verification Audit, January 2021](https://www.certora.com/pubs/OriginFeb2021.pdf) +* [OpenZeppelin, OUSD Audit, August 2021](https://github.com/OriginProtocol/security/blob/master/audits/OpenZeppelin%20-%20Origin%20Dollar%20-%20October%202021.pdf) +* [Solidified, wOUSD, ERC721a, Governance, Harvester & Dripper Audit, May 2022](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20OGV%2C%20wOUSD%2C%20and%20ERC721a%20-%20May%202022.pdf) + +Both our initial and future governance tokens have been audited as well: + +* [Trail of Bits, OGN Audit, November 2018](https://github.com/OriginProtocol/security/blob/master/audits/Trail%20of%20Bits%20-%20Origin%20Marketplace%20and%20OGN%20Token%20-%20Nov%202018.pdf) +* [Solidified, OGV Audit, May 2022](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20OGV%2C%20wOUSD%2C%20and%20ERC721a%20-%20May%202022.pdf) + +In addition, the underlying strategies and dependencies that OUSD utilizes have been thoroughly audited by various firms. + +{% hint style="info" %} +OUSD only integrates strategies that have been carefully audited and battle-tested with significant capital over an extended period of time. +{% endhint %} + +**Compound Strategy and Open Price Feed** + +Compound has been audited by [Trail of Bits](https://www.trailofbits.com) and [OpenZeppelin](https://openzeppelin.com) and formally verified by [Certora](https://www.certora.com). Visit the Compound website for their [full list of audits](https://compound.finance/docs/security#audits) including the original code for the modified [Timelock](../smart-contracts/api/timelock.md) that OUSD is using. + +**Aave Strategy** + +Aave has been audited by [Trail of Bits](https://www.trailofbits.com), [OpenZeppelin](https://openzeppelin.com), [ConsenSys Diligence](https://consensys.net/diligence/), [Certik](https://certik.io), [MixBytes](https://mixbytes.io), and [PeckShield](https://peckshield.com). They have also been formally verified by [Certora](https://www.certora.com). Visit the Aave website for [their full list of audits](https://docs.aave.com/developers/security-and-audits). + +**Curve Strategy** + +Curve has been audited by [Trail of Bits](https://www.trailofbits.com) and [Quantstamp](https://quantstamp.com). Visit the Curve website for [their full list of audits](https://www.curve.fi/audits). + +**Chainlink Oracles** + +Chainlink has been audited by [Quantstamp](https://github.com/smartcontractkit/chainlink/tree/bafa91c), [SigmaPrime](https://github.com/smartcontractkit/chainlink/tree/cee356), [Callisto](https://gist.github.com/yuriy77k/c3a70d212a7f9ecda715252e45073158), and [Nick Johnson](https://github.com/smartcontractkit/chainlink/tree/5327f9). + diff --git a/el/security-and-risks/bug-bounties.md b/el/security-and-risks/bug-bounties.md new file mode 100644 index 000000000..d6e21196f --- /dev/null +++ b/el/security-and-risks/bug-bounties.md @@ -0,0 +1,32 @@ +# Bug Bounties + +**Bug Bounties** + +Bug bounties are granted at the full discretion of Origin Protocol. The rewards range in size from **$100 OUSD** for minor issues to **$250,000 OUSD** for major vulnerabilities. Currently, the bounty program only applies to OUSD and not other products from Origin. + +{% hint style="warning" %} +In order to be eligible for a bug bounty, you must follow the rules of Responsible Disclosure outlined below. +{% endhint %} + +**Responsible Disclosure** + +Security is our top priority and we've taken every effort to make sure our code is secure and works as intended. However, it's completely possible that vulnerabilities both large and small may have gone undetected. + +In case you discover a vulnerability, we would like to know about it immediately so we can take steps to address it as quickly as possible. + +If you discover a vulnerability, please do the following: + +* Report your findings to [security@originprotocol.com](mailto:security@originprotocol.com) or contact [Josh Fraser on Keybase](https://keybase.io/joshfraser). Here is an example of a [well written disclosure](https://gist.github.com/DanielVF/66f459da88804d1fd917c47576c68523). +* Do not take advantage of the vulnerability or problem you have discovered +* Do not reveal the problem to others until it has been resolved +* Do not use attacks on physical security, social engineering, distributed denial of service, spam or applications of third parties +* Do provide sufficient information to reproduce the problem, so we will be able to resolve it as quickly as possible. Complex vulnerabilities may require further explanation so we might ask you for additional information. + +In return, we promise: + +* We will respond to your report within 3 business days with our evaluation of the report and an expected resolution date +* If you have followed the instructions above, we will not take any legal action against you in regard to the report +* We will handle your report with strict confidentiality, and not pass on your personal details to third parties without your permission +* If you so wish we will keep you informed of the progress towards resolving the problem +* In the public information concerning the problem reported, we will give your name as the discoverer of the problem (unless you desire otherwise) +* As a token of our gratitude for your assistance, we offer a reward for every report of a security problem that was not yet known to us. The amount of the reward will be determined based on the severity of the leak, the quality of the report, and any additional assistance you provide. diff --git a/el/security-and-risks/contributing.md b/el/security-and-risks/contributing.md new file mode 100644 index 000000000..6937c347d --- /dev/null +++ b/el/security-and-risks/contributing.md @@ -0,0 +1,95 @@ +# Contributing + +**100% Open-source** + +OUSD is an entirely open-source project and we welcome contributions of all sorts. There are many ways to help, from reporting issues, contributing code, and helping us improve our community. + +We work in public and our company Discord is open to all. If you have questions or need help getting started, our Discord OUSD channels are the best place to get assistance from our team and community. + +**Developer Analytics** + +Our internal developer dashboard is available at [analytics.ousd.com](https://analytics.ousd.com). The dashboard shows the current circulating supply, the assets under management in the vault, and the current allocations between each of the stablecoins and strategies. + +#### Development Process + +Our branching strategy is similar to [GitFlow](http://nvie.com/posts/a-successful-git-branching-model/), but we do all of our development in the `master` branch and have a `stable` branch for code that has been released. + +Your development flow should look like: + +1. Find an interesting issue and communicate! Please let the `#engineering` [Discord](https://discord.gg/jyxpUSe) channel know what you want to work on. +2. Ping a [core team member](https://github.com/orgs/OriginProtocol/teams/core/members) member on Discord and ask to be added to our [contributors team](https://github.com/orgs/OriginProtocol/teams/contributors). Otherwise, you’ll need to fork the relevant repository and push feature branches to your own fork. +3. Add a comment to the issue or self-assign so we don’t have multiple contributors unintentionally working on the same task. +4. Start with the `master` branch and check out a new feature branch unless you’re contributing to an existing feature. +5. Follow the appropriate [coding style](https://docs.originprotocol.com/guides/getting_started/contributing.html#contributing-email-coding-style) and write some awesome code. +6. Pull the latest commits from `master` and confirm that your code works with any other work that has been merged since you started. +7. Push your branch to the upstream repository \(i.e. https://github.com/OriginProtocol/\[repo\]\) so that other contributors can easily work off of it if necessary. +8. Please request a review in the PR by clicking on the gear icon next to “Reviewers” in the right column. + +For critical smart contract code to be merged it must pass the following checklist: + +* Code reviewed by 2 reviewers +* Unit tests pass +* Slither tests pass with no warning +* Echidna tests pass + +The `master` branch is locked so that only members of the [core team](https://github.com/orgs/OriginProtocol/teams/core) are able to merge your pull requests. Pull requests that are peer-reviewed by other trusted contributors will be fast-tracked and merged faster! Check in the `#engineering` Discord channel for appropriate reviewers. + +#### Coding Style + +We use a variety of programming languages in our repositories. When contributing, please follow existing coding conventions and refer to the CONTRIBUTING.md file in the repository, if one exists. + +For JavaScript, we use [NPM’s style](https://docs.npmjs.com/misc/coding-style), which is automatically enforced via [prettier](https://prettier.io/). + +For Solidity, we use two-space indents. + +#### Protocol Design + +When considering protocol or implementation design proposals, we are looking for: + +* A description of the problem this design proposal solves +* Discussion of the trade-offs involved +* Review of other existing solutions +* Links to relevant literature \(RFCs, papers, etc\) +* Discussion of the proposed solution + +Please note that protocol design is hard and meticulous work. You may need to review existing literature and think through generalized use cases. + +#### Community Guidelines + +We want to keep the Origin community awesome, growing and collaborative. We need your help to keep it that way. To help with this we’ve come up with some general guidelines for the community as a whole: + +* Be nice: Be courteous, respectful and polite to fellow community members: no regional, racial, gender, or other abuse will be tolerated. We like nice people way better than mean ones! +* Encourage diversity and participation: Make everyone in our community feel welcome, regardless of their background and the extent of their contributions, and do everything possible to encourage participation in our community. +* Keep it legal: Basically, don’t get anybody in trouble. Share only content that you own, do not share private or sensitive information, and don’t break laws. +* Stay on topic: Make sure that you are posting to the correct channel and avoid off-topic discussions. Remember when you update an issue or respond to an email you are potentially sending to a large number of people. Please consider this before you update. Also remember that nobody likes spam. + +#### Reporting Issues + +If you find bugs, mistakes or inconsistencies in Origin’s code or documents, please let us know by filing a GitHub issue. No issue is too small. Help us fix our tpyos! + +#### Security Issues + +OUSD is still in early development, which means there may be problems with the protocol or in our implementations. We take security vulnerabilities very seriously. If you discover a security issue, please bring it to our attention right away! + +If you find a security vulnerability please send your report privately to [security@originprotocol.com](mailto:security@originprotocol.com) or send an encrypted message to [@joshfraser on Keybase](https://keybase.io/joshfraser). Please DO NOT file a public issue. Be sure to review our guidelines for responsible disclosure and eligibility for bug bounties. + +{% page-ref page="bug-bounties.md" %} + +#### **Community Improvement** + +Origin is just as much about community as it is about our technology. + +We need constant help in improving our documentation, building new tools to interface with our platform, spreading the word to new users, helping new users getting setup and much more. + +Please get in touch if you would like to help out. Our `general` channel on [Discord](https://www.originprotocol.com/discord) is a great place to share ideas and volunteer to help. + +#### Full-Time Positions + +Origin occasionally hires developers for part-time or full-time positions. + +We have a strong preference for hiring people who have already started contributing to the project. If you want a full time position on our team, your best shot is to engage with our team and start contributing code. It is very unlikely that we would offer you a full-time position on our engineering team unless you’ve had at least a few pull requests merged. + +If you are interested, check out [the Origin Protocol job listings](https://angel.co/originprotocol/jobs). If you’d like to help in other ways, please propose your ideas in [our Discord channel](https://www.originprotocol.com/discord). + + + diff --git a/el/security-and-risks/insurance.md b/el/security-and-risks/insurance.md new file mode 100644 index 000000000..f805d14f1 --- /dev/null +++ b/el/security-and-risks/insurance.md @@ -0,0 +1,15 @@ +# Insurance + +OUSD holders can buy smart contract insurance to cover any losses that might result from any bugs or vulnerabilities in the OUSD contracts, including economic exploits (such as flash loans attacks). In addition, anyone who wants to make a financial bet on the security of our contracts can earn a yield by providing coverage. + +DeFi coverage for OUSD is currently available via[ Nexus Mutual](https://nexusmutual.io) and [InsurAce Protocol](https://www.insurace.io). These partnerships allow for more effective risk management by OUSD holders while creating new opportunities for coverage providers to profit. + +Read our [announcement post](https://medium.com/originprotocol/origin-partners-with-nexus-mutual-to-offer-defi-insurance-for-origin-dollar-ousd-6eb3432ee042) to learn how to [buy coverage](https://app.nexusmutual.io/cover/buy/get-quote?address=0xE75D77B1865Ae93c7eaa3040B038D7aA7BC02F70), [provide coverage](https://app.nexusmutual.io/staking), or [participate in shield mining campaigns](https://app.nexusmutual.io/rewards) with Nexus Mutual. You can learn more about InsurAce and how to buy coverage on their [user guide](https://docs.insurace.io/landing-page/documentation-1/user-guide) or [documentation](https://docs.insurace.io/landing-page/). + +**Nexus Mutual Coverage** + +Read our[ announcement post](https://medium.com/originprotocol/origin-partners-with-nexus-mutual-to-offer-defi-insurance-for-origin-dollar-ousd-6eb3432ee042) to learn how to[ buy coverage](https://app.nexusmutual.io/cover/buy/get-quote?address=0x0000000000000000000000000000000000000016),[ provide coverage](https://app.nexusmutual.io/staking), and[ participate in shield mining campaigns](https://app.nexusmutual.io/rewards) with Nexus Mutual. + +**InsurAce Protocol Coverage** + +Read InsurAce Protocol’s [User Guide](https://docs.insurace.io/landing-page/documentation-1/user-guide) to learn how to [buy coverage](https://docs.insurace.io/landing-page/documentation-1/user-guide/dashboard) and participate in [underwriting mining](https://docs.insurace.io/landing-page/documentation-1/user-guide/how-to-stake) for OUSD. diff --git a/el/security-and-risks/risks.md b/el/security-and-risks/risks.md new file mode 100644 index 000000000..64dc13dc0 --- /dev/null +++ b/el/security-and-risks/risks.md @@ -0,0 +1,44 @@ +# Risks + +{% hint style="danger" %} +Use at your own risk. Do not deploy more capital than you are willing to lose. +{% endhint %} + +As with any yield-generating DeFi product, there are associated risks with holding OUSD that are important to understand. These risks can be broadly classified into 3 categories: + +* OUSD smart contract risk +* Underlying third-party platform risk +* Underlying stablecoin risk + +**OUSD smart contract risk** + +Our smart contracts have been [audited](audits.md) by multiple, well-respected security firms. However, it is important to note that even with formal audits, it is still possible for there to be logic errors that could lead to the loss of funds for OUSD holders. The contracts involve complex math and logic. While we have taken every precaution to ensure the safety and security of our smart contracts, users are reminded to use at their own risk. Origin Protocol will not be held responsible for any loss of funds, regardless of who is at fault. + +**Third-party platform risk** + +OUSD is built on top of other DeFi platforms like Aave, Compound, and Curve that add additional smart contract risk. We are choosing to work with platforms that have literally billions of dollars of assets under management and have made a reasonable efforts to ensure the security of their protocols. However, there are no guarantees that the underlying third-party platforms will continue to work as intended, and any failure in an underlying strategy would potentially lead to a loss of funds for OUSD holders. + +**Stablecoin risks** + +It is important to understand that OUSD is only as strong as the stablecoins that are backing it. Any loss of value to an underlying stablecoin asset will cause a similar loss to the value of OUSD. While OUSD is designed to maintain a 1:1 relationship between supply and number of backing stablecoins, it does not guarantee which stablecoins will make up that backing nor the value of those coins. + +It is important to note that each of the supported stablecoins introduces non-trivial counter-party risk. Tether, in particular, has had well-documented banking troubles and regulatory challenges. In addition, both USDT and USDC have backdoors that grant their issuers the power to freeze money in their holder's wallets. While DAI does not have any direct backdoors, its assets can also be negatively impacted since USDC and USDT are accepted as collateral for minting DAI. + +**Risk mitigation** + +While it's impossible to guarantee our contracts are 100% safe, we have taken every step possible to mitigate the chance of losing funds: + +We regularly have our work [audited ](audits.md)by the top auditors in the industry. + +[DeFi insurance](insurance.md) is availble to offer smart contract coverage as an optional add-on service for OUSD holders. + +We have retained [Certora](https://www.certora.com) to formally verify the various security properties of our contracts. They helped us establish automated verifications that will run anytime we update our contract code. We have automated checking for common errors with [Slither](https://github.com/crytic/slither) and [Echidna](https://github.com/crytic/echidna) tests. Together, these alert our team to common security issues in addition to our own test suite. + +Code reviews involving our smart contracts are incredibly rigorous. We require at least two engineers to review each change with a detailed checklist and we prioritize security reviews over new feature development. + +Finally, we have formalized an engineering [rotation](https://github.com/OriginProtocol/security/blob/master/incidents/ROTATION.md) for reviewing [attacks on other projects](https://github.com/OriginProtocol/security/tree/master/incidents) as well as ensuring we deep dive into each of these reviews, including reviewing the affected contracts' source code ourselves. We've observed that attackers often exploit the same fundamental vulnerability on multiple different projects. By reviewing other project's vulnerabilities, we force ourselves to stay up to date on the latest security threats in our industry and are constantly learning from their mistakes. + +**Actions speak louder than words** + +You should also know that many members of the Origin team, including both founders, are holding a significant portion of their personal wealth in OUSD. Origin Protocol's corporate treasury is also holding millions of dollars in OUSD. We have skin in the game and are willing to put our own money at risk with the code we have written. + diff --git a/el/security-and-risks/untitled.md b/el/security-and-risks/untitled.md new file mode 100644 index 000000000..21b692090 --- /dev/null +++ b/el/security-and-risks/untitled.md @@ -0,0 +1,20 @@ +# Audits + +{% hint style="danger" %} +The OUSD smart contracts have not yet been audited. We strongly recommend reviewing our smart contracts before depositing significant amounts of capital. +{% endhint %} + +**OUSD** + +Audits have already been scheduled with the respected security firm, [Trail of Bits](https://www.trailofbits.com/), for early October 2020. Their audit results will be publicly released as soon as they are available. + +**Supported Strategies** + +Multiple audits for Compound have already been completed and are available on their website. This includes the original code for the modified [Timelock](../smart-contracts/api/timelock-1.md) that OUSD is using. + +{% page-ref page="untitled.md" %} + + + + + diff --git a/el/smart-contracts/api/README.md b/el/smart-contracts/api/README.md new file mode 100644 index 000000000..ff400f20f --- /dev/null +++ b/el/smart-contracts/api/README.md @@ -0,0 +1,9 @@ +# API + +Documentation of contracts API used by the protocol: + +* [Vault](vault.md) +* [ERC-20](erc-20-1.md) +* [Timelock](timelock.md) +* [Stategies](strategies.md) + diff --git a/el/smart-contracts/api/erc-20-1.md b/el/smart-contracts/api/erc-20-1.md new file mode 100644 index 000000000..164343cc0 --- /dev/null +++ b/el/smart-contracts/api/erc-20-1.md @@ -0,0 +1,16 @@ +# ERC-20 + +{% hint style="success" %} +The main ERC20 address for Origin Dollar (OUSD) is: \ **0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +OUSD is an ERC-20 compliant token with one novel property (elastic supply) that is important to understand. + +{% hint style="warning" %} +Wallets and exchanges that wish to integrate OUSD should not cache token balances for OUSD as this value will change frequently as yield is accrued to token holders. +{% endhint %} + +The biggest difference separating OUSD from your average ERC-20 token is the way OUSD's`balanceOf()` function will return a variable amount based on the total value of the vault multiplied by the holder's stake in the vault. This difference is vital to understand, particularly for wallets and exchanges that wish to integrate the OUSD token. This value should be fetched in real-time instead of being cached since OUSD rebases frequently. + + + diff --git a/el/smart-contracts/api/oracle.md b/el/smart-contracts/api/oracle.md new file mode 100644 index 000000000..362749de7 --- /dev/null +++ b/el/smart-contracts/api/oracle.md @@ -0,0 +1,7 @@ +# Oracles + +{% hint style="info" %} +Documentation coming soon. +{% endhint %} + +OUSD uses Chainlink [oracles](../../core-concepts/price-oracles.md) to secure the protocol from pricing attacks. You can [read more about our decision to work with Chainlink](https://blog.originprotocol.com/how-origin-uses-chainlink-oracles-to-secure-ousd-bff5601e840e) on the Origin blog. diff --git a/el/smart-contracts/api/ousd.md b/el/smart-contracts/api/ousd.md new file mode 100644 index 000000000..8d6981144 --- /dev/null +++ b/el/smart-contracts/api/ousd.md @@ -0,0 +1,8 @@ +# OUSD + +{% hint style="info" %} +Documentation coming soon. +{% endhint %} + + + diff --git a/el/smart-contracts/api/strategies.md b/el/smart-contracts/api/strategies.md new file mode 100644 index 000000000..a275b76e6 --- /dev/null +++ b/el/smart-contracts/api/strategies.md @@ -0,0 +1,14 @@ +# Strategies + +{% hint style="info" %} +Documentation coming soon. +{% endhint %} + +New strategies can be added or removed at any time to respond to new market realities and diversify risk. + +Once we migrate to decentralized governance, it is our intent for the community to propose new strategies and to vote on the appropriate weight for each strategy in the pool. We anticipate that most OUSD holders will value having some exposure to higher yield opportunities while maintaining more conservative positions for a portion of the funds. + + + + + diff --git a/el/smart-contracts/api/timelock-1.md b/el/smart-contracts/api/timelock-1.md new file mode 100644 index 000000000..88954aca7 --- /dev/null +++ b/el/smart-contracts/api/timelock-1.md @@ -0,0 +1,22 @@ +# Timelock + +{% hint style="danger" %} +The timelock will be added soon after everything is verified as working. Until then, the contracts will be governed by Origin's 5 of 8 multi-sig. This allows for a faster response if any critical issues are discovered. +{% endhint %} + +The timelock contract enforces a 48 hour wait period before any changes to the OUSD contracts can be executed. The timelock can be called by our multi-sig and is the owner of our [ERC-20](../architecture.md), [Vault](vault.md), and [Strategies](strategies.md) contracts. Time-delaying admin actions gives users a chance to exit OUSD if its admins become malicious, are compromised, or make a change that the users do not like. + +{% hint style="info" %} +The timelock is a safety measure that gives OUSD holders 48 hours to withdraw their funds if they have objections to any proposed upgrades to the protocol. +{% endhint %} + +OUSD is using a slightly modified version of the [Compound Timelock](https://compound.finance/docs/governance) which has been [audited by OpenZeppelin](https://blog.openzeppelin.com/compound-finance-patch-audit/). The 3 notable differences are: + +1. OUSD will initially use a shorter wait period \(48 hours\) than Compound \(72 hours\) to allow for a faster response if any issues are discovered. +2. Once the 48 hours have passed, anyone is free to execute the call, not just the owner of the contract. +3. Deposits \(but not withdrawals or transfers\) can be immediately frozen without requiring the 48 waiting period. This is in case a major vulnerability is discovered. + + + + + diff --git a/el/smart-contracts/api/timelock.md b/el/smart-contracts/api/timelock.md new file mode 100644 index 000000000..2273ddad7 --- /dev/null +++ b/el/smart-contracts/api/timelock.md @@ -0,0 +1,15 @@ +# Timelock + +The timelock contract enforces a 48 hour wait period before any changes to the OUSD contracts can be executed. The timelock can be called by our multi-sig and is the owner of our [ERC-20](../architecture.md), [Vault](vault.md), and [Strategies](strategies.md) contracts. Time-delaying admin actions gives users a chance to exit OUSD if its admins become malicious, are compromised, or make a change that the users do not like. + +{% hint style="info" %} +The timelock is a safety measure that gives OUSD holders 48 hours to withdraw their funds if they have objections to any proposed upgrades to the protocol. +{% endhint %} + +OUSD is using a slightly modified version of the [Compound Timelock](https://compound.finance/docs/governance) which has been [audited by OpenZeppelin](https://blog.openzeppelin.com/compound-finance-patch-audit/). The two notable differences are: + +1. OUSD will initially use a shorter wait period (48 hours) than Compound (72 hours) to allow for a faster response if any issues are discovered. +2. Some actions, such as reallocating funds between existing strategies and freezing deposits can be called immediately by a multisig wallet without requiring the 48 waiting period. This is in case a major vulnerability is discovered. + + + diff --git a/el/smart-contracts/api/vault.md b/el/smart-contracts/api/vault.md new file mode 100644 index 000000000..13a7a8601 --- /dev/null +++ b/el/smart-contracts/api/vault.md @@ -0,0 +1,184 @@ +--- +description: >- + The vault is the main contract of the protocol. The vault is responsible for minting/redeeming OUSD tokens, rebalancing funds between the various supported strategies, and liquidating rewards tokens. +--- + +# Vault + +## Units + +All OUSD amounts passed or returned by the Vault methods use 18 decimal places. For example, 1 OUSD is expressed as 1000000000000000000. + +For other stable coins, the number of decimal places varies. DAI uses 18 decimal places while USDC and USDT use only 6. + +The protocol was updated in November are [currently underway](https://github.com/OriginProtocol/origin-dollar/issues/590) to increase the resolution of rebasing calculations from 18 decimals to 27 decimals. The OUSD token itself will still retain 18 decimals of precision and user balances should not change. + +## Methods‌ + +### mint() + +**`function mint(address _asset, uint256 _amount, uint256 _minimumOusdAmount)`**‌ + +Mints OUSD in exchange for a deposit of a certain `_amount` of stablecoin specified by the `_asset` parameter. The caller receives a certain amount of OUSD depending on the **exchange rate**. + +| Parameter Name | Type | Description | +| --------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | +| \_asset | address | Address of the [supported](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/core-concepts/supported-assets) stablecoin | +| \_amount | uint256 | Amount deposited, expressed in decimal units | +| \_minimumOusdAmount | uint256 | Minimum amount of OUSD the caller is willing to receive. The call to mint() reverts if the minimum is not met. | + +### mintMultiple() + +**`function mintMultiple(address[] _assets, uint256[] _amounts, uint256 _minimumOusdAmount)`**‌ + +Mints OUSD in exchange for a deposit of multiple stablecoins in a single call. Stablecoins are specified by the `_assets` array parameter and the amounts by the `_amounts` array parameter. The caller receives a certain amount of OUSD depending on the **exchange rate**. + +| Parameter Name | Type | Description | +| --------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| \_assets | address\[] | Addresses of the [supported](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/core-concepts/supported-assets) stablecoins | +| \_amounts | uint256\[] | Amounts deposited, expressed in decimal units | +| \_minimumOusdAmount | uint256 | Minimum amount of OUSD the caller is willing to receive. The call to mint() reverts if the minimum is not met. | + +{% hint style="warning" %} +On redemptions, it is the protocol and not the user that decides which stablecoin(s) are returned to the user. This decision of which coin(s) to return is based on the internal ratios of the assets that are being held in the vault.‌ +{% endhint %} + +### redeem() + +**`function redeem(uint256 _amount)`**‌ + +OUSD specified by the `_amount` parameter is redeemed in exchange for one or multiple supported stablecoins. Amount of stablecoins received depends on the **exchange rate**. + +| Parameter Name | Type | Description | +| -------------- | ------- | ----------------------------------------- | +| \_amount | uint256 | amount of OUSD expressed in decimal units | + +### redeemAll()‌ + +**`function redeemAll()`**‌ + +All OUSD in user's possession is redeemed in exchange for one or multiple supported stablecoins. Amount of stablecoins received depends on the **exchange rate**. + +### rebase() + +**`function rebase()`**‌ + +Updates the balances for all users based on the value of the assets currently stored in the vault. Returns total value of the underlying assets and strategies represented by `uint256` type.‌ + +### allocate() + +**`function allocate()`**‌ + +Moves the assets under management into their prescribed [Stategies](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/architecture/strategies) to maximize yield and diversify risk.‌ + +### totalValue() + +**`function totalValue()`**‌ + +Returns total value of underlying assets and strategies. + +| `return` name | Type | Description | +| ------------- | ------- | ------------------------------------------------ | +| value | uint256 | total value of underlying assets and strategies. | + +### checkBalance() + +**`function checkBalance(address _asset)`**‌ + +Returns the balance of an asset specified by the`_asset` parameter held in Vault and all strategies represented by `uint256` type. + +| Parameter Name | Type | Description | +| -------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | +| \_asset | address | Address of the [supported](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/core-concepts/supported-assets) stablecoin | + +### calculateRedeemOutputs() + +**`function calculateRedeemOutputs(uint256 _amount)`**‌ + +Calculate the mix of stablecoins that a `redeem` function would return when redeeming certain amount of OUSD specified by the `_amount` parameter. Returns an array of stablecoin values. + +To attribute the stablecoin values to the correct stablecoin currency this call should be used in conjunction with `getAllAssets` function that returns an array of stablecoin addresses. + +The index of an array that is returned by the `calculateRedeemOutputs` corresponds to the stablecoin address with the same index in an array returned by the `getAllAssets` function. + +| Parameter Name | Type | Description | +| -------------- | ------- | ----------------------------------------- | +| \_amount | uint256 | amount of OUSD expressed in decimal units | + +| `return` name | Type | Description | +| ------------- | ----------- | --------------------------------------------------------------------------- | +| outputs | uint256\[] | array of the amount of the stablecoin assets `redeem` function would return | + +### getAssetCount() + +**`function getAssetCount()`**‌ + +Return the number of supported stablecoin assets represented by `uint256` type.‌ + +### getAllAssets() + +**`function getAllAssets()`**‌ + +Return all assets addresses of supported stablecoin assets in order represented by `uint256` type.‌ + +### getStrategyCount()‌ + +**`function getStrategyCount()`**‌ + +Return the number of strategies active on the Vault represented by `uint256` type.‌ + +### getAPR() + +**`function getAPR()`**‌ + +Return the total annual percentage yield (APR) of the Vault and all Strategies represented by `uint256` type. Resulting number has 18 decimal places.‌ + +### isSupportedAsset() + +**`function isSupportedAsset(address _asset)`**‌ + +Return the boolean that is true if the asset specified by the `_asset` parameter is supported by the Vault. + +| Parameter Name | Type | Description | +| -------------- | ------- | ------------------------- | +| \_asset | address | Address of the stablecoin | + +### priceUSDMint() + +**`function priceUSDMint(string symbol)`**‌‌ + +Returns the exchange rate price of a stable coin specified by the `symbol` parameters used when minting OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Parameter Name | Type | Description | +| -------------- | ------ | ------------------------ | +| symbol | string | Symbol of the stablecoin | + +### priceUSDRedeem() + +**`function priceUSDRedeem(string symbol)`**‌‌ + +Returns the exchange rate price of a stable coin specified by the `symbol` parameters used when redeeming OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Parameter Name | Type | Description | +| -------------- | ------ | ------------------------ | +| symbol | string | Symbol of the stablecoin | + +### priceAssetUSDMint()‌ + +**`function priceAssetUSDMint(address _asset)`**‌‌ + +Returns the exchange rate price of a stable coin specified by the `_asset` parameters used when minting OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Parameter Name | Type | Description | +| -------------- | ------- | -------------------------- | +| \_asset | address | Address of the stablecoin‌ | + +### priceAssetUSDRedeem()‌ + +**`function priceAssetUSDRedeem(address _asset)`**‌‌‌ + +Returns the exchange rate price of a stable coin specified by the `_asset` parameters used when redeeming OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Parameter Name | Type | Description | +| -------------- | ------- | ------------------------- | +| \_asset | address | Address of the stablecoin | diff --git a/el/smart-contracts/architecture.md b/el/smart-contracts/architecture.md new file mode 100644 index 000000000..f53eacf24 --- /dev/null +++ b/el/smart-contracts/architecture.md @@ -0,0 +1,18 @@ +# Architecture + +![](../.gitbook/assets/ousd\_docs\_graphics\_3.png) + +OUSD is made up of a series of smart contracts. Each of these contracts is wrapped in a proxy contract that can be upgraded via the governance protocols. + +Internally, ownership in the vault is tracked using a credits system that represents the percent ownership of the vault for each holder. The [ERC-20](api/erc-20-1.md) contract handles the conversion to USD terms when viewing a balance or initiating a transfer between wallets. + +The [Vault](api/vault.md) is responsible for minting and burning OUSD. It also enforces the percentage of assets that are deployed to each of the supported [Strategies](../core-concepts/supported-strategies/). To optimize gas costs, the vault may maintain a buffer to allow most deposits and redemptions to occur without winding/unwinding assets from strategies. + +The Flipper is a smart contract for users to swap in and out of OUSD cheaply for any of DAI, USDC, or USDT at a fixed 1:1 rate. This contract is used as an alternative way to route user transactions originating from the web app. It's important to note that this contract may be empty on one side (e.g., contain 0 OUSD balance), and thus sometimes provides limited swap routes. While limited in functionality, Flipper uses around 45% less gas than Uniswap v3 due to its simplicity. + +The Harvester contract collects reward tokens earned by the strategies, sells them, and sends the resulting stablecoins to the Dripper to be released to the vault. Anyone can call the harvest and earn 1% of the resulting USDT for doing so. This creates a self-incentivizing system that operates at a known fixed cost. See our [incentivized-harvesting-guide.md](../guides/incentivized-harvesting-guide.md "mention") for details. + +The Dripper contract buffers aproximately one week of reward token sales proceeds and makes it avaiable at a smooth rate to the vault. This keeps OUSD yield from being extremely spiky when harvests come in. The rate is recalculated at least once per day and is the rate that it would take to distribute the current dripper holdings out over a one week period. + + + diff --git a/el/smart-contracts/erc-20.md b/el/smart-contracts/erc-20.md new file mode 100644 index 000000000..c3a21d407 --- /dev/null +++ b/el/smart-contracts/erc-20.md @@ -0,0 +1,12 @@ +# Architecture + +![](../.gitbook/assets/ousd_docs_graphics_3.png) + +OUSD is made up of a series of smart contracts. Each of these contracts is wrapped in a proxy contract that can be upgraded via the governance protocols. + +Internally, ownership in the pool is tracked using a credits system that represents the percent ownership of the pool for each holder. The [ERC-20](api/erc-20-1.md) contract handles the conversion to USD terms when viewing a balance or initiating a transfer between wallets. + +The [Vault](api/vault.md) is responsible for minting and burning OUSD. It also enforces the percentage of assets that are deployed to each of the supported [Strategies](../core-concepts/supported-strategies/). To optimize gas costs, the vault maintains a buffer to allow most deposits and redemptions to occur without winding/unwinding assets from strategies. + + + diff --git a/el/smart-contracts/registry.md b/el/smart-contracts/registry.md new file mode 100644 index 000000000..f2d45b7dd --- /dev/null +++ b/el/smart-contracts/registry.md @@ -0,0 +1,156 @@ +# Registry + +Here is the full registry of OUSD smart contracts that have been deployed to the Ethereum mainnet. + +{% hint style="success" %} +The main ERC20 address for Origin Dollar (OUSD) is: \ +**0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +{% tabs %} +{% tab title="Core" %} +Well-known addresses (proxy wrappers): + + + +| Contract | Address | ENS | +| -------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------- | +| OUSD | [0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86](https://etherscan.io/address/0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86) |

ousd.eth

origindollar.eth

| +| Vault | [0xE75D77B1865Ae93c7eaa3040B038D7aA7BC02F70](https://etherscan.io/address/0xe75d77b1865ae93c7eaa3040b038d7aa7bc02f70) | [originvault.eth](https://etherscan.io/address/originvault.eth) | + + + +Internal implementation contracts. The Vault is split into VaultAdmin and VaultCore to work around the maximum contract size limit on Ethereum: + + + +| Contract | Address | +| ---------- | --------------------------------------------------------------------------------------------------------------------- | +| OUSD | [0x33db8d52d65F75E4cdDA1b02463760c9561A2aa1](https://etherscan.io/address/0x33db8d52d65F75E4cdDA1b02463760c9561A2aa1) | +| VaultAdmin | [0x3EB68D8f4992A0e34aA58cc3dF86A40814078cF6](https://etherscan.io/address/0x3EB68D8f4992A0e34aA58cc3dF86A40814078cF6) | +| VaultCore | [0x226de75867B2f785BA19600e2a7e6eFccD57157B](https://etherscan.io/address/0x226de75867B2f785BA19600e2a7e6eFccD57157B) | +{% endtab %} + +{% tab title="Strategies" %} +Well-known addresses (proxy wrappers): + + + +| Strategy | Address | Auto-Allocation | +| -------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------- | +| Aave | [0x5e3646A1Db86993f73E6b74A57D8640B69F7e259](https://etherscan.io/address/0x5e3646A1Db86993f73E6b74A57D8640B69F7e259) | Manual allocation | +| Compound | [0x9c459eeb3FA179a40329b81C1635525e9A0Ef094](https://etherscan.io/address/0x9c459eeb3FA179a40329b81C1635525e9A0Ef094) | 100% of USDC, USDT and DAI | +| Convex | [0xEA2Ef2e2E5A749D4A66b41Db9aD85a38Aa264cb3](https://etherscan.io/address/0xEA2Ef2e2E5A749D4A66b41Db9aD85a38Aa264cb3#code) | Manual allocation | + + + +Internal implementation contracts: + + + +| Strategy | Address | +| -------- | -------------------------------------------------------------------------------------------------------------------------- | +| Aave | [0xA050eBE34Be464902F7E0F7F451f4B5253d57114](https://etherscan.io/address/0xA050eBE34Be464902F7E0F7F451f4B5253d57114) | +| Compound | [0x47f3eb71b5507df5ab6ac7f8660ef282ab0e560f](https://etherscan.io/address/0x47f3eb71b5507dF5Ab6aC7F8660Ef282Ab0E560f) | +| Convex | [0x08f3a0637851aA1B0E0750aA3d46E0E356f349aC](https://etherscan.io/address/0x08f3a0637851aa1b0e0750aa3d46e0e356f349ac#code) | + + + +Yield harvesting and collection: + + + +| | | +| --------- | -------------------------------------------------------------------------------------------------------------------------- | +| Contract | Address | +| Harvester | [0x21fb5812d70b3396880d30e90d9e5c1202266c89](https://etherscan.io/address/0x21fb5812d70b3396880d30e90d9e5c1202266c89#code) | +| Dripper | [0x80c898ae5e56f888365e235ceb8cea3eb726cb58](https://etherscan.io/address/0x80c898ae5e56f888365e235ceb8cea3eb726cb58#code) | +{% endtab %} + +{% tab title="Oracles" %} +The following Chainlink oracles are used to protect the vault in case a backing stablecoin loses value. They also offer slippage protection when harvesting rewards tokens or executing the OGN buyback. + + + +| Pair | Contract | +| ------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| [USDT/USD](https://data.chain.link/ethereum/mainnet/stablecoins/usdt-usd) | [0x3E7d1eAB13ad0104d2750B8863b489D65364e32D](https://etherscan.io/address/0x3E7d1eAB13ad0104d2750B8863b489D65364e32D) | +| [USDC/USD](https://data.chain.link/ethereum/mainnet/stablecoins/usdc-usd) | [0x8fFfFfd4AfB6115b954Bd326cbe7B4BA576818f6](https://etherscan.io/address/0x8fFfFfd4AfB6115b954Bd326cbe7B4BA576818f6) | +| [DAI/USD](https://data.chain.link/ethereum/mainnet/stablecoins/dai-usd) | [0xAed0c38402a5d19df6E4c03F4E2DceD6e29c1ee9](https://etherscan.io/address/0xAed0c38402a5d19df6E4c03F4E2DceD6e29c1ee9) | +| [COMP/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/comp-usd) | [0xdbd020caef83efd542f4de03e3cf0c28a4428bd5](https://etherscan.io/address/0xdbd020caef83efd542f4de03e3cf0c28a4428bd5) | +| [AAVE/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/aave-usd) | [0x547a514d5e3769680Ce22B2361c10Ea13619e8a9](https://etherscan.io/address/0x547a514d5e3769680Ce22B2361c10Ea13619e8a9) | +| [CRV/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/crv-usd) | [0xcd627aa160a6fa45eb793d19ef54f5062f20f33f](https://etherscan.io/address/0xcd627aa160a6fa45eb793d19ef54f5062f20f33f) | +| [CVX/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/cvx-usd) | [0xd962fC30A72A84cE50161031391756Bf2876Af5D](https://etherscan.io/address/0xd962fC30A72A84cE50161031391756Bf2876Af5D) | +| [OGN/ETH](https://data.chain.link/ethereum/mainnet/crypto-eth/ogn-eth) | [0x2c881b6f3f6b5ff6c975813f87a4dad0b241c15b](https://etherscan.io/address/0x2c881b6f3f6b5ff6c975813f87a4dad0b241c15b) | +{% endtab %} + +{% tab title="Governance" %} + + +| Contract | Address | ENS | +| ------------------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------- | +| 5 of 8 Multisig | [0xbe2AB3d3d8F6a32b96414ebbd865dBD276d3d899](https://etherscan.io/address/0xbe2AB3d3d8F6a32b96414ebbd865dBD276d3d899) | [originprotocol.eth](https://etherscan.io/address/originprotocol.eth) | +| 2 of 9 Multisig | [0xF14BBdf064E3F67f51cd9BD646aE3716aD938FDC](https://etherscan.io/address/0xF14BBdf064E3F67f51cd9BD646aE3716aD938FDC) | [originstrategist.eth](https://etherscan.io/address/originstrategist.eth) | +| Governor / Timelock | [0x72426BA137DEC62657306b12B1E869d43FeC6eC7](https://etherscan.io/address/0x72426BA137DEC62657306b12B1E869d43FeC6eC7) |

origingovernor.eth

origintimelock.eth

| +| OGN Buyback | [0x77314EB392b2be47C014cde0706908b3307Ad6a9](https://etherscan.io/address/0x77314EB392b2be47C014cde0706908b3307Ad6a9) | [originbuyback.eth](https://etherscan.io/address/originbuyback.eth) | +{% endtab %} + +{% tab title="Stablecoins" %} +| Contract | Address | +| ------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| [USDT](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | [0xdac17f958d2ee523a2206206994597c13d831ec7](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | +| [USDC](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | [0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | +| [DAI](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | [0x6b175474e89094c44da98b954eedeac495271d0f](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | +{% endtab %} + +{% tab title="Staking" %} +| Contract | Address | ENS | +| ----------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- | +| OGN Staking | [0x501804B374EF06fa9C427476147ac09F1551B9A0](https://etherscan.io/address/0x501804B374EF06fa9C427476147ac09F1551B9A0) | [originstaking.eth](https://etherscan.io/address/originstaking.eth) | + + + +Internal implementation contracts: + + + +| Contract | Address | +| ----------- | --------------------------------------------------------------------------------------------------------------------- | +| OGN Staking | [0x8cd68a1e0b79150455c5498882d5d5d3df2dde08](https://etherscan.io/address/0x8cd68a1e0b79150455c5498882d5d5d3df2dde08) | + + + +OUSD compensation contract ([details](https://medium.com/originprotocol/origin-delivers-on-compensation-promise-claim-your-ousd-and-ogn-now-a9fa9b840476)): + + + +| Contract | Address | +| ----------------- | --------------------------------------------------------------------------------------------------------------------- | +| OUSD Compensation | [0x9C94df9d594BA1eb94430C006c269C314B1A8281](https://etherscan.io/address/0x9C94df9d594BA1eb94430C006c269C314B1A8281) | +{% endtab %} + +{% tab title="Flipper" %} +Flipper is a gas-optimized way for users to swap in and out of OUSD at a fixed 1:1 rate with other stablecoins. This contract may become empty on one side (e.g., contain 0 OUSD balance), and thus sometimes provides limited swap routes. + + + +| Contract | Address | ENS | +| -------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- | +| Flipper | [0xcecaD69d7D4Ed6D52eFcFA028aF8732F27e08F70](https://etherscan.io/address/0xcecaD69d7D4Ed6D52eFcFA028aF8732F27e08F70) | [originflipper.eth](https://etherscan.io/address/originflipper.eth) | +{% endtab %} + +{% tab title="Wrapped" %} +Wrapped OUSD\ +\ **Well known proxy address:** - [0xD2af830E8CBdFed6CC11Bab697bB25496ed6FA62](https://etherscan.io/address/0xD2af830E8CBdFed6CC11Bab697bB25496ed6FA62) + +Internal implementation address - [0xbf3b9b141cb3629f5bb8f721cba9265c92494539](https://etherscan.io/address/0xbf3b9b141cb3629f5bb8f721cba9265c92494539) +{% endtab %} +{% endtabs %} + + + + + + + + diff --git a/es/README.md b/es/README.md new file mode 100644 index 000000000..fa78acff8 --- /dev/null +++ b/es/README.md @@ -0,0 +1,29 @@ +--- +description: La primera moneda estable que obtiene un rendimiento mientras está en su billetera +--- + +# Introducción + +## **Una mejor forma de dinero** + +Origin Dollar (OUSD) es una nueva moneda estable que se lanzó inicialmente en septiembre de 2020 en la red Ethereum. Su diseño es superior a las monedas estables existentes porque OUSD captura rendimientos competitivos mientras se mantiene pasivamente en billeteras. + +![](.gitbook/assets/origin-dollar-summary.jpeg) + +**Antecedentes** + +En 1999, Yu Pan, ingeniero de Origin, y sus compañeros cofundadores de PayPal [concibieron](https://www.cnbc.com/2017/08/14/david-sacks-cryptocurrency-interview.html) crear “la nueva moneda mundial”, con estrategias que dan intereses y tarjetas de débito sin tener que conectarse a los sistemas bancarios tradicionales. Varios pivotes y una adquisición de eBay más tarde, PayPal abandonó sus ambiciones en esta área. + +Casi dos décadas después, Tether introdujo el concepto de moneda estable denominada en USD en 2014. Desde entonces, las monedas estables han demostrado ser una forma ideal de transferir valor sin exponer a los usuarios a la volatilidad de los precios de las monedas flotantes. Hoy en día, más valor es [transferido a través de Tether](https://www.bloomberg.com/news/articles/2019-10-01/tether-not-bitcoin-likely-the-world-s-most-used-cryptocurrency) que con Bitcoin. Mientras tanto, las finanzas descentralizadas (DeFi) han experimentado una explosión de crecimiento con [miles de millones de dolares](https://defipulse.com) de capital ahora bloqueados en contratos inteligentes que generan rendimientos a partir de protocolos de préstamos y negociación. + +Uno de los problemas con las monedas estables existentes es que los usuarios tienen que elegir constantemente entre tener una moneda fácilmente gastable y obtener rendimientos bloqueando sus tokens en contratos inteligentes. Por ejemplo, los usuarios que bloquean USDC en Aave no pueden gastar una parte de ese USDC simultáneamente. Las costosas tarifas de gas de Ethereum sirven como "costos de cambio" cada vez que los usuarios desean cambiar entre el modo de gasto y el modo de ganancia. + +Para empeorar las cosas, los rendimientos de las actividades crediticias y comerciales cambian rápidamente. Los que obtienen un rendimiento sofisticado de DeFi están familiarizados con tener que reequilibrar constantemente su cartera de activos en muchas plataformas de la competencia. Esto requiere mucho tiempo y es costoso, ya que las tarifas del gas una vez más afectan los rendimientos. Además, se requiere mucho tiempo para calcular el ROI real, ya que los APY son inestables y fluctúan constantemente. No hay una unidad de cuenta fácil. Como resultado, si bien DeFi está creciendo extremadamente rápido, todavía dificulta la participación de muchos usuarios de criptomonedas. + +Con OUSD, no hay necesidad de deshacer posiciones complicadas cuando quiere gastar sus OUSD. Puede transferirlo libremente sin tener que pagar GAS para desbloquear capital gastable. Además, OUSD le brinda acceso a algunas de las oportunidades de mayores ganancias en DeFi sin ninguna molestia. El contrato inteligente de OUSD desplegará su capital subyacente en un conjunto diversificado de estrategias de generación de rendimiento, reequilibrándose con el tiempo para lograr grandes rendimientos y diversificar el riesgo. Las ganancias se acumulan automáticamente en su billetera y se componen continuamente mientras mantiene OUSD. Nuevamente, no se requiere hacer staking ni bloqueos. OUSD también sirve como una unidad de cuenta ideal. Los inversores de DeFi ya no necesitan hojas de cálculo complicadas para calcular sus ganancias, ya que pueden ver fácilmente su saldo de OUSD actualizado constantemente en tiempo real a medida que sus intereses se acumulan automáticamente. OUSD es una moneda estable ideal tanto para los cultivadores de rendimiento de DeFi como para los usuarios novatos de criptomonedas. + +Creado por veteranos de criptomonedas y fintech, el Origin Dollar es presentado por el equipo [](https://www.originprotocol.com/team) en [Origin Protocol](https://www.originprotocol.com) que incluye emprendedores en serie, primeros inversores en criptomonedas, primeros empleados en YouTube, gerentes de ingeniería en Google / Dropbox y uno de los cofundadores de PayPal, Yu Pan. + +Para aquellos interesados en profundizar en los detalles técnicos de cómo funciona, estos documentos son un excelente lugar para comenzar. Alentamos a los desarrolladores a auditar y contribuir a nuestro [Github](http://www.github.com/OriginProtocol) (100% de código abierto). Nuestro equipo participa en [Discord](https://www.originprotocol.com/discord) si tiene preguntas o necesita ayuda para comenzar. + +Bienvenidos al futuro del dinero. diff --git a/es/SUMMARY.md b/es/SUMMARY.md new file mode 100644 index 000000000..3fb8231b6 --- /dev/null +++ b/es/SUMMARY.md @@ -0,0 +1,64 @@ +# Tabla de contenido + +* [Introducing OUSD](README.md) +* [Cómo funciona](how-it-works.md) +* [Empezando](getting-started.md) +* [Panel de análisis](analytics-dashboard.md) +* [Preguntas Frecuentes](faq.md) + +## Conceptos básicos + +* [Suministro elástico](core-concepts/elastic-supply/README.md) + * [Rebase & Contratos Inteligentes](core-concepts/elastic-supply/rebasing-and-smart-contracts.md) +* [Generación de rendimiento](core-concepts/yield-generation/README.md) + * [Préstamo](core-concepts/yield-generation/lending.md) + * [Creación de Mercado](core-concepts/yield-generation/market-making.md) + * [Recompensas](core-concepts/yield-generation/rewards.md) +* [Wrapped OUSD](core-concepts/wrapped-ousd.md) +* [Supported Stablecoins](core-concepts/supported-stablecoins/README.md) + * [USDT](core-concepts/supported-stablecoins/usdt.md) + * [USDC](core-concepts/supported-stablecoins/usdc.md) + * [DAI](core-concepts/supported-stablecoins/dai.md) +* [Supported Strategies](core-concepts/supported-strategies/README.md) + * [Compound](core-concepts/supported-strategies/compound.md) + * [Aave](core-concepts/supported-strategies/aave.md) + * [Curve](core-concepts/supported-strategies/curve.md) + * [Convex](core-concepts/supported-strategies/convex.md) +* [Fund Management](core-concepts/fund-management.md) +* [Price Oracles](core-concepts/price-oracles.md) + +## Gobernancia + +* [Principios](governance/principles.md) +* [Privilegios de Administrador](governance/admin-privileges.md) +* [Staking de OGN](governance/ogn-staking.md) +* [Contribuyendo](governance/contributing.md) +* [Vote Delegation](governance/vote-delegation.md) + +## Contratos Inteligentes + +* [Arquitectura](smart-contracts/architecture.md) +* [Registro](smart-contracts/registry.md) +* [API](smart-contracts/api/README.md) + * [Bóveda](smart-contracts/api/vault.md) + * [ERC-20](smart-contracts/api/erc-20-1.md) + * [Bloqueo de Tiempo](smart-contracts/api/timelock.md) + * [Strategies](smart-contracts/api/strategies.md) + +## Seguridad & Riesgos + +* [Riesgos](security-and-risks/risks.md) +* [Auditorias](security-and-risks/audits.md) +* [Seguro](security-and-risks/insurance.md) +* [Recompensas de Errores](security-and-risks/bug-bounties.md) + +## Guías + +* [Guía de Integración para Exchanges](guides/integration-guide-for-exchanges.md) +* [Incentivized Harvesting Guide](guides/incentivized-harvesting-guide.md) + +## Enlaces + +* [Github](https://www.github.com/originprotocol/origin-dollar) +* [Discord](https://www.originprotocol.com/discord) +* [originprotocol.com](https://www.originprotocol.com) diff --git a/es/analytics-dashboard.md b/es/analytics-dashboard.md new file mode 100644 index 000000000..6ae877afb --- /dev/null +++ b/es/analytics-dashboard.md @@ -0,0 +1,31 @@ +# Panel de Análisis + +{% hint style="info" %} +Visite [analytics.ousd.com](https://analytics.ousd.com) para ver cómo se asignan los fondos, ver los datos históricos de rendimiento y realizar un seguimiento de sus ganancias personales. +{% endhint %} + +El [Panel APY](https://analytics.ousd.com/apy) está destinado principalmente para el consumo de nuestro equipo de ingeniería, pero seguimos adelante y lo implementamos ya que nuestro espíritu es "público por defecto" y todo lo que hacemos es [de código abierto](http://github.com/OriginProtocol). Desafortunadamente, eso a menudo significa equivocarse por el lado de la transparencia y no necesariamente por tomarse el tiempo para explicar las cosas con claridad. + +Antes de sumergirse en el cálculo del rendimiento, es importante comprender cómo funciona OUSD tanto en términos de [generación de rendimiento](https://docs.ousd.com/core-concepts/yield-generation) como de [rebase](https://docs.ousd.com/core-concepts/elastic-supply). Puede leer todo sobre eso en estos [documentos](https://docs.ousd.com), incluyendo [sobre los contratos inteligentes que se excluyen del rendimiento](https://docs.ousd.com/core-concepts/elastic-supply/rebasing-and-smart-contracts). + +Para resumir cómo se calcula el APY, es la tasa de cambio anualizada en la contabilidad interna de OUSD de los saldos de los usuarios entre dos puntos en el tiempo. Para entender eso, analicemos las columnas de la tabla APY histórica (en orden inverso). + +**Proporción** + +Hay dos tipos de saldos de OUSD: rebasing (la mayoría de las cuentas) y no rebasing (contratos inteligentes que no han optado por participar). El contrato del token OUSD mantiene una contabilidad interna separada para cada tipo de saldo usando lo que llama "créditos". La relación que se muestra aquí es la oferta de rebase de OUSD dividida por los créditos de rebase, lo que nos da el tipo de cambio entre los dos. + +**Créditos** + +Algunos contratos inteligentes que tienen OUSD tienen saldos de crédito únicos porque su estado de rebase ha cambiado en algún momento en el pasado (al optar por participar o no). Aquí mostramos la suma de todos los créditos de rebase y créditos sin rebase. Cuando se multiplica por la relación, da la diferencia entre la oferta de respaldo y la oferta sin rebase. + +**Sin rebase** + +Esta es la parte del suministro que se encuentra en otros contratos inteligentes que no han optado por el rebase. Cuando se suma a (proporción de créditos \*), esto equivale al suministro de respaldo. Tenga en cuenta también que el **%** muestra el porcentaje de OUSD que no es realiza rebase. + +**Aumentar** + +El APY se "aumenta" efectivamente para las cuentas de rebase gracias al hecho de que algunos OUSD no realizan rebase. Piense en todas las monedas estables que se utilizaron como garantía para acuñar OUSD sin rebase. Esas monedas estables siguen obteniendo ganancias a través de nuestras estrategias de farming de rendimiento, pero las ganancias se acumulan solo en las cuentas de rebase. El resultado es que el APY efectivo es más alto de lo que sería sin este mecanismo. El aumento es la medida de esta diferencia. Si el aumento es del 100%, los titulares regulares de OUSD disfrutan del doble de APY que de otra manera. + +**Cálculo APR/APY** + +Bringing this full circle, we currently measure yield by measuring the change in the [rebasing credits per token](https://github.com/OriginProtocol/origin-dollar/blob/master/contracts/contracts/token/OUSD.sol#L45) between two points in time. Pero hay algunas otras consideraciones a tener en cuenta. Primero, debemos suponer cuántos bloques de Ethereum se minan en un día promedio. Usamos un [fijo de 6.500](https://github.com/OriginProtocol/ousd-analytics/blob/master/eagleproject/core/views.py#L43), pero el número real de bloques por día es variable. En segundo lugar, necesitamos un horizonte temporal razonable para medir. We focus on 30 days, which has proven to be a relatively consistent window of time during which a complete sample of yield-generating activities has occurred. En tercer lugar, convertimos el APR en APY asumiendo una [composición diaria constante](https://github.com/OriginProtocol/ousd-analytics/blob/master/eagleproject/core/views.py#L449-L451). En otras palabras, el rendimiento se reinvierte constantemente en las mismas estrategias. Por último, hay un inconveniente notable en el uso de la relación de rebase para medir el rendimiento. Dado que los eventos de rebase actualmente ocurren esporádicamente (y no con mucha frecuencia en un mundo de altos precios de gas), el APY no reflejará las ganancias que aún no se hayan traducido a saldos de cuenta. Por ejemplo, podría haber un aumento en la tasa de interés en Compound o un aumento en el volumen en la estrategia Curve 3pool, lo que haría que OUSD ganara más de lo que gana en un día promedio. Hasta que [el método de rebase](https://github.com/OriginProtocol/origin-dollar/blob/master/contracts/contracts/vault/VaultCore.sol#L365-L370) es llamado, el APY subreporta estas ganancias. De hecho, cualquiera que venda OUSD durante ese tiempo se estaría perdiendo el "[siguiente rebase](https://analytics.ousd.com)". La buena noticia es que debería poder observar el cambio en su saldo durante una semana y (anualizado) debería ser aproximadamente igual a nuestro APY anunciado. diff --git a/es/architecture/erc-20-1.md b/es/architecture/erc-20-1.md new file mode 100644 index 000000000..6868fc310 --- /dev/null +++ b/es/architecture/erc-20-1.md @@ -0,0 +1,19 @@ +# ERC-20 + +{% hint style="success" %} +La dirección ERC20 principal para Origin Dollar \ (OUSD \) es: +**0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +OUSD es un token compatible con ERC-20 con una propiedad novedosa que es importante comprender. + +{% hint style="warning" %} +Las carteras y plataformas de intercambio que deseen integrar OUSD no deben almacenar en caché los saldos de tokens para OUSD, ya que este valor cambiará con frecuencia a medida que se acumule el rendimiento para los holders de tokens. +{% endhint %} + +La mayor diferencia que separa a OUSD de su token ERC-20 promedio es la forma en que la función`balanceOf ()` OUSD devolverá una cantidad variable basada en el valor total del pool multiplicado por la participación del holder en el grupo de liquidez. Esta diferencia es vital de entender, particularmente para carteras y plataformas de intercambio que desean integrar el token OUSD. Este valor debe obtenerse en tiempo real en lugar de almacenarse en caché, ya que OUSD rebasa con frecuencia. + + + + + diff --git a/es/architecture/erc-20.md b/es/architecture/erc-20.md new file mode 100644 index 000000000..fd07eaa84 --- /dev/null +++ b/es/architecture/erc-20.md @@ -0,0 +1,12 @@ +# Visión General + +![](../.gitbook/assets/ousd_docs_graphics_3.png) + +OUSD se compone de una serie de contratos inteligentes. Cada uno de estos contratos está envuelto en un contrato de poder que se puede actualizar a través de los protocolos de gobernancia. + +Internamente, la propiedad en el pool se rastrea mediante un sistema de créditos que representa el porcentaje de propiedad del grupo de liquidez para cada holder. El contrato ERC-20 maneja la conversión a términos en USD cuando se ve un saldo o se inicia una transferencia entre billeteras. + +La Bóveda es responsable de acuñar y quemar OUSD. También aplica el porcentaje de activos que se implementan en cada una de las [Estrategias](../core-concepts/supported-strategies/) admitidas. Para optimizar los costos de GAS, la bóveda mantiene un búfer para permitir que la mayoría de los depósitos y reembolsos ocurran sin liquidar / deshacer los activos de las estrategias. + + + diff --git a/es/architecture/strategies.md b/es/architecture/strategies.md new file mode 100644 index 000000000..b53635385 --- /dev/null +++ b/es/architecture/strategies.md @@ -0,0 +1,14 @@ +# Estrategias + +Se pueden agregar o eliminar nuevas estrategias en cualquier momento para responder a las nuevas realidades del mercado y diversificar el riesgo. + +En el lanzamiento, OUSD aprovechará una estrategia única y desplegará el capital depositado en Compound. Tenemos la intención de implementar muchas otras estrategias poco después. + +Una vez que migremos a la gobernanza descentralizada, nuestra intención es que la comunidad proponga nuevas estrategias y vote sobre el peso apropiado para cada estrategia en el grupo de liquidez. Anticipamos que la mayoría de los holders de OUSD valorarán tener cierta exposición a oportunidades de mayor rendimiento mientras mantienen posiciones más conservadoras para una parte de los fondos. + + + + + + + diff --git a/es/architecture/timelock.md b/es/architecture/timelock.md new file mode 100644 index 000000000..8e31ec9ab --- /dev/null +++ b/es/architecture/timelock.md @@ -0,0 +1,22 @@ +# Bloqueo de Tiempo + +{% hint style="danger" %} +El bloqueo de tiempo se agregará poco después de que se verifique que todo funciona. Hasta entonces, los contratos se regirán por el 5 de 8 multi-sig de Origin. Esto permite una respuesta más rápida si se descubre algún problema crítico. +{% endhint %} + +El contrato de bloqueo de tiempo impone un período de espera de 48 horas antes de que se pueda ejecutar cualquier cambio en los contratos de OUSD. El bloqueo de tiempo puede ser llamado por nuestro multi-sig y es el propietario de nuestros contratos [ERC-20](erc-20.md), [Bóveda](vault.md) y [Estrategias](strategies.md). Las acciones administrativas que retrasan el tiempo les dan a los usuarios la oportunidad de salir de OUSD si sus administradores se vuelven maliciosos, se ven comprometidos o hacen un cambio que a los usuarios no les gusta. + +{% hint style="info" %} +El bloqueo de tiempo es una medida de seguridad que les da a los holders de OUSD 48 horas para retirar sus fondos si tienen objeciones a las actualizaciones propuestas al protocolo. +{% endhint %} + +OUSD está utilizando una versión ligeramente modificada del [Tiempo de Bloqueo de Compound](https://compound.finance/docs/governance) que ha sido [auditado por OpenZeppelin](https://blog.openzeppelin.com/compound-finance-patch-audit/). Las 3 diferencias notables son: + +1. OUSD inicialmente utilizará un período de espera más corto \(48 horas\) que Compound \(72 horas\) para permitir una respuesta más rápida si se descubre algún problema. +2. Una vez transcurridas las 48 horas, cualquiera es libre de ejecutar la llamada, no sólo el dueño del contrato. +3. Los depósitos \(pero no los retiros\) se pueden congelar inmediatamente sin requerir el período de espera de 48. Esto es en caso de que se descubra una vulnerabilidad importante. + + + + + diff --git a/es/architecture/vault.md b/es/architecture/vault.md new file mode 100644 index 000000000..d3886bbec --- /dev/null +++ b/es/architecture/vault.md @@ -0,0 +1,17 @@ +# Bóveda + +La bóveda es el núcleo del protocolo. La bóveda es responsable de acuñar/canjear tokens OUSD, reequilibrar fondos entre las diversas estrategias compatibles y liquidar tokens de recompensa. + +Las funciones que se pueden llamar públicamente más importantes en la Bóveda son: + +* `Acuñar()`permite convertir una única moneda estable compatible a OUSD +* `Acuña-Multiple()`permite convertir múltiples monedas estables compatibles a OUSD en una sola llamada +* `Canjear()`permite canjear una cantidad específica de OUSD por otras monedas estables admitidas. +* `Canjear todo()`permite a un usuario canjear su saldo completo de OUSD por otras monedas estables compatibles. Esto es particularmente útil ya que los saldos de los usuarios aumentan constantemente a medida que se acumula el rendimiento. +* `Rebasar ()`actualiza los saldos de todos los usuarios en función del valor de los activos almacenados actualmente en el grupo de liquidez. +* `Asignar()`mueve los activos bajo administración a sus [estrategias](strategies.md) prescritas para maximizar el rendimiento y diversificar el riesgo. + +En los canjes, es el protocolo y no el usuario el que decide qué moneda estable \(s\) devolver al usuario. Esta decisión de qué moneda \(s\) devolver se basa en las relaciones internas de los activos que se mantienen en el grupo de liquidez. + + + diff --git a/es/core-concepts/elastic-supply.md b/es/core-concepts/elastic-supply.md new file mode 100644 index 000000000..25c6d65fd --- /dev/null +++ b/es/core-concepts/elastic-supply.md @@ -0,0 +1,18 @@ +# Suministro Elástico + +**Suministro Elástico. Precio estable.** + +OUSD funciona de manera diferente a la mayoría de los tokens. En lugar de que el precio aumente a medida que aumenta el valor de los activos bajo administración \ (como con los cTokens de Compound o los yTokens de Yearn \), el valor de un OUSD permanece constante en aproximadamente $1. En cambio, los contratos ajustan constantemente el suministro monetario y actualizan automáticamente el saldo en la billetera de cada holder de tokens para reflejar el rendimiento obtenido por el protocolo. + +{% hint style="info" %} +Piense en ello como intereses acumulados en su cuenta bancaria. La unidad de cuenta y el valor del dólar estadounidense no cambian. Simplemente obtiene más dólares estadounidenses a medida que gana intereses. +{% endhint %} + +![](../.gitbook/assets/ousd_docs_graphics_4.png) + +Este mecanismo se inspiró en el enfoque novedoso adoptado por [Ampleforth](https://www.ampleforth.org/), pero hay algunas diferencias clave que vale la pena destacar: + +1. OUSD está respaldado al 100% por otras monedas estables y no tendrá el mismo desafío de mantener la paridad con el dólar. Dada la facilidad de acuñar y canjear OUSD, podemos contar con arbitrajistas para garantizar que se mantenga la paridad. +2. OUSD rebasing should only increase supply since the amount of OUSD minted is tied to the realized gains earned by the underlying strategies. Your principal is protected as long as nothing goes wrong with the underlying lending/AMM and stablecoin protocols. Any decrease in your balance would be an indication of trouble in the system. +3. A diferencia de Ampleforth, que se reactiva una vez al día, la oferta monetaria de OUSD se actualiza constantemente en tiempo real a medida que se genera el rendimiento. + diff --git a/es/core-concepts/elastic-supply/README.md b/es/core-concepts/elastic-supply/README.md new file mode 100644 index 000000000..cdf3f3640 --- /dev/null +++ b/es/core-concepts/elastic-supply/README.md @@ -0,0 +1,21 @@ +# Suministro Elástico + +**Suministro Elástico. Precio estable.** + +OUSD funciona de manera diferente a la mayoría de los tokens. En lugar de que el precio aumente a medida que aumenta el valor de los activos bajo administración (como con Compound cTokens o Yearn yTokens), el valor de un OUSD permanece constante en aproximadamente $1. En cambio, los contratos ajustan constantemente el suministro monetario y actualizan automáticamente el saldo en la billetera de cada holder de tokens para reflejar el rendimiento que ha obtenido el protocolo. + +{% hint style="info" %} +Piense en ello como intereses acumulados en su cuenta bancaria. La unidad de cuenta y el valor del dólar estadounidense no cambian. Simplemente obtiene más dólares estadounidenses a medida que gana intereses. +{% endhint %} + +![](../../.gitbook/assets/ousd\_docs\_graphics\_4.png) + +Este mecanismo se inspiró en el enfoque novedoso adoptado por [Ampleforth](https://www.ampleforth.org), pero hay algunas diferencias clave que vale la pena destacar: + +1. OUSD está respaldado al 100% por otras monedas estables y no tiene el mismo desafío de mantener la paridad con el dólar. Dada la facilidad de acuñar y canjear OUSD, podemos contar con arbitrajistas para garantizar que se mantenga la paridad. +2. El rebasamiento de OUSD está fuertemente sesgado hacia el aumento de la oferta, ya que la cantidad de OUSD acuñada está vinculada a las ganancias obtenidas por las estrategias subyacentes. Su principal está protegido siempre que nada salga mal con los protocolos subyacentes de préstamos/AMM y moneda estable. Su saldo de OUSD nunca disminuirá, pero el valor podría disminuir si hay una falla en los sistemas subyacentes. +3. A diferencia de Ampleforth, que solo se realiza rebase una vez al día, la oferta monetaria de OUSD se actualiza constantemente en tiempo real a medida que se genera el rendimiento. Las nuevas bases se activan regularmente a medida que los usuarios interactúan con los contratos de OUSD. Chainlink Keepers se asegura de que se produzca al menos un rebase todos los días. + +**Activación manual de una rebase** + +Cualquiera puede activar una rebase en cualquier momento [llamando a la función de rebase en la bóveda](https://etherscan.io/address/originvault.eth#writeProxyContract). Puede hacer esto en Etherscan conectando una billetera web3. diff --git a/es/core-concepts/elastic-supply/rebasing-and-smart-contracts.md b/es/core-concepts/elastic-supply/rebasing-and-smart-contracts.md new file mode 100644 index 000000000..82ab7330e --- /dev/null +++ b/es/core-concepts/elastic-supply/rebasing-and-smart-contracts.md @@ -0,0 +1,22 @@ +# Rebase & Contratos Inteligentes + +Si está utilizando una billetera multi-sig u otro contrato inteligente que desea participar en el aspecto de rebase de OUSD, debe llamar a la función `rebaseOptIn()` de OUSD. Esto solo se aplica a los contratos inteligentes, ya que las billeteras EOA estándar se inscriben automáticamente. + +{% hint style="info" %} +Las billeteras multi-sig u otros contratos inteligentes deben llamar a `rebaseOptIn()` para obtener rendimiento. +{% endhint %} + +De forma predeterminada, el OUSD que se mantiene en contratos inteligentes no participará en la naturaleza de rebase del token y perderá cualquier rendimiento a menos que el contrato inteligente lo acepte explícitamente. Esto aumenta la capacidad de composición de OUSD dentro de DeFi, ya que muchos protocolos no se diseñaron con la expectativa de que los equilibrios pudieran cambiar. Para otros protocolos DeFi, OUSD funciona como cualquier otro ERC-20 normal y de buen comportamiento hasta que le pida que cambie. Este es un atributo particularmente útil para los creadores de mercado automatizados (AMM) como Uniswap, que se rompen cuando la cantidad de tokens que tienen cambia inesperadamente. + +![La aplicación Gnosis Safe de OUSD le pedirá que opte por ceder](../../.gitbook/assets/ousd-app-in-gnosis-safe.png) + +Los contratos inteligentes deben optar explícitamente por recibir rendimiento a través del mecanismo de reajuste. Esto soluciona el problema con la oferta en expansión de AMM y, al mismo tiempo, permite que las billeteras multi-sig y otros contratos inteligentes tengan la oportunidad de participar y obtener rendimiento. + +{% hint style="warning" %} +Si está implementando un contrato y tiene la intención de llamar a`rebaseOptIn()`para obtener rendimiento, no puede llamarlo desde el constructor del contrato. El contrato debe implementarse antes de que se pueda llamar. +{% endhint %} + +Los usuarios de [Gnosis Safe](https://gnosis-safe.io) son animados a utilizar la aplicación Origin Dollar, que le pedirá que opte por recibir el rendimiento. Si está utilizando la "Antigua" [Gnosis Wallet](https://github.com/gnosis/MultiSigWallet) u otra billetera basada en contrato, necesitará [la dirección de contrato para OUSD](../../smart-contracts/registry.md) y el correspondiente [ABI](https://api.etherscan.io/api?module=contract\&action=getabi\&address=0x1ae95dd4eeae7ed03da79856c2d44ffa3318f805). Una vez que los agregue, podrá llamar a la función `rebaseOptIn()` para optar por recibir rendimiento a través de rebase o`rebaseOptOut()` para apagarlo nuevamente. + + + diff --git a/es/core-concepts/fund-management.md b/es/core-concepts/fund-management.md new file mode 100644 index 000000000..2eee3284b --- /dev/null +++ b/es/core-concepts/fund-management.md @@ -0,0 +1,23 @@ +# Gestión de Fondos + +El contrato inteligente de OUSD agrega los depósitos de monedas estables de todos los usuarios en un solo pool de activos que luego se implementan en estrategias de ganancias basadas en asignaciones preestablecidas. A diferencia de las oportunidades de Yearn Vaults, TokenSets o Zapper, los usuarios no seleccionan estrategias individuales. Todas las monedas estables depositadas y, en consecuencia, todos los tokens OUSD son fungibles. + +Los holders de OGN deciden la ponderación de cómo se distribuyen los activos entre las estrategias admitidas mediante votación semanal. Estos votos ocurren offchain y no cuestan gas. Los resultados de la encuesta semanal serán ejecutados en cadena por miembros de [Estrategas multi-firma](https://etherscan.io/address/0xF14BBdf064E3F67f51cd9BD646aE3716aD938FDC) (conocidos como "Estrategas"). + +En última instancia, creemos que debería depender de la comunidad decidir cuál es el equilibrio correcto de riesgo/beneficio apropiado para OUSD. Alentamos a la comunidad a favorecer las estrategias de alto rendimiento y, al mismo tiempo, mantener la diversificación en múltiples estrategias para eliminar los puntos únicos de falla y minimizar el riesgo. + +**Cómo funciona la votación de asignación de estrategia:** + +* New snapshot proposals will open for voting on the [OGN governance portal ](http://vote.originprotocol.com)at midnight Tuesday UTC (7pm eastern Monday). La votación estará abierta durante 48 horas y finalizará a la medianoche del jueves UTC (Miércoles 7pm hora Este). +* Durante este tiempo, los interesados pueden discutir los cambios de asignación en un hilo en el canal #governance en el [Discord de Origin](https://www.originprotocol.com/discord). +* Each proposal will use "weighted voting", with options for each coin/strategy combination and an option to keep the existing allocation unchanged. OGN holders can spread their votes among different listed strategies or the existing allocation. +* After the voting time has ended, Strategists will submit, verify, and execute transactions to change OUSD to the determined allocation percentages for the week. If more than 50% of the weighted votes are cast for the existing allocation, Strategists will take no action. +* Allocations will be executed for strategies that use all stablecoins first (like Convex), then each stablecoin will be allocated to the remaining strategies according to the ratio of votes for that stablecoin / strategy combination. +* Si los Estrategas consideran que alguna de las asignaciones no es segura para los fondos detrás de OUSD, pueden optar por no ejecutarlas. Además, los Estrategas pueden negarse a realizar ajustes menores cuando los costos del gas sean mayores que los beneficios esperados. +* Like all governance proposals, Strategist allocations must meet the minimum quorum requirements (currently 1M OGN) to be considered valid. +* From a security standpoint, it is important to know that while Strategists have the ability to move funds between approved strategies or instantly pause rebasing in the case of an emergency, Strategists do not have the power to add new strategies or withdraw funds without going through the timelock. Community members can use the Strategy Validator tools to more easily [create](https://analytics.ousd.com/strategist/creator) and [decode](https://analytics.ousd.com/strategist) which actions are being performed by the Strategists. +* When voting, please remember it is inefficient to move in and out of the Convex strategy frequently and some funds need to always remain outside of Convex in order to accommodate withdrawals. + + + +**** diff --git a/es/core-concepts/fund-management/README.md b/es/core-concepts/fund-management/README.md new file mode 100644 index 000000000..a8f50b0b3 --- /dev/null +++ b/es/core-concepts/fund-management/README.md @@ -0,0 +1,6 @@ +# Gestión de fondos + +El contrato inteligente de OUSD agrega los depósitos de monedas estables de todos los usuarios en un solo grupo de activos invertibles. Luego, los fondos se asignan a través de una o más [estrategias de ingresos](earning-strategies.md) en cualquier momento dado. La Bóveda favorece las estrategias de alto rendimiento, pero también busca mantener la diversificación en múltiples estrategias. La diversificación elimina los puntos únicos de fallas y mitiga los riesgos. + +A diferencia de las oportunidades de Yearn Vaults, TokenSets o Zapper, los usuarios no seleccionan estrategias individuales. Todas las monedas estables depositadas y, en consecuencia, todos los tokens OUSD son fungibles. + diff --git a/es/core-concepts/fund-management/diversification.md b/es/core-concepts/fund-management/diversification.md new file mode 100644 index 000000000..535000690 --- /dev/null +++ b/es/core-concepts/fund-management/diversification.md @@ -0,0 +1,8 @@ +# Diversificación + +La versión inicial del contrato inteligente de la Bóveda de OUSD le da a cada estrategia válida un peso simple entre 0% y 100% para realizar una asignación de activos simple. Estos pesos se cambiarán a menudo mediante actualizaciones de Origin a corto plazo y mediante una gobernanza descentralizada a largo plazo. + +La diversificación a través de múltiples [plataformas](../supported-strategies/) DeFi subyacentes reducirá el contrato inteligente y otros riesgos sistémicos. El contrato inteligente calculará los APY actuales y esperados en un esfuerzo por proporcionar rendimientos competitivos a los holders de OUSD. Con el tiempo, el contrato de la Bóveda se actualizará para cambiar de forma inteligente y autónoma entre estrategias sin ninguna intervención manual. Por ejemplo, la Bóveda cambiará automáticamente el capital entre varias estrategias de préstamos para optimizar los rendimientos. + +Sin embargo, todavía se espera que ciertos parámetros de riesgo o decisiones sobre si ciertas estrategias se incluirán en el motor de toma de decisiones automatizado se tomen a través de votaciones de gobernanza. + diff --git a/es/core-concepts/fund-management/earning-strategies.md b/es/core-concepts/fund-management/earning-strategies.md new file mode 100644 index 000000000..9b1b26904 --- /dev/null +++ b/es/core-concepts/fund-management/earning-strategies.md @@ -0,0 +1,6 @@ +# Estrategias de Ganancias + +Las estrategias de ganancias ponen a trabajar el capital desplegado en varias plataformas DeFi. La Bóveda determinará qué estrategias están activas y qué porcentaje del capital implementado recibirán. + +Además, las estrategias se actualizarán con el tiempo. Por ejemplo, en el lanzamiento, habrá una estrategia ideal [ de Compound](../supported-strategies/compound.md). Con el tiempo, esto puede ser reemplazado por una estrategia Compound v2 o v3. + diff --git a/es/core-concepts/price-oracles.md b/es/core-concepts/price-oracles.md new file mode 100644 index 000000000..85f064326 --- /dev/null +++ b/es/core-concepts/price-oracles.md @@ -0,0 +1,38 @@ +- - - +descripción: OUSD usa Chainlink para proteger el protocolo de ataques de precios +- - - + +# Precio de Oráculos + +### Stablecoin Pricing + +OUSD está diseñado para permanecer vinculado a 1 USD y tener un respaldo 1:1 con sus monedas estables subyacentes. Esto es más complicado de lo que parece porque estas monedas estables subyacentes se desvían constantemente de sus propias clavijas de 1 USD deseadas. Si bien la mayoría de las fluctuaciones diarias son menores, ha habido cambios importantes en el precio que se han producido en el pasado y es probable que vuelvan a ocurrir en el futuro. + +| Moneda | **Bajo** | **Alto** | **Delta** | **Fuente** | +| ------ | ---------------------------------------------------- | ---------------------------------------------------- | --------- | --------------------------------------------------------------------------- | +| USDC |

$0.929222

13 de marzo de 2020

|

1,11 USD

15 de octubre de 2018

| $0.180778 | [CoinMarketCap](https://coinmarketcap.com/currencies/usd-coin/) | +| USDC |

$0.924188

02 de agosto de 2020

|

1,17 USD

08 de mayo de 2019

| $0.245812 | [CoinGecko](https://www.coingecko.com/en/coins/usd-coin) | +| DAI |

$0.945505

10 de mayo de 2020

|

1,11 USD

13 de marzo de 2020

| $0.164495 | [CoinMarketCap](https://coinmarketcap.com/currencies/multi-collateral-dai/) | +| DAI |

$0.903243

25 de noviembre de 2019

|

1.22 USD

13 de marzo de 2020

| $0.316757 | [CoinGecko](https://www.coingecko.com/en/coins/dai) | +| USDT |

$0.849809

02 de febrero de 2017

|

1.21 USD

27 de mayo de 2017

| $0.360191 | [CoinGecko](https://www.coingecko.com/en/coins/tether) | +| USDT |

$0.572521

02 de marzo de 2015

|

1.32 USD

24 de julio de 2018

| $0,747479 | [CoinMarketCap](https://coinmarketcap.com/currencies/tether/) | + +La función de rebase trata 1 moneda estable como 1 OUSD por simplicidad y para proteger los saldos de OUSD de verse afectados por las fluctuaciones diarias en el precio de las monedas estables subyacentes. Since the rebase function only counts coins, OUSD balances should only increase. + +In order to mint and redeem the appropriate number of OUSD on entry and exit, the smart contracts need to accurately price the USDT, USDC, and DAI that is entering and exiting the system. + +As an added precaution, OUSD never pays more than a dollar for a stablecoin, nor sells a stablecoin for less than a dollar. Oracles giving wrong prices will not result in a reduction of the number of stablecoins held. Gains that are collected as a result of stablecoins slipping from their peg are redistributed to the remaining holders of OUSD in the form of additional yield. + +Como protocolo descentralizado, OUSD debe depender de fuentes no centralizadas para estos precios. OUSD usa Chainlink como oráculo para DAI, USDC y USDT. Puede [leer más sobre nuestra decisión de trabajar con Chainlink](https://blog.originprotocol.com/how-origin-uses-chainlink-oracles-to-secure-ousd-bff5601e840e) en el blog de Origin. Here are the Chainlink oracles we are currently using for stablecoin pricing: + +{% embed url="https://data.chain.link/usdt-usd"%} + +{% embed url="https://data.chain.link/usdc-usd"%} + +{% embed url="https://data.chain.link/dai-usd"%} + +### Reward Token Oracles & Front Running Protection + +When reward tokens from OUSD strategies are sold for additional yield, Chainlink oracles are checked to ensure that the sale price slippage has not exceeded normal bounds. These oracles are listed on our [registry](../smart-contracts/registry.md) page under the "Oracles" tab. + +The same is also true for OGN buybacks from OUSD yield.\ \ When minting and redeeming OUSD, a miniumun required amount can be passed into the contract call to ensure that the entire transaction fails if not enough OUSD or stablecoins would be returned to the user due to changing prices. diff --git a/es/core-concepts/price-oracles/README.md b/es/core-concepts/price-oracles/README.md new file mode 100644 index 000000000..8efc925d9 --- /dev/null +++ b/es/core-concepts/price-oracles/README.md @@ -0,0 +1,126 @@ +# Precio de Oráculos + +OUSD está diseñado para mantenerse vinculado a 1 USD y tener un respaldo 1:1 con sus monedas estables subyacentes. Esto es más complicado de lo que parece porque estas monedas estables subyacentes se desvían constantemente de sus propias clavijas de 1 USD deseadas. Si bien la mayoría de las fluctuaciones diarias son menores, ha habido cambios importantes en el precio que se han producido en el pasado y es probable que vuelvan a ocurrir en el futuro. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MonedaBajo + Alto + Delta + Fuente +
USDC +

$0.929222

+

13 de marzo de 2020

+
+

1,11 USD

+

15 de octubre de 2018

+
$0.180778CoinMarketCap +
USDC +

$0.924188

+

02 de agosto de 2020

+
+

1,17 USD

+

08 de mayo de 2019

+
$0.245812CoinGecko +
DAI +

$0.945505

+

10 de mayo de 2020

+
+

1,11 USD

+

13 de marzo de 2020

+
$0.164495CoinMarketCap +
DAI +

$0.903243

+

25 de noviembre de 2019

+
+

1.22 USD

+

13 de marzo de 2020

+
$0.316757CoinGecko +
USDT +

$0.849809

+

02 de febrero de 2017

+
+

1.21 USD

+

27 de mayo de 2017

+
$0.360191CoinGecko +
USDT +

$0.572521

+

02 de marzo de 2015

+
+

1.32 USD

+

24 de julio de 2018

+
$0,747479CoinMarketCap +
+ +La función de rebase trata 1 moneda estable como 1 OUSD por simplicidad y para proteger los saldos de OUSD de verse afectados por las fluctuaciones diarias en el precio de las monedas estables subyacentes. Dado que la función de rebase solo cuenta monedas, los saldos de OUSD solo deberían aumentar. + +Para acuñar y quemar la cantidad apropiada de OUSD al entrar y salir, los contratos inteligentes deben fijar el precio con precisión del USDT, USDC y DAI que ingresa y sale del sistema. Como protocolo descentralizado, OUSD debe depender de fuentes no centralizadas para estos precios. + +{% hint style="info" %} +OUSD obtiene el precio de múltiples oráculos en cadena y usa el tipo de cambio que es más ventajoso para el grupo. +{% endhint %} + +Con el fin de prevenir ataques maliciosos y alentar a los inversores a largo plazo sobre los especuladores a corto plazo, el contrato de OUSD compara las fuentes de precios de múltiples fuentes y utilizará el tipo de cambio que beneficie a todo el grupo sobre el individuo. Este mecanismo protege los fondos del grupo de liquidez de los arbitrajistas y evita que cualquier individuo pueda aprovechar cualquier ineficiencia temporal causada por oráculos mal valorados para agotar el grupo de liquidez de activos. + +Esto protege los fondos en el grupo de liquidez mientras recompensa a los holders a largo plazo. Dado que el precio más seguro depende de la dirección de la operación, el oráculo de Origin expone tanto un `priceUSDMint()` y un `priceUSDRedeem()`. + +OUSD usa Chainlink como oráculo para DAI, USDC y USDT. + +{% embed url="https://feeds.chain.link/eth-usd" caption=""%} + +La dirección de contrato inteligente específica para cada oráculo que se utiliza se enumera en nuestra [página de registro](../../smart-contracts/registry.md). + +Es posible que con el tiempo se agreguen más oráculos al protocolo. También pueden eliminarse si alguno de estos oráculos deja de ser confiable. + diff --git a/es/core-concepts/price-oracles/untitled.md b/es/core-concepts/price-oracles/untitled.md new file mode 100644 index 000000000..b14ce4345 --- /dev/null +++ b/es/core-concepts/price-oracles/untitled.md @@ -0,0 +1,25 @@ +# Intitulado + +## Obteniendo superpoderes + +Convertirse en un superhéroe es un proceso bastante sencillo: + +``` +$ dame superpoderes +``` + +{% hint style="info" %} + Los superpoderes se otorgan al azar, así que envíe un problema si no está satisfecho con el suyo. +{% endhint %} + +Una vez que seas lo suficientemente fuerte, salva el mundo: + +{% code title="hello.sh" %} +```bash +# Todavía no hay un código para eso, lo siento +eco 'Tienes que confiar en mí en esto, salvé al mundo' +``` +{% endcode %} + + + diff --git a/es/core-concepts/supported-assets/README.md b/es/core-concepts/supported-assets/README.md new file mode 100644 index 000000000..56390ccf6 --- /dev/null +++ b/es/core-concepts/supported-assets/README.md @@ -0,0 +1,20 @@ +# Supported Stablecoins + +**Supported Stablecoins** + +It is important to understand that OUSD is only as strong as the stablecoins that are backing it. Any loss to the underlying assets will cause a similar loss to the value of OUSD. + +Currently, OUSD supports the following stablecoins: + +{% page-ref page="usdt.md" %} + +{% page-ref page="usdc.md" %} + +{% page-ref page="dai.md" %} + +None of these stablecoins are perfect, but we selected them because of their widespread usage. While these stablecoins have lost their USD peg on multiple occasions, they have demonstrated resiliency in eventually getting back to their 1 USD targets. + +It is important to note that all these stablecoins introduce non-trivial counter-party risk. Tether, in particular, has had well-documented banking troubles and regulatory challenges. In addition, both USDT and USDC have backdoors that grant their issuers the power to freeze money in their holder's wallets. While DAI does not have any direct backdoors, it's assets can also be negatively impacted since USDC is accepted as collateral for minting DAI. + +Despite these concerns, there are already billions of dollars betting on the security of these stablecoins. It is possible that additional stablecoins will be added to the protocol over time. Support may also be removed if any of these stablecoins prove to be too unreliable or put OUSD holders funds in jeopardy. + diff --git a/es/core-concepts/supported-assets/dai.md b/es/core-concepts/supported-assets/dai.md new file mode 100644 index 000000000..4be5c3788 --- /dev/null +++ b/es/core-concepts/supported-assets/dai.md @@ -0,0 +1,20 @@ +# DAI + +![](../../.gitbook/assets/dai.png) + +Dai is a fiat-pegged stablecoin launched as a ERC-20 token on the Ethereum blockchain in December 2017. A major upgrade from single-collateral Dai \(SAI\) to multi-collateral Dai \(DAI\) was completed in November 2019. Dai is pegged to the US dollar. + +Dai is minted by users locking up crypto assets such as ETH or USDC as collateral in a collateralized debt position \(CDP\) called a vault. Previously, only ETH was accepted as collateral. The reserves and status of each vault can be viewed on the blockchain in real-time. The health of these vaults and the Dai stablecoin are closely monitored. + +Dai is the world's third-largest stablecoin with over $400 million in circulation. In addition, cDAI and aDAI, synthetic versions of Dai on the lending platforms Compound and Aave, combine for over $600 million in circulation. + +| Key Facts | | +|:------------- |:------------------------------------------------------------------------------------------------------------------- | +| Issued by | MakerDAO | +| Name | Dai | +| Symbol | DAI | +| Address | [0x6b175474e89094c44da98b954eedeac495271d0f](https://etherscan.io/token/0x6b175474e89094c44da98b954eedeac495271d0f) | +| Decimals | 18 | +| Official site | [https://makerdao.com/](https://makerdao.com/) | +| Holders | Over 140k addresses | + diff --git a/es/core-concepts/supported-assets/usdc.md b/es/core-concepts/supported-assets/usdc.md new file mode 100644 index 000000000..2647d7c83 --- /dev/null +++ b/es/core-concepts/supported-assets/usdc.md @@ -0,0 +1,22 @@ +# USDC + +![](../../.gitbook/assets/usdc-coin-bd351fb779%20%281%29.png) + +USD Coin \(USDC\) is a fiat-pegged stablecoin launched as a ERC-20 token on the Ethereum blockchain in October 2018. USDC is pegged to the US dollar and can easily be redeemed for US dollars. + +Each USDC is backed by a 1:1 ratio with the equivalent amount of fiat currency held in custodial accounts by members of Centre, a consortium founded by Circle and Coinbase. Members of Centre are regulated financial institutions based in the US. Monthly audits of reserves are published by Grant Thornton LLP. + +USDC is the world's second-largest stablecoin after USDT and has quickly grown to over $1 billion in circulation. However, USDC remains far behind USDT's $12+ billion in circulation. + +| Key Facts | | +|:------------- |:------------------------------------------------------------------------------------------------------------------- | +| Issued by | Centre | +| Name | USD Coin | +| Symbol | USDC | +| Address | [0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48](https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48) | +| Decimals | 6 | +| Official site | [https://www.centre.io/usdc](https://www.centre.io/usdc) | +| Holders | Over 200k addresses | + + + diff --git a/es/core-concepts/supported-assets/usdt.md b/es/core-concepts/supported-assets/usdt.md new file mode 100644 index 000000000..4ae2afe89 --- /dev/null +++ b/es/core-concepts/supported-assets/usdt.md @@ -0,0 +1,22 @@ +# USDT + +![](../../.gitbook/assets/image%20%281%29.png) + +Tether \(USDT\) is a fiat-pegged stablecoin that was initially built on top of Bitcoin via the Omni Layer Protocol. In September 2017, Tether announced they would be launching additional ERC-20 tokens for United States dollars on the Ethereum blockchain. + +Each Tether issued into circulation is said to be backed by a one-to-one ratio with the equivalent amount of fiat currency held in a custodial account by Tether Limited, a Hong Kong-based company with close ties to the cryptocurrency exchange, Bitfinex. + +Despite the controversy ****around ****the company's failure to provide a promised audit showing adequate reserves backing tether, USDT is still the world's largest stablecoin by market cap and currently the fourth-largest cryptocurrency after BTC, ETH and XRP. + +| Key Facts | | +|:------------- |:---------------------------------------------------------------------------------------------------------------- | +| Issued by | Tether Limited | +| Name | Tether | +| Symbol | USDT | +| Address | [0xdac17f958d2ee523a2206206994597c13d831](https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7) | +| Decimals | 6 | +| Official site | [https://tether.to/ ](https://tether.to/%20) | +| Holders | Over 1.8M addresses | + + + diff --git a/es/core-concepts/supported-defi-platforms/README.md b/es/core-concepts/supported-defi-platforms/README.md new file mode 100644 index 000000000..fd7dedf34 --- /dev/null +++ b/es/core-concepts/supported-defi-platforms/README.md @@ -0,0 +1,30 @@ +# Plataformas DeFi Compatibles + +**Plataformas Compatibles** + +OUSD genera rendimiento al depositar monedas estables en plataformas de préstamos y grupos de liquidez de los creadores de mercado. Es importante comprender que estas plataformas conllevan riesgos tecnológicos y se pueden perder fondos si hay un evento de seguridad importante. Estamos eligiendo trabajar con las plataformas que han auditado sus contratos inteligentes y que creemos que son más seguras. + +Actualmente, planeamos obtener rendimientos de las siguientes plataformas: + +{% page-ref page="compound.md" %} + +Actualmente están previstas integraciones para las siguientes plataformas: + +{% page-ref page="aave.md" %} + +{% page-ref page="dydx.md" %} + +{% page-ref page="uniswap.md" %} + +{% page-ref page="curve.md" %} + +{% page-ref page="balancer.md" %} + +{% page-ref page="yearn.finance.md" %} + +Aunque DeFi ha crecido muy rápidamente y ahora hay miles de millones de dólares en valor depositado en estas plataformas, varios de estos proyectos todavía están en fase beta y son altamente experimentales. Puede haber vulnerabilidades ocultas en los contratos inteligentes que impulsan estas plataformas, y ha habido pérdidas multimillonarias causadas por vulnerabilidades en las aplicaciones de Ethereum en el pasado. + +Supervisamos de cerca los eventos de seguridad en las plataformas que apoyamos e inmediatamente nos moveremos para asegurar los fondos de los holders de OUSD si identificamos alguna amenaza. + + + diff --git a/es/core-concepts/supported-defi-platforms/aave.md b/es/core-concepts/supported-defi-platforms/aave.md new file mode 100644 index 000000000..b7b0e719c --- /dev/null +++ b/es/core-concepts/supported-defi-platforms/aave.md @@ -0,0 +1,25 @@ +# Aave + +{% hint style="info" %} +Próximamente. Aave aún no se ha integrado. +{% endhint %} + +Aave es un protocolo y una plataforma de préstamos construido sobre Ethereum y lanzado en enero de 2020 por los creadores de ETHLend. Los usuarios de Aave pueden ganar intereses compuestos o tomar prestados activos con colateral. Cada activo respaldado se agrega a su propio pool de liquidez y los usuarios pueden elegir entre una tasa de interés variable basada en la oferta y la demanda o una tasa de interés fija. + +Los balances de colateral están representados por ERC-20 aTokens en una proporción de 1:1 a los activos subyacentes que representan. El interés se capitaliza automáticamente y se paga a los prestamistas con tokens, lo que significa que los prestamistas verán que su saldo de tokens aumenta constantemente con el tiempo. Los usuarios pueden tomar prestados activos contra sus aTokens. Los aTokens se pueden transferir libremente y se pueden usar en muchos otros protocolos DeFi. Los aTokens se pueden canjear por su colateral subyacente en cualquier momento. + +Aave permite préstamos flash, que son préstamos sin colateral en los que los usuarios piden prestado y reembolsan el monto del préstamo en una sola transacción, lo que significa que los usuarios de préstamos flash no necesitan aportar capital inicial. Los préstamos flash son un producto complejo dirigido a desarrolladores y se pueden utilizar para arbitrar a través de múltiples protocolos DeFi. + +Aave está gobernada actualmente por LEND, un token ERC-20 que anteriormente era el token de utilidad para ETHLend. Aave ha anunciado una transición a una gobernanza totalmente descentralizada que incluye un intercambio de tokens en el que los usuarios cambian LEND por AAVE, un nuevo token de gobernanza ERC-20 con recompensas de participación. Algunos AAVE se distribuirán a los usuarios de la plataforma en una campaña de minería de liquidez. + +El valor total bloqueado \(TVL\) de Aave ha crecido rápidamente a más de $1.2 mil millones, lo que lo convierte en uno de los protocolos DeFi más grandes. LEND tiene una capitalización de mercado circulante de más de $700 millones. + +Aave se ha sometido a auditorías de seguridad por OpenZeppelin, Trail of Bits y Consensys Diligence. Aave mantiene un programa de recompensas por errores. + +| Recursos | | +|:------------------------------- |:------------------------------------------------------------------------------ | +| Sitio oficial | [https://aave.com/](https://aave.com/) | +| Documentos para desarrolladores | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/aave/aave-protocol](https://github.com/aave/aave-protocol) | +| Discord | [https://discordapp.com/invite/AnSqnvV](https://discordapp.com/invite/AnSqnvV) | + diff --git a/es/core-concepts/supported-defi-platforms/balancer.md b/es/core-concepts/supported-defi-platforms/balancer.md new file mode 100644 index 000000000..1b2d320bf --- /dev/null +++ b/es/core-concepts/supported-defi-platforms/balancer.md @@ -0,0 +1,27 @@ +# Balancer + +{% hint style="info" %} +Próximamente. Balancer aún no se ha integrado. +{% endhint %} + +Balancer es un protocolo de liquidez descentralizado y un exchange en la red de Ethereum, lanzado en marzo de 2020. Los usuarios pueden intercambiar tokens ERC-20 por una comisión o contribuir con tokens a los fondos de liquidez para ganar comisiones. + +Balancer es un Creador de Mercado Automatizado \ (AMM \) que permite conjuntos de liquidez de hasta 8 activos diferentes con pesos personalizados. Los pools de liquidez en Balancer pueden considerarse similares a los Fondos de Inversión Cotizados \(ETF\) o portafolios con objetivos de ponderación para activos específicos. Si el comercio hace que el pool se desplace de su distribución de peso objetivo, los tipos de cambio entre los activos del grupo cambian. Los arbitrajistas pueden ejecutar operaciones para aprovechar esto y actuar para reequilibrar el pool de nuevo a su distribución de peso objetivo. La liquidez también se puede compartir entre pools, a diferencia de otros AMMs. + +Balancer permite pools privados, donde solo el propietario del pool puede aportar liquidez, pools compartidos, que son completamente públicos, y pools inteligentes, que son pools compartidos controlados por un contrato inteligente que puede implementar reglas y lógica automatizadas. Los proveedores de liquidez reciben Tokens del Pool de Balancer \(BPTs) que representan su parte de un determinado pool y comisiones. Estos tokens se pueden transferir libremente y se pueden canjear por los activos proporcionados y las comisiones acumuladas. + +Los emisores de tokens que buscan mejorar la liquidez de sus tokens han ofrecido incentivos a los proveedores de liquidez en campañas de extracción de liquidez. Los nuevos emisores de tokens también han lanzado sus tokens en grupos de liquidez de Balancer. + +Balancer está gobernado por BAL, un token de gobernanza ERC-20. Los holders de BAL pueden votar sobre cambios en el protocolo. BAL se otorga continuamente a proveedores de liquidez y una gran parte del suministro total de BAL se asignó al equipo y a los inversores en un programa continuo de inversión. + +Los volúmenes de negociación en Balancer suelen superar los 25 millones de dólares diarios. Balancer tiene un Valor Total Bloqueado \(TVL\) de más de $250 millones por parte de los proveedores de liquidez al momento de escribir este artículo. + +Balancer ha sido sometido a una auditoria de seguridad por Trail of Bits y tiene un programa de recompensas por errores. Sin embargo, Balancer sufrió una gran vulnerabilidad en junio de 2020. + +| Recursos | | +|:------------------------------- |:-------------------------------------------------------------------- | +| Sitio oficial | [https://balancer.finance/](https://balancer.finance/) | +| Documentos para desarrolladores | [https://docs.balancer.finance/](https://docs.balancer.finance/) | +| GitHub | [https://github.com/balancer-labs](https://github.com/balancer-labs) | +| Discord | [https://discord.gg/ARJWaeF](https://discord.gg/ARJWaeF) | + diff --git a/es/core-concepts/supported-defi-platforms/compound.md b/es/core-concepts/supported-defi-platforms/compound.md new file mode 100644 index 000000000..a992c1ddf --- /dev/null +++ b/es/core-concepts/supported-defi-platforms/compound.md @@ -0,0 +1,19 @@ +# Compound + +Compound es una plataforma y un protocolo de préstamos construido sobre Ethereum y lanzado en septiembre de 2018. Los usuarios pueden ganar intereses compuestos o tomar prestados activos con garantía. Cada activo respaldado se agrega en su propio grupo de liquidez y las tasas de interés se ajustan automáticamente en función de la oferta y la demanda. + +Los saldos de garantías están representados por ERC-20 cTokens, que automáticamente acumulan intereses y aumentan de valor con el tiempo en relación con el activo subyacente que representan. Los usuarios pueden tomar prestados activos contra sus cTokens. Los cTokens se pueden transferir libremente y se pueden usar en muchos otros protocolos DeFi. Los cTokens se pueden canjear por su garantía subyacente en cualquier momento. + +Compound está gobernado por COMP, un token de gobernanza ERC-20. Los holders de COMP pueden proponer y votar cambios de protocolo o delegar sus votos en otra persona. Los tokens COMP se otorgan a prorrata a los usuarios del protocolo diariamente, divididos en partes iguales entre prestatarios y prestamistas. Una gran parte del suministro de tokens COMP fue retenida por el equipo de Compound, los inversores y los asesores. + +El valor total bloqueado \(TVL\) de Compound ha crecido rápidamente a más de $800 mil millones, lo que lo convierte en uno de los protocolos DeFi más grandes. COMP tiene una capitalización de mercado circulante de más de $500 millones. + +Compound ha sido sometido a múltiples auditorías de seguridad por OpenZeppelin y Trail of Bits. El protocolo del Compound fue verificado formalmente por CertiK y ha sido sometido a pruebas de estrés económico por parte de Gauntlet. Compound mantiene un programa de recompensas por errores. + +| Recursos | | +|:------------------------------- |:-------------------------------------------------------------------------------------------------------------- | +| Sitio oficial | [https://compound.finance/](https://compound.finance/) | +| Documentos para desarrolladores | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/compound-finance/compound-protocol](https://github.com/compound-finance/compound-protocol) | +| Discord | [https://discord.com/invite/cU7vmVW](https://discord.com/invite/cU7vmVW) | + diff --git a/es/core-concepts/supported-defi-platforms/curve.md b/es/core-concepts/supported-defi-platforms/curve.md new file mode 100644 index 000000000..3c7edefac --- /dev/null +++ b/es/core-concepts/supported-defi-platforms/curve.md @@ -0,0 +1,25 @@ +# Curve + +{% hint style="info" %} +Próximamente. Curve aún no se ha integrado. +{% endhint %} + +Curve es un protocolo de liquidez descentralizado y plataforma de intercambio en la red de Ethereum para monedas estables y BTC envuelto, lanzado en enero de 2020. Los usuarios pueden intercambiar entre las populares monedas estables ERC-20 o entre las representaciones ERC-20 de bitcoin. Los proveedores de liquidez facilitan el comercio y ganan comisiones. + +Curve es un Creador de Mercado Automatizado \ (AMM \) donde cada mercado tiene un grupo de liquidez asociado con dos o más activos que deben tener el mismo valor, como USDT, USDC, DAI y TUSD, que son monedas estables vinculadas al dólar estadounidense. El tipo de cambio entre cada moneda estable y sus pesos relativos están determinados por un algoritmo basado en la oferta y la demanda. Los arbitrajistas actúan para normalizar estos tipos de cambio. + +Algunos de los grupos de liquidez de Curve ganan tarifas adicionales para los proveedores de liquidez además de las tarifas de intercambio de los comerciantes. Curve ofrece grupos de liquidez de monedas estables integrados con Compound, yearn.finance y Synthetix. Los activos de cada grupo de liquidez se proporcionan a esas plataformas para generar un rendimiento adicional que se transfiere a los proveedores de liquidez de cada grupo. Los tokens del Proveedor de Liquidez \ (LP \) se entregan a los participantes del grupo de liquidez y se pueden canjear por su liquidez inicial suministrada más las tarifas y el rendimiento acumulados. Los tokens del Proveedor de Liquidez también se pueden transferir para su uso en otros protocolos. + +Curve está gobernado por BAL, un token de gobernanza ERC-20. Los holders de CRV pueden votar sobre cambios en el protocolo. Los holders de CRV pueden poner en staking sus tokens para obtener un poder de voto adicional proporcional al tiempo invertido. CRV se adjudica continuamente a proveedores de liquidez y una gran parte del suministro total de CRV se asignó al equipo y a los inversores en un cronograma continuo de consolidación. + +Los volúmenes de negociación en Curve suelen superar los 50 millones de dólares diarios. Curve tiene un Valor Total Bloqueado \ (TVL \) de más de mil millones de dólares por parte de los proveedores de liquidez al momento de escribir este artículo. + +Curve se ha sometido a dos auditorías de Trail of Bits y mantiene un programa de recompensas por errores. + +| Recursos | | +|:------------------------------- |:------------------------------------------------------------------------ | +| Sitio oficial | [https://uniswap.org/](https://uniswap.org/) | +| Documentos para desarrolladores | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/es/core-concepts/supported-defi-platforms/dydx.md b/es/core-concepts/supported-defi-platforms/dydx.md new file mode 100644 index 000000000..07b91e946 --- /dev/null +++ b/es/core-concepts/supported-defi-platforms/dydx.md @@ -0,0 +1,27 @@ +# dYdX + +{% hint style="info" %} +Próximamente. DyDx aún no se ha integrado. +{% endhint %} + +dYdX es una plataforma y un protocolo de tradeo y préstamos construido sobre la red de Ethereum y lanzado en mayo de 2019. Los usuarios pueden negociar activos en el exchange descentralizado y sin custodia de dYdX o participar en dar préstamos o recibirlos. El protocolo de préstamos permite tradear en futuros o margin. Las tasas de interés se ajustan en función de la oferta y la demanda y sólo se ofrecen préstamos a corto plazo. + +La liquidez de los activos disponibles para empréstitos y préstamos se agrupa por tipo de activo. Los intereses que se pagan a los prestamistas se acumulan automáticamente y los prestatarios deben aportar una garantía para obtener un préstamo. + +dYdX también admite préstamos de tipo flash, que son préstamos sin garantía en los que los usuarios piden prestado y reembolsan el saldo del préstamo en una sola transacción, lo que significa que los usuarios de préstamos tipo flash no necesitan aportar capital inicial. Los préstamos de tipo flash son un producto complejo dirigido a desarrolladores y se pueden utilizar para arbitrar a través de múltiples protocolos DeFi. + +dYdX tiene alrededor de $40 millones de dólares en valor total bloqueado \ (TVL \) al momento de escribir este artículo. dYdX no tiene un token nativo. + +dYdX ha sido sometido a auditorías de seguridad por OpenZeppelin y Bramah Systems. + +| Recursos | | +|:------------------------------- |:-------------------------------------------------------------------- | +| Sitio oficial | [https://dydx.exchange/](https://dydx.exchange/) | +| Documentos para desarrolladores | [https://docs.dydx.exchange/](https://docs.dydx.exchange/) | +| GitHub | [https://github.com/dydxprotocol/](https://github.com/dydxprotocol/) | +| Discord | [https://discord.gg/yah42Rb](https://discord.gg/yah42Rb) | + + + + + diff --git a/es/core-concepts/supported-defi-platforms/uniswap.md b/es/core-concepts/supported-defi-platforms/uniswap.md new file mode 100644 index 000000000..15cec0e57 --- /dev/null +++ b/es/core-concepts/supported-defi-platforms/uniswap.md @@ -0,0 +1,27 @@ +# Uniswap + +{% hint style="info" %} +Próximamente. Uniswap aún no se ha integrado. +{% endhint %} + +Uniswap es un protocolo de liquidez descentralizado y un exchange en Ethereum, lanzado en Noviembre de 2018. Uniswap v2 se lanzó en Mayo de 2020. Los usuarios pueden intercambiar tokens ERC-20 por una comisión o contribuir con tokens a los fondos de liquidez para ganar comisiones. + +Los mercados de Uniswap operan como grupos de liquidez en lugar de libros de pedidos. Este tipo de intercambio se denomina Creador de Mercado Automatizado \(AMM\). El tipo de cambio entre los dos activos se determina mediante una fórmula de producto constante y se mueve a lo largo de una curva de precios según el peso relativo de cada activo en el grupo. Esto anima a los arbitrajistas a entrar en fondos de liquidez para reequilibrar las ponderaciones relativas y normalizar el tipo de cambio. + +Los comerciantes pueden sufrir deslizamientos si no hay suficiente liquidez en un grupo determinado y es posible que no estén protegidos de tipos de cambio desfavorables. Los proveedores de liquidez pueden sufrir pérdidas transitorias cuando el tipo de cambio del grupo no coincide con las realidades del mercado y los arbitrajistas ejecutan operaciones a lo largo de la curva de precios. + +Los participantes del grupo reciben tokens de Proveedor de Liquidez de Uniswap \(LP\) que corresponden a su parte de liquidez proporcionada en un grupo determinado. Estos tokens LP se pueden transferir libremente. Los participantes pueden salir de los grupos en cualquier momento canjeando estos tokens por los activos proporcionados y las comisiones acumuladas. + +Los emisores de tokens que buscan mejorar la liquidez de sus tokens han ofrecido incentivos a los proveedores de liquidez en campañas de extracción de liquidez. Los nuevos emisores de tokens también han lanzado sus tokens en grupos de liquidez de Uniswap. + +Los volúmenes de operaciones en Uniswap ahora eclipsan a los de muchos exchanges tradicionales y regularmente superan los $200 millones diarios. Uniswap tiene más de $170 millones en Valor Total Bloqueado \(TVL\) por proveedores de liquidez. Uniswap no tiene una plataforma nativa o un token de gobernanza. + +Uniswap ha tenido sus contratos inteligentes auditados y verificados formalmente por dapp.org. Uniswap mantiene un programa de recompensas por errores. + +| Recursos | | +|:------------------------------- |:------------------------------------------------------------------------ | +| Sitio oficial | [https://uniswap.org/](https://uniswap.org/) | +| Documentos para desarrolladores | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/es/core-concepts/supported-defi-platforms/yearn.finance.md b/es/core-concepts/supported-defi-platforms/yearn.finance.md new file mode 100644 index 000000000..359966748 --- /dev/null +++ b/es/core-concepts/supported-defi-platforms/yearn.finance.md @@ -0,0 +1,25 @@ +# Yearn.finance + +{% hint style="info" %} +Próximamente. Yearn.finance aún no se ha integrado. +{% endhint %} + +Yearn.finance, anteriormente iEarn.finance, es una plataforma de agregación de rendimiento construida sobre la red de Ethereum y lanzada en enero de 2020 por Andre Cronje. Yearn gestiona el cultivo de rendimiento y las estrategias de reequilibrio mediante una combinación de automatización y toma de decisiones humanas en nombre de los usuarios que han depositado capital. + +Yearn tiene dos productos de agregación de rendimiento, Ganancias y Bóvedas. Las Ganancias permite a los usuarios depositar monedas estables o BTC envueltos en grupos de liquidez en Curve para ganar tarifas y recompensas de token de gobernanza. Estos activos también se prestan en plataformas que ofrecen alto rendimiento y recompensas simbólicas, lo que aumenta el rendimiento obtenido. + +Las bóvedas ofrecen una experiencia más automatizada y administrada. Los usuarios depositan activos como LINK, tokens del proveedor de liquidez de Curve o monedas estables, y la Bóveda agrupa estos activos y despliega la estrategia de cultivo de mayor rendimiento que la comunidad y Andre Cronje consideran segura. Los tokens de gobernanza obtenidos como recompensas se venden por el activo original depositado y se combinan con otras tarifas y se transfieren automáticamente a la Bóveda para obtener un rendimiento compuesto. Las estrategias se pueden cambiar con frecuencia y la puesta en común de activos ahorra costos de gas para los usuarios. + +Yearn está gobernado por COMP, un token de gobernanza ERC-20. Los holders de YFI pueden votar sobre los cambios de protocolo después de aceptar bloquear su YFI durante 3 días. YFI también se puede colocar en staking por rendimiento en el portal de gobernanza. Este rendimiento proviene de las tarifas cobradas a los usuarios por los productos de Yearn. YFI se distribuyó en su totalidad a los proveedores de liquidez en Curve y Balancer. No hubo asignación para miembros del equipo o inversores. + +El valor total bloqueado \(TVL\) de Yearm ha crecido rápidamente a más de $800 millones, lo que lo convierte en uno de los protocolos DeFi más grandes. YFI tiene una capitalización de mercado circulante de más de $400 millones. + +Yearn se ha sometido a múltiples auditorías de contratos inteligentes y de seguridad por parte de CertiK, Quantstamp, HackMD y CryptoManiacs. Yearn tiene la reputación de lanzar productos experimentales muy rápidamente y advierte a los usuarios que sus productos están en fase beta. + +| Recursos | | +|:------------------------------- |:-------------------------------------------------------------------- | +| Sitio oficial | [https://yearn.finance/](https://yearn.finance/) | +| Documentos para desarrolladores | [https://docs.yearn.finance/](https://docs.yearn.finance/) | +| GitHub | [https://github.com/iearn-finance](https://github.com/iearn-finance) | +| Discord | [https://discord.gg/uTmHe8r](https://discord.gg/uTmHe8r) | + diff --git a/es/core-concepts/supported-platforms/README.md b/es/core-concepts/supported-platforms/README.md new file mode 100644 index 000000000..7b692ffa2 --- /dev/null +++ b/es/core-concepts/supported-platforms/README.md @@ -0,0 +1,32 @@ +# Plataformas Compatibles + +**Plataformas Compatibles** + +OUSD genera rendimiento al depositar monedas estables en plataformas de préstamos y grupos de liquidez de los creadores de mercado. Es importante comprender que estas plataformas conllevan riesgos tecnológicos y se pueden perder fondos si hay un evento de seguridad importante. Estamos eligiendo trabajar con las plataformas que han auditado sus contratos inteligentes y que creemos que son más seguras. + +Actualmente, planeamos obtener rendimientos de las siguientes plataformas: + +{% page-ref page="compound.md" %} + +Actualmente están previstas integraciones para las siguientes plataformas: + +{% page-ref page="yearn.finance.md" %} + +{% page-ref page="compound.md" %} + +{% page-ref page="aave.md" %} + +{% page-ref page="dydx.md" %} + +{% page-ref page="uniswap.md" %} + +{% page-ref page="curve.md" %} + +{% page-ref page="balancer.md" %} + +Aunque DeFi ha crecido muy rápidamente y ahora hay miles de millones de dólares en valor depositado en estas plataformas, varios de estos proyectos todavía están en fase beta y son altamente experimentales. Puede haber vulnerabilidades ocultas en los contratos inteligentes que impulsan estas plataformas, y ha habido pérdidas multimillonarias causadas por vulnerabilidades en las aplicaciones de Ethereum en el pasado. + +Supervisamos de cerca los eventos de seguridad en las plataformas que apoyamos e inmediatamente nos moveremos para asegurar los fondos de los holders de OUSD si identificamos alguna amenaza. + + + diff --git a/es/core-concepts/supported-platforms/aave.md b/es/core-concepts/supported-platforms/aave.md new file mode 100644 index 000000000..99fc8b9d4 --- /dev/null +++ b/es/core-concepts/supported-platforms/aave.md @@ -0,0 +1,25 @@ +# Aave + +{% hint style="info" %} +Próximamente. Aave aún no se ha integrado. +{% endhint %} + +Aave es un protocolo y una plataforma de préstamos construido sobre la red de Ethereum y lanzado en enero de 2020 por los creadores de ETHLend. Los usuarios de Aave pueden ganar intereses compuestos o tomar prestados activos con colateral. Cada activo respaldado se agrega a su propio grupo de liquidez y los usuarios pueden elegir entre una tasa de interés variable basada en la oferta y la demanda o una tasa de interés fija. + +Los balances de colateral están representados por ERC-20 aTokens en una proporción de 1:1 a los activos subyacentes que representan. El interés se capitaliza automáticamente y se paga a los prestamistas con aTokens, lo que significa que los prestamistas verán que su saldo de tokens aumenta constantemente con el tiempo. Los usuarios pueden tomar prestados activos contra sus aTokens. Los aTokens se pueden transferir libremente y se pueden usar en muchos otros protocolos DeFi. Los aTokens se pueden canjear por su colateral subyacente en cualquier momento. + +Aave permite préstamos tipo flash, que son préstamos sin colateral en los que los usuarios piden prestado y reembolsan el monto del préstamo en una sola transacción, lo que significa que los usuarios de préstamos tipo flash no necesitan aportar capital inicial. Los préstamos de tipo flash son un producto complejo dirigido a desarrolladores y se pueden utilizar para arbitrar a través de múltiples protocolos DeFi. + +Aave está gobernada actualmente por LEND, un token ERC-20 que anteriormente era el token de utilidad para ETHLend. Aave ha anunciado una transición a una gobernanza totalmente descentralizada que incluye un exchange de tokens en el que los usuarios cambian LEND por AAVE, un nuevo token de gobernanza ERC-20 con recompensas de participación. Algunos AAVE se distribuirán a los usuarios de la plataforma en una campaña de minería de liquidez. + +El valor total bloqueado \(TVL\) de Aave ha crecido rápidamente a más de $1.2 mil millones, lo que lo convierte en uno de los protocolos DeFi más grandes. LEND tiene una capitalización de mercado circulante de más de $700 millones. + +Aave se ha sometido a auditorías de seguridad por OpenZeppelin, Trail of Bits y Consensys Diligence. Aave mantiene un programa de recompensas por errores. + +| Recursos | | +|:------------------------------- |:------------------------------------------------------------------------------ | +| Sitio oficial | [https://aave.com/](https://aave.com/) | +| Documentos para desarrolladores | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/aave/aave-protocol](https://github.com/aave/aave-protocol) | +| Discord | [https://discordapp.com/invite/AnSqnvV](https://discordapp.com/invite/AnSqnvV) | + diff --git a/es/core-concepts/supported-platforms/balancer.md b/es/core-concepts/supported-platforms/balancer.md new file mode 100644 index 000000000..b373350c2 --- /dev/null +++ b/es/core-concepts/supported-platforms/balancer.md @@ -0,0 +1,27 @@ +# Balancer + +{% hint style="info" %} +Próximamente. Balancer aún no se ha integrado. +{% endhint %} + +Balancer es un protocolo de liquidez descentralizado y un exchange en la red de Ethereum, lanzado en marzo de 2020. Los usuarios pueden intercambiar tokens ERC-20 por una comisión o contribuir con tokens a los grupos de liquidez para ganar comisiones. + +Balancer es un Creador de Mercado Automatizado \ (AMM \) que permite conjuntos de liquidez de hasta 8 activos diferentes con pesos personalizados. Los grupos de liquidez en Balancer pueden considerarse similares a los Fondos de Inversión Cotizados \(ETF\) o portafolios con objetivos de ponderación para activos específicos. Si el tradeo hace que el grupo de liquidez se desplace de su distribución de peso objetivo, los tipos de cambio entre los activos del grupo de liquidez cambian. Los arbitrajistas pueden ejecutar tradeos para aprovechar esto y actuar para reequilibrar el grupo de liquidez de nuevo a su distribución de peso objetivo. La liquidez también se puede compartir entre grupos, a diferencia de otros AMMs (Creadores de Mercados Automatizados). + +Balancer permite grupos de liquidez privados, donde solo el propietario del grupo de liquidez puede aportar liquidez, grupos de liquidez compartidos, que son completamente públicos, y grupos de liquidez inteligentes, que son grupos de liquidez compartidos controlados por un contrato inteligente que puede implementar reglas y lógica automatizadas. Los proveedores de liquidez reciben Tokens del Grupo de Liquidez de Balancer \(BPTs) que representan su parte de un determinado grupo de liquidez y comisiones. Estos tokens se pueden transferir libremente y se pueden canjear por los activos proporcionados y las comisiones acumuladas. + +Los emisores de tokens que buscan mejorar la liquidez de sus tokens han ofrecido incentivos a los proveedores de liquidez en campañas de extracción de liquidez. Los nuevos emisores de tokens también han lanzado sus tokens en grupos de liquidez de Balancer. + +Balancer está gobernado por BAL, un token de gobernanza ERC-20. Los holders de BAL pueden votar sobre cambios en el protocolo. BAL se otorga continuamente a proveedores de liquidez y una gran parte del suministro total de BAL se asignó al equipo y a los inversores en un programa continuo de inversión. + +Los volúmenes de negociación en Balancer suelen superar los 25 millones de dólares diarios. Balancer tiene un Valor Total Bloqueado \(TVL\) de más de $250 millones por parte de los proveedores de liquidez al momento de escribir este artículo. + +Balancer ha sido sometido a una auditoria de seguridad por Trail of Bits y tiene un programa de recompensas por errores. Sin embargo, Balancer sufrió una gran vulnerabilidad en junio de 2020. + +| Recursos | | +|:------------------------------- |:-------------------------------------------------------------------- | +| Sitio oficial | [https://balancer.finance/](https://balancer.finance/) | +| Documentos para desarrolladores | [https://docs.balancer.finance/](https://docs.balancer.finance/) | +| GitHub | [https://github.com/balancer-labs](https://github.com/balancer-labs) | +| Discord | [https://discord.gg/ARJWaeF](https://discord.gg/ARJWaeF) | + diff --git a/es/core-concepts/supported-platforms/compound.md b/es/core-concepts/supported-platforms/compound.md new file mode 100644 index 000000000..4189e776f --- /dev/null +++ b/es/core-concepts/supported-platforms/compound.md @@ -0,0 +1,19 @@ +# Compound + +Compound es una plataforma y un protocolo de préstamos construido sobre la red de Ethereum y lanzado en septiembre de 2018. Los usuarios pueden ganar intereses compuestos o tomar prestados activos con garantía. Cada activo respaldado se agrega en su propio grupo de liquidez y las tasas de interés se ajustan automáticamente en función de la oferta y la demanda. + +Los saldos de garantías están representados por ERC-20 cTokens, que automáticamente acumulan intereses y aumentan de valor con el tiempo en relación con el activo subyacente que representan. Los usuarios pueden tomar prestados activos contra sus cTokens. Los cTokens se pueden transferir libremente y se pueden usar en muchos otros protocolos DeFi. Los cTokens se pueden canjear por su garantía subyacente en cualquier momento. + +Compound está gobernado por COMP, un token de gobernanza ERC-20. Los holders de COMP pueden proponer y votar cambios de protocolo o delegar sus votos en otra persona. Los tokens COMP se otorgan a prorrata a los usuarios del protocolo diariamente, divididos en partes iguales entre prestatarios y prestamistas. Una gran parte del suministro de tokens COMP fue retenida por el equipo de Compound, los inversores y los asesores. + +El valor total bloqueado \(TVL\) de Compound ha crecido rápidamente a más de $800 millones, lo que lo convierte en uno de los protocolos DeFi más grandes. COMP tiene una capitalización de mercado circulante de más de $500 millones. + +Compound ha sido sometido a múltiples auditorías de seguridad por OpenZeppelin y Trail of Bits. El protocolo del Compound fue verificado formalmente por CertiK y ha sido sometido a pruebas de estrés económico por parte de Gauntlet. Compound mantiene un programa de recompensas por errores. + +| Recursos | | +|:------------------------------- |:-------------------------------------------------------------------------------------------------------------- | +| Sitio oficial | [https://compound.finance/](https://compound.finance/) | +| Documentos para desarrolladores | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/compound-finance/compound-protocol](https://github.com/compound-finance/compound-protocol) | +| Discord | [https://discord.com/invite/cU7vmVW](https://discord.com/invite/cU7vmVW) | + diff --git a/es/core-concepts/supported-platforms/curve.md b/es/core-concepts/supported-platforms/curve.md new file mode 100644 index 000000000..6a6c72b51 --- /dev/null +++ b/es/core-concepts/supported-platforms/curve.md @@ -0,0 +1,25 @@ +# Curve + +{% hint style="info" %} +Próximamente. Curve aún no se ha integrado. +{% endhint %} + +Curve es un protocolo de liquidez descentralizado y un exchange en la red de Ethereum para monedas estables y BTC envuelto, lanzado en enero de 2020. Los usuarios pueden intercambiar entre las populares monedas estables ERC-20 o entre las representaciones ERC-20 de bitcoin. Los proveedores de liquidez facilitan el comercio y ganan comisiones. + +Curve es un Creador de Mercado Automatizado \ (AMM \) donde cada mercado tiene un grupo de liquidez asociado con dos o más activos que deben tener el mismo valor, como USDT, USDC, DAI y TUSD, que son monedas estables vinculadas al dólar estadounidense. El tipo de cambio entre cada moneda estable y sus pesos relativos están determinados por un algoritmo basado en la oferta y la demanda. Los arbitrajistas actúan para normalizar estos tipos de cambio. + +Algunos de los grupos de liquidez de Curve ganan tarifas adicionales para los proveedores de liquidez además de las tarifas de tradeo en los exchanges. Curve ofrece grupos de liquidez de monedas estables integrados con Compound, yearn.finance y Synthetix. Los activos de cada grupo de liquidez se proporcionan a esas plataformas para generar un rendimiento adicional que se transfiere a los proveedores de liquidez de cada grupo. Los tokens del Proveedor de Liquidez \ (LP \) se entregan a los participantes del grupo de liquidez y se pueden canjear por su liquidez inicial suministrada más las tarifas y el rendimiento acumulados. Los tokens del Proveedor de Liquidez también se pueden transferir para su uso en otros protocolos. + +Curve está gobernado por CRV, un token de gobernanza ERC-20. Los holders de CRV pueden votar sobre cambios en el protocolo. Los holders de CRV pueden poner en staking sus tokens para obtener un poder de voto adicional proporcional al tiempo invertido. CRV se adjudica continuamente a proveedores de liquidez y una gran parte del suministro total de CRV se asignó al equipo y a los inversores en un cronograma continuo de consolidación. + +Los volúmenes de tradeo en Curve suelen superar los 50 millones de dólares diarios. Curve tiene un Valor Total Bloqueado \ (TVL \) de más de mil millones de dólares por parte de los proveedores de liquidez al momento de escribir este artículo. + +Curve se ha sometido a dos auditorías de Trail of Bits y mantiene un programa de recompensas por errores. + +| Recursos | | +|:------------------------------- |:------------------------------------------------------------------------ | +| Sitio oficial | [https://www.curve.fi/](https://uniswap.org/) | +| Documentos para desarrolladores | [https://www.curve.fi/devdocs](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/curvefi](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/9uEHakc](https://discord.com/invite/EwFs3Pp) | + diff --git a/es/core-concepts/supported-platforms/dydx.md b/es/core-concepts/supported-platforms/dydx.md new file mode 100644 index 000000000..07b91e946 --- /dev/null +++ b/es/core-concepts/supported-platforms/dydx.md @@ -0,0 +1,27 @@ +# dYdX + +{% hint style="info" %} +Próximamente. DyDx aún no se ha integrado. +{% endhint %} + +dYdX es una plataforma y un protocolo de tradeo y préstamos construido sobre la red de Ethereum y lanzado en mayo de 2019. Los usuarios pueden negociar activos en el exchange descentralizado y sin custodia de dYdX o participar en dar préstamos o recibirlos. El protocolo de préstamos permite tradear en futuros o margin. Las tasas de interés se ajustan en función de la oferta y la demanda y sólo se ofrecen préstamos a corto plazo. + +La liquidez de los activos disponibles para empréstitos y préstamos se agrupa por tipo de activo. Los intereses que se pagan a los prestamistas se acumulan automáticamente y los prestatarios deben aportar una garantía para obtener un préstamo. + +dYdX también admite préstamos de tipo flash, que son préstamos sin garantía en los que los usuarios piden prestado y reembolsan el saldo del préstamo en una sola transacción, lo que significa que los usuarios de préstamos tipo flash no necesitan aportar capital inicial. Los préstamos de tipo flash son un producto complejo dirigido a desarrolladores y se pueden utilizar para arbitrar a través de múltiples protocolos DeFi. + +dYdX tiene alrededor de $40 millones de dólares en valor total bloqueado \ (TVL \) al momento de escribir este artículo. dYdX no tiene un token nativo. + +dYdX ha sido sometido a auditorías de seguridad por OpenZeppelin y Bramah Systems. + +| Recursos | | +|:------------------------------- |:-------------------------------------------------------------------- | +| Sitio oficial | [https://dydx.exchange/](https://dydx.exchange/) | +| Documentos para desarrolladores | [https://docs.dydx.exchange/](https://docs.dydx.exchange/) | +| GitHub | [https://github.com/dydxprotocol/](https://github.com/dydxprotocol/) | +| Discord | [https://discord.gg/yah42Rb](https://discord.gg/yah42Rb) | + + + + + diff --git a/es/core-concepts/supported-platforms/uniswap.md b/es/core-concepts/supported-platforms/uniswap.md new file mode 100644 index 000000000..12e085f61 --- /dev/null +++ b/es/core-concepts/supported-platforms/uniswap.md @@ -0,0 +1,27 @@ +# Uniswap + +{% hint style="info" %} +Próximamente. Uniswap aún no se ha integrado. +{% endhint %} + +Uniswap es un protocolo de liquidez descentralizado y un exchange sobre la red de Ethereum, lanzado en Noviembre de 2018. Uniswap v2 se lanzó en Mayo de 2020. Los usuarios pueden intercambiar tokens ERC-20 por una comisión o contribuir con tokens a los grupos de liquidez para ganar comisiones. + +Los mercados de Uniswap operan como grupos de liquidez en lugar de libros de pedidos. Este tipo de exchange se denomina Creador de Mercado Automatizado \(AMM\). El tipo de cambio entre los dos activos se determina mediante una fórmula de producto constante y se mueve a lo largo de una curva de precios según el peso relativo de cada activo en el grupo de liquidez. Esto anima a los arbitrajistas a entrar en grupos de liquidez para reequilibrar las ponderaciones relativas y normalizar el tipo de cambio. + +Los traders pueden sufrir deslizamientos si no hay suficiente liquidez en un grupo de liquidez determinado y es posible que no estén protegidos de tipos de cambio desfavorables. Los proveedores de liquidez pueden sufrir pérdidas transitorias cuando el tipo de cambio del grupo no coincide con las realidades del mercado y los arbitrajistas ejecutan operaciones a lo largo de la curva de precios. + +Los participantes del grupo de liquidez reciben tokens de Proveedor de Liquidez de Uniswap \(LP\) que corresponden a su parte de liquidez proporcionada en un grupo de liquidez determinado. Estos tokens LP se pueden transferir libremente. Los participantes pueden salir de los grupos de liquidez en cualquier momento canjeando estos tokens por los activos proporcionados y las comisiones acumuladas. + +Los emisores de tokens que buscan mejorar la liquidez de sus tokens han ofrecido incentivos a los proveedores de liquidez en campañas de extracción de liquidez. Los nuevos emisores de tokens también han lanzado sus tokens en grupos de liquidez de Uniswap. + +Los volúmenes de tradeo en Uniswap ahora eclipsan a los de muchos exchanges tradicionales y regularmente superan los $200 millones diarios. Uniswap tiene más de $170 millones de dólares en Valor Total Bloqueado \(TVL\) por proveedores de liquidez. Uniswap no tiene una plataforma nativa o un token de gobernanza. + +Uniswap ha tenido sus contratos inteligentes auditados y verificados formalmente por dapp.org. Uniswap mantiene un programa de recompensas por errores. + +| Recursos | | +|:------------------------------- |:------------------------------------------------------------------------ | +| Sitio oficial | [https://uniswap.org/](https://uniswap.org/) | +| Documentos para desarrolladores | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/es/core-concepts/supported-platforms/yearn.finance.md b/es/core-concepts/supported-platforms/yearn.finance.md new file mode 100644 index 000000000..6ba83105a --- /dev/null +++ b/es/core-concepts/supported-platforms/yearn.finance.md @@ -0,0 +1,25 @@ +# Yearn.finance + +{% hint style="info" %} +Próximamente. Yearn.finance aún no se ha integrado. +{% endhint %} + +Yearn.finance, anteriormente iEarn.finance, es una plataforma de agregación de rendimiento construida sobre la red de Ethereum y lanzada en enero de 2020 por Andre Cronje. Yearn gestiona el cultivo de rendimiento y las estrategias de reequilibrio mediante una combinación de automatización y toma de decisiones humanas en nombre de los usuarios que han depositado capital. + +Yearn tiene dos productos de agregación de rendimiento, Ganancias y Bóvedas. Las Ganancias permite a los usuarios depositar monedas estables o BTC envueltos en grupos de liquidez en Curve para ganar tarifas y recompensas de token de gobernanza. Estos activos también se prestan en plataformas que ofrecen alto rendimiento y recompensas simbólicas, lo que aumenta el rendimiento obtenido. + +Las Bóvedas ofrecen una experiencia más automatizada y administrada. Los usuarios depositan activos como LINK, tokens del proveedor de liquidez de Curve o monedas estables, y la Bóveda agrupa estos activos y despliega la estrategia de cultivo de mayor rendimiento que la comunidad y Andre Cronje consideran segura. Los tokens de gobernanza obtenidos como recompensas se venden por el activo original depositado y se combinan con otras tarifas y se transfieren automáticamente a la Bóveda para obtener un rendimiento compuesto. Las estrategias se pueden cambiar con frecuencia y la puesta en común de activos ahorra costos de gas para los usuarios. + +Yearn está gobernado por YFI, un token de gobernanza ERC-20. Los holders de YFI pueden votar sobre los cambios de protocolo después de aceptar bloquear su YFI durante 3 días. YFI también se puede colocar en staking por rendimiento en el portal de gobernanza. Este rendimiento proviene de las tarifas cobradas a los usuarios por los productos de Yearn. YFI se distribuyó en su totalidad a los proveedores de liquidez en Curve y Balancer. No hubo asignación para miembros del equipo o inversores. + +El valor total bloqueado \(TVL\) de Yearn ha crecido rápidamente a más de $800 millones, lo que lo convierte en uno de los protocolos DeFi más grandes. YFI tiene una capitalización de mercado circulante de más de $400 millones. + +Yearn se ha sometido a múltiples auditorías de contratos inteligentes y de seguridad por parte de CertiK, Quantstamp, HackMD y CryptoManiacs. Yearn tiene la reputación de lanzar productos experimentales muy rápidamente y advierte a los usuarios que sus productos están en fase beta. + +| Recursos | | +|:------------------------------- |:-------------------------------------------------------------------- | +| Sitio oficial | [https://yearn.finance/](https://yearn.finance/) | +| Documentos para desarrolladores | [https://docs.yearn.finance/](https://docs.yearn.finance/) | +| GitHub | [https://github.com/iearn-finance](https://github.com/iearn-finance) | +| Discord | [https://discord.gg/uTmHe8r](https://discord.gg/uTmHe8r) | + diff --git a/es/core-concepts/supported-stablecoins/README.md b/es/core-concepts/supported-stablecoins/README.md new file mode 100644 index 000000000..9144a53e6 --- /dev/null +++ b/es/core-concepts/supported-stablecoins/README.md @@ -0,0 +1,25 @@ +# Monedas Estables Soportadas + +**Monedas Estables Soportadas** + +Es importante comprender que OUSD es tan fuerte como las monedas estables que lo respaldan. Cualquier pérdida de los activos subyacentes provocará una pérdida similar al valor de OUSD. + +Actualmente, OUSD admite las siguientes monedas estables: + +{% content-ref url="usdt.md" %} +[usdt.md](usdt.md) +{% endcontent-ref %} + +{% content-ref url="usdc.md" %} +[usdc.md](usdc.md) +{% endcontent-ref %} + +{% content-ref url="dai.md" %} +[dai.md](dai.md) +{% endcontent-ref %} + +Ninguna de estas monedas estables es perfecta, pero las seleccionamos debido a su uso generalizado. Si bien estas monedas estables han perdido su paridad con el USD en múltiples ocasiones, han demostrado capacidad de recuperación para finalmente volver a sus objetivos de 1 USD. + +Es importante tener en cuenta que todas estas monedas estables introducen un riesgo de contraparte no trivial. Tether, en particular, ha tenido problemas bancarios y desafíos regulatorios bien documentados. Además, tanto USDT como USDC tienen puertas traseras que otorgan a sus emisores el poder de congelar dinero en las billeteras de sus holders. Si bien DAI no tiene puertas traseras directas, sus activos también pueden verse afectados negativamente, ya que USDC y USDT se aceptan como garantía para la acuñación de DAI. + +A pesar de estas preocupaciones, ya hay miles de millones de dólares apostando por la seguridad de estas monedas estables. Es posible que se agreguen monedas estables adicionales al protocolo con el tiempo. El soporte también puede eliminarse si alguna de estas monedas estables resulta ser poco confiable o pone en peligro los fondos del holder de OUSD. diff --git a/es/core-concepts/supported-stablecoins/dai.md b/es/core-concepts/supported-stablecoins/dai.md new file mode 100644 index 000000000..944e5f6d0 --- /dev/null +++ b/es/core-concepts/supported-stablecoins/dai.md @@ -0,0 +1,19 @@ +# DAI + +![](../../.gitbook/assets/dai.png) + +Dai es una moneda estable con vinculación fiduciaria lanzada como un token ERC-20 en la cadena de bloques Ethereum en diciembre de 2017. En noviembre de 2019 se completó una importante actualización de Dai de garantía única (SAI) a Dai de garantía múltiple (DAI). Dai está vinculado al dólar estadounidense. + +Dai es acuñado por usuarios que bloquean criptomonedas como ETH o USDC como garantía en una posición de deuda garantizada (CDP) llamada bóveda. Anteriormente, solo se aceptaba ETH como colateral. Las reservas y el estado de cada bóveda se pueden ver en la cadena de bloques en tiempo real. La salud de estas bóvedas y la moneda estable Dai se supervisan de cerca. + +Dai es la tercera moneda estable más grande del mundo con más de $400 millones en circulación. Además, cDAI y aDAI, versiones sintéticas de Dai en las plataformas de préstamos Compound y Aave, se combinan por más de $600 millones en circulación. + +| Hechos Clave | | +| ------------- | ------------------------------------------------------------------------------------------------------------------- | +| Emitido por | MakerDAO | +| Nombre | Dai | +| Símbolo | DAI | +| Dirección | [0x6b175474e89094c44da98b954eedeac495271d0f](https://etherscan.io/token/0x6b175474e89094c44da98b954eedeac495271d0f) | +| Decimales | 18 | +| Sitio oficial | [https://makerdao.com/](https://makerdao.com) | +| Holders | Más de 380k direcciones | diff --git a/es/core-concepts/supported-stablecoins/usdc.md b/es/core-concepts/supported-stablecoins/usdc.md new file mode 100644 index 000000000..bc158d18c --- /dev/null +++ b/es/core-concepts/supported-stablecoins/usdc.md @@ -0,0 +1,20 @@ +# USDC + +![](../../.gitbook/assets/usdc-coin-bd351fb779 (1).png) + +USD Coin (USDC) es una moneda estable con vinculación fiduciaria lanzada como un token ERC-20 en la cadena de bloques Ethereum en octubre de 2018. El USDC está vinculado al dólar estadounidense y puede canjearse fácilmente por dólares estadounidenses. + +Cada USDC está respaldado por una proporción de 1:1 con la cantidad equivalente de moneda fiduciaria mantenida en cuentas de custodia por miembros de Centre, un consorcio fundado por Circle y Coinbase. Los miembros del Centro son instituciones financieras reguladas con sede en EE. UU. Grant Thornton LLP publica auditorías mensuales de reservas. + +USDC es la segunda moneda estable más grande del mundo después del USDT y ha crecido rápidamente a más de mil millones de dólares en circulación. Sin embargo, el USDC se mantiene muy por detrás de los $12 mil millones en circulación del USDT. + +| Hechos Clave | | +| ------------- | ------------------------------------------------------------------------------------------------------------------- | +| Emitido por | Centre | +| Nombre | Moneda USD | +| Símbolo | USDC | +| Dirección | [0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48](https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48) | +| Decimales | 6 | +| Sitio oficial | [https://www.centre.io/usdc](https://www.centre.io/usdc) | +| Holders | Más de 1 millón de direcciones | + diff --git a/es/core-concepts/supported-stablecoins/usdt.md b/es/core-concepts/supported-stablecoins/usdt.md new file mode 100644 index 000000000..a1562834b --- /dev/null +++ b/es/core-concepts/supported-stablecoins/usdt.md @@ -0,0 +1,20 @@ +# USDT + +![](../../.gitbook/assets/image (1).png) + +Tether (USDT) es una moneda estable con vinculación fiduciaria que se construyó inicialmente sobre Bitcoin a través del Protocolo Omni Layer. En septiembre de 2017, Tether anunció que lanzarían tokens ERC-20 adicionales por dólares estadounidenses en la blockchain de Ethereum. + +Se dice que cada Tether emitido en circulación está respaldado por una proporción de uno a uno con la cantidad equivalente de moneda fiduciaria mantenida en una cuenta de custodia de Tether Limited, una empresa con sede en Hong Kong con estrechos vínculos con el intercambio de criptomonedas, Bitfinex. + +Despite the controversy **** around **** the company's failure to provide a promised audit showing adequate reserves backing tether, USDT is still the world's largest stablecoin by market cap and currently the fourth-largest cryptocurrency after BTC, ETH and XRP. + +| Hechos Clave | | +| ------------- | ---------------------------------------------------------------------------------------------------------------- | +| Emitido por | Tether Limited | +| Nombre | Tether | +| Símbolo | USDT | +| Dirección | [0xdac17f958d2ee523a2206206994597c13d831](https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7) | +| Decimales | 6 | +| Sitio oficial | [https://tether.to/ ](https://tether.to) | +| Holders | Más de 3,4 millones de direcciones | + diff --git a/es/core-concepts/supported-strategies/README.md b/es/core-concepts/supported-strategies/README.md new file mode 100644 index 000000000..149d82615 --- /dev/null +++ b/es/core-concepts/supported-strategies/README.md @@ -0,0 +1,27 @@ +# Estrategias Apoyadas + +**Plataformas DeFi Compatibles** + +OUSD genera rendimiento al depositar monedas estables en plataformas de préstamos y grupos de liquidez de los creadores de mercado. Es importante comprender que estas plataformas conllevan riesgos tecnológicos y se pueden perder fondos si hay un evento de seguridad importante. Estamos eligiendo trabajar con las plataformas que han auditado sus contratos inteligentes y que creemos que son más seguras. + +Actualmente, OUSD obtiene rendimiento de las siguientes plataformas: + +{% content-ref url="compound.md" %} +[compound.md](compound.md) +{% endcontent-ref %} + +{% content-ref url="aave.md" %} +[aave.md](aave.md) +{% endcontent-ref %} + +{% content-ref url="curve.md" %} +[curve.md](curve.md) +{% endcontent-ref %} + +{% content-ref url="convex.md" %} +[convex.md](convex.md) +{% endcontent-ref %} + +Aunque DeFi ha crecido muy rápidamente y ahora hay miles de millones de dólares en valor depositado en estas plataformas, varios de estos proyectos aún se encuentran en fase beta y son altamente experimentales. Puede haber vulnerabilidades ocultas en los contratos inteligentes que impulsan estas plataformas, y ha habido pérdidas multimillonarias causadas por vulnerabilidades en las aplicaciones de Ethereum en el pasado. + +Supervisamos de cerca los eventos de seguridad en las plataformas que apoyamos e inmediatamente nos moveremos para asegurar los fondos de los holders de OUSD si identificamos alguna amenaza. diff --git a/es/core-concepts/supported-strategies/aave.md b/es/core-concepts/supported-strategies/aave.md new file mode 100644 index 000000000..176fb8150 --- /dev/null +++ b/es/core-concepts/supported-strategies/aave.md @@ -0,0 +1,20 @@ +# Aave + +Aave es un protocolo y una plataforma de préstamos construido sobre la red de Ethereum y lanzado en enero de 2020 por los creadores de ETHLend. Los usuarios de Aave pueden ganar intereses compuestos o tomar prestados activos con colateral. Cada activo respaldado se agrega a su propio grupo de liquidez y los usuarios pueden elegir entre una tasa de interés variable basada en la oferta y la demanda o una tasa de interés fija. + +Los balances de colateral están representados por ERC-20 aTokens en una proporción de 1:1 a los activos subyacentes que representan. El interés se capitaliza automáticamente y se paga a los prestamistas con aTokens, lo que significa que los prestamistas verán que su saldo de tokens aumenta constantemente con el tiempo. Los usuarios pueden tomar prestados activos contra sus aTokens. Los aTokens se pueden transferir libremente y se pueden usar en muchos otros protocolos DeFi. Los aTokens se pueden canjear por su colateral subyacente en cualquier momento. + +Aave permite préstamos tipo flash, que son préstamos sin colateral en los que los usuarios piden prestado y reembolsan el monto del préstamo en una sola transacción, lo que significa que los usuarios de préstamos tipo flash no necesitan aportar capital inicial. Los préstamos de tipo flash son un producto complejo dirigido a desarrolladores y se pueden utilizar para arbitrar a través de múltiples protocolos DeFi. + +El token de gobernanza de Aave se llamaba anteriormente LEND, que era el token de utilidad para ETHLend. Como parte de su transición a una gobernanza totalmente descentralizada, los holders de LEND pudieron intercambiar LEND por AAVE, un nuevo token de gobernanza ERC-20 con recompensas de participación. Se han distribuido algunos tokens AAVE a los usuarios de la plataforma en una campaña de minería de liquidez. + +El valor total bloqueado (TVL) de Aave ha crecido rápidamente a más de $15.5 mil millones, lo que lo convierte en el protocolo DeFi más grande en el momento de escribir este artículo. LEND tiene una capitalización de mercado circulante de más de $5.3 mil millones. + +Aave se ha sometido a auditorías de seguridad por OpenZeppelin, Trail of Bits y Consensys Diligence. Aave mantiene un programa de recompensas por errores. + +| Recursos | | +| ------------------------------- | ------------------------------------------------------------------------------ | +| Sitio oficial | [https://aave.com/](https://aave.com) | +| Documentos para desarrolladores | [http://docs.aave.com/](http://docs.aave.com) | +| GitHub | [https://github.com/aave/aave-protocol](https://github.com/aave/aave-protocol) | +| Discord | [https://aave.com/discord](https://aave.com/discord) | diff --git a/es/core-concepts/supported-strategies/balancer.md b/es/core-concepts/supported-strategies/balancer.md new file mode 100644 index 000000000..8fd901f73 --- /dev/null +++ b/es/core-concepts/supported-strategies/balancer.md @@ -0,0 +1,27 @@ +# Balancer + +{% hint style="info" %} +Próximamente. Balancer aún no se ha integrado. +{% endhint %} + +Balancer es un protocolo de liquidez descentralizado y un exchange en Ethereum, lanzado en marzo de 2020. Los usuarios pueden intercambiar tokens ERC-20 por una comisión o contribuir con tokens a los grupos de liquidez para ganar comisiones. + +Balancer es un Creador de Mercado Automatizado \ (AMM \) que permite conjuntos de liquidez de hasta 8 activos diferentes con pesos personalizados. Los grupos de liquidez en Balancer pueden considerarse similares a los Fondos de Inversión Cotizados \(ETF\) o portafolios con objetivos de ponderación para activos específicos. Si el comercio hace que el grupo de liquidez se desplace de su distribución de peso objetivo, los tipos de cambio entre los activos del grupo de liquidez cambian. Los arbitrajistas pueden ejecutar operaciones para aprovechar esto y actuar para reequilibrar el grupo de liquidez de nuevo a su distribución de peso objetivo. La liquidez también se puede compartir entre grupos, a diferencia de otros AMMs (Creadores de Mercados Automatizados). + +Balancer permite grupos de liquidez privados, donde solo el propietario del grupo puede aportar liquidez, grupos de liquidez compartidos, que son completamente públicos, y grupos de liquidez inteligentes, que son grupos de liquidez compartidos controlados por un contrato inteligente que puede implementar reglas y lógica automatizadas. Los proveedores de liquidez reciben Tokens del Grupo de Liquidez de Balancer \(BPTs) que representan su parte de un determinado grupo de liquidez y comisiones. Estos tokens se pueden transferir libremente y se pueden canjear por los activos proporcionados y las comisiones acumuladas. + +Los emisores de tokens que buscan mejorar la liquidez de sus tokens han ofrecido incentivos a los proveedores de liquidez en campañas de extracción de liquidez. Los nuevos emisores de tokens también han lanzado sus tokens en grupos de liquidez de Balancer. + +Balancer está gobernado por BAL, un token de gobernanza ERC-20. Los holders de BAL pueden votar sobre cambios en el protocolo. BAL se otorga continuamente a proveedores de liquidez y una gran parte del suministro total de BAL se asignó al equipo y a los inversores en un programa continuo de inversión. + +Los volúmenes de negociación en Balancer suelen superar los 25 millones de dólares diarios. Balancer tiene un Valor Total Bloqueado \(TVL\) de más de $250 millones por parte de los proveedores de liquidez al momento de escribir este artículo. + +Balancer ha sido sometido a una auditoria de seguridad por Trail of Bits y tiene un programa de recompensas por errores. Sin embargo, Balancer sufrió una gran vulnerabilidad en junio de 2020. + +| Recursos | | +|:------------------------------- |:-------------------------------------------------------------------- | +| Sitio oficial | [https://balancer.finance/](https://balancer.finance/) | +| Documentos para desarrolladores | [https://docs.balancer.finance/](https://docs.balancer.finance/) | +| GitHub | [https://github.com/balancer-labs](https://github.com/balancer-labs) | +| Discord | [https://discord.gg/ARJWaeF](https://discord.gg/ARJWaeF) | + diff --git a/es/core-concepts/supported-strategies/compound.md b/es/core-concepts/supported-strategies/compound.md new file mode 100644 index 000000000..bd4928936 --- /dev/null +++ b/es/core-concepts/supported-strategies/compound.md @@ -0,0 +1,18 @@ +# Compound + +Compound es una plataforma y un protocolo de préstamos construido sobre Ethereum y lanzado en septiembre de 2018. Los usuarios pueden ganar intereses compuestos o tomar prestados activos con garantía. Cada activo respaldado se agrega en su propio grupo de liquidez y las tasas de interés se ajustan automáticamente en función de la oferta y la demanda. + +Los saldos de garantías están representados por ERC-20 cTokens, que automáticamente acumulan intereses y aumentan de valor con el tiempo en relación con el activo subyacente que representan. Los usuarios pueden tomar prestados activos contra sus tokens. Los cTokens se pueden transferir libremente y se pueden usar en muchos otros protocolos DeFi. Los cTokens se pueden canjear por su garantía subyacente en cualquier momento. + +Compound está gobernado por COMP, un token de gobernanza ERC-20. Los holders de COMP pueden proponer y votar cambios de protocolo o delegar sus votos en otra persona. Los tokens COMP se otorgan a prorrata a los usuarios del protocolo diariamente, divididos en partes iguales entre prestatarios y prestamistas. Una gran parte del suministro de tokens COMP fue retenida por el equipo de Compound, los inversores y los asesores. + +El valor total bloqueado (TVL) de Compound ha crecido rápidamente a más de $10 mil millones, lo que lo convierte en uno de los protocolos DeFi más grandes. COMP tiene una capitalización de mercado circulante de más de $2.5 mil millones. + +Compound ha sido sometido a múltiples auditorías de seguridad por OpenZeppelin y Trail of Bits. El protocolo del Compound fue verificado formalmente por CertiK y ha sido sometido a pruebas de estrés económico por parte de Gauntlet. Compound mantiene un programa de recompensas por errores. + +| Recursos | | +| ------------------------------- | -------------------------------------------------------------------------------------------------------------- | +| Sitio oficial | [https://compound.finance/](https://compound.finance) | +| Documentos para desarrolladores | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/compound-finance/compound-protocol](https://github.com/compound-finance/compound-protocol) | +| Discord | [https://discord.com/invite/cU7vmVW](https://discord.com/invite/cU7vmVW) | diff --git a/es/core-concepts/supported-strategies/convex.md b/es/core-concepts/supported-strategies/convex.md new file mode 100644 index 000000000..022da2d1b --- /dev/null +++ b/es/core-concepts/supported-strategies/convex.md @@ -0,0 +1,18 @@ +# Convex + +Convex es una plataforma de agregación para Curve que se lanzó en mayo de 2021. Convex permite a los proveedores de liquidez en Curve obtener recompensas CRV mejoradas sin tener que bloquear CRV por voto. Convex bloquea con voto CRV en nombre de los usuarios y les distribuye recompensas CRV potenciadas. Convex también transfiere a los usuarios las tarifas comerciales obtenidas en Curve. + +Convex también recompensa a los usuarios con su propio token de gobernanza ERC-20, CVX. Convex admite stakin de CRV y CVX para obtener recompensas adicionales. Se requiere CVX con bloqueo de votos para participar en la gobernanza de Convex. + +Convex es uno de los pocos protocolos incluidos en la lista blanca para participar en la gobernanza de Curve y controla una gran cantidad de CRV bloqueados por votos, lo que los convierte en uno de los jugadores más importantes en la gobernanza de Curve. Una gran parte de la liquidez provista en Curve ahora se realiza a través de Convex. Convex tiene un valor total bloqueado (TVL) de más de $15,4 mil millones en depósitos al momento de escribir este artículo. + +Convex ha sido auditado por MixBytes. + +| | | +| ------------------------------- | ---------------------------------------------------------------- | +| Recursos | | +| Sitio oficial | [https://www.convexfinance.com](https://www.convexfinance.com) | +| Documentos para desarrolladores | [https://docs.convexfinance.com](https://docs.convexfinance.com) | +| GitHub | [https://github.com/convex-eth](https://github.com/convex-eth) | +| Discord | [https://discord.gg/uAwvZfs9qU](https://discord.gg/uAwvZfs9qU) | + diff --git a/es/core-concepts/supported-strategies/curve.md b/es/core-concepts/supported-strategies/curve.md new file mode 100644 index 000000000..0a7771fa7 --- /dev/null +++ b/es/core-concepts/supported-strategies/curve.md @@ -0,0 +1,20 @@ +# Curve + +Curve es un protocolo de liquidez descentralizado y un exchange en la red de Ethereum para monedas estables y BTC envuelto, lanzado en enero de 2020. Los usuarios pueden intercambiar entre las populares monedas estables ERC-20 o entre las representaciones ERC-20 de bitcoin. Los proveedores de liquidez facilitan el tradeo y ganan comisiones. + +Curve es un Creador de mercado automatizado (AMM) en el que cada mercado tiene un grupo de liquidez asociado con dos o más activos que deberían tener el mismo valor, como USDT, USDC, DAI y TUSD, que son monedas estables vinculadas al dólar estadounidense. El tipo de cambio entre cada moneda estable y sus pesos relativos están determinados por un algoritmo basado en la oferta y la demanda. Los arbitrajistas actúan para normalizar estos tipos de cambio. + +Algunos de los grupos de liquidez de Curve ganan tarifas adicionales para los proveedores de liquidez además de las tarifas de tradeo en los exchanges. Curve ofrece grupos de liquidez de monedas estables integrados con Compound, yearn.finance y Synthetix. Los activos de cada grupo de liquidez se proporcionan a esas plataformas para generar un rendimiento adicional que se transfiere a los proveedores de liquidez de cada grupo. Los tokens de proveedor de liquidez (LP) se entregan a los participantes del pool y se pueden canjear por su liquidez inicial suministrada más las tarifas y el rendimiento acumulados. Los tokens del Proveedor de Liquidez también se pueden transferir para su uso en otros protocolos. + +Curve está gobernado por CRV, un token de gobernanza ERC-20. Los holders de CRV pueden votar sobre cambios en el protocolo. Los holders de CRV pueden hacer staking o "bloquear con voto" sus tokens para obtener un poder de voto adicional proporcional al tiempo de staking. El CRV con bloqueo de votos también aumenta significativamente las recompensas de los proveedores de liquidez. CRV se otorga continuamente a los proveedores de liquidez y una gran parte del suministro total de CRV se asignó al equipo y a los inversores en un cronograma continuo de adjudicación. + +Curve tiene un valor total bloqueado (TVL) de más de $20,4 mil millones por parte de los proveedores de liquidez en el momento de escribir este artículo. Cada día se generan cientos de millones de dólares en volumen de operaciones en Curve. + +Curve se ha sometido a dos auditorías de Trail of Bits y mantiene un programa de recompensas por errores. + +| Recursos | | +| ------------------------------- | ------------------------------------------------------------------------ | +| Sitio oficial | [https://www.curve.fi/](https://www.curve.fi) | +| Documentos para desarrolladores | [https://www.curve.fi/devdocs](https://www.curve.fi/devdocs) | +| GitHub | [https://github.com/curvefi](https://github.com/curvefi) | +| Discord | [https://discord.com/invite/9uEHakc](https://discord.com/invite/9uEHakc) | diff --git a/es/core-concepts/supported-strategies/dydx.md b/es/core-concepts/supported-strategies/dydx.md new file mode 100644 index 000000000..a584b75a4 --- /dev/null +++ b/es/core-concepts/supported-strategies/dydx.md @@ -0,0 +1,27 @@ +# dYdX + +{% hint style="info" %} +Próximamente. DyDx aún no se ha integrado. +{% endhint %} + +dYdX es una plataforma y un protocolo de tradeo y préstamos construido sobre la red de Ethereum y lanzado en mayo de 2019. Los usuarios pueden negociar activos en el exchange descentralizado y sin custodia de dYdX o participar en dar préstamos o recibirlos. El protocolo de préstamos permite tradear en futuros o margin. Las tasas de interés se ajustan en función de la oferta y la demanda y sólo se ofrecen préstamos a corto plazo. + +La liquidez de los activos disponibles para empréstitos y préstamos se agrupa por tipo de activo. Los intereses que se pagan a los prestamistas se acumulan automáticamente y los prestatarios deben aportar una garantía para obtener un préstamo. + +dYdX también admite préstamos de tipo flash, que son préstamos sin garantía en los que los usuarios piden prestado y reembolsan el saldo del préstamo en una sola transacción, lo que significa que los usuarios de préstamos tipo flash no necesitan aportar capital inicial. Los préstamos de tipo flash son un producto complejo dirigido a desarrolladores y se pueden utilizar para arbitrar a través de múltiples protocolos DeFi. + +dYdX tiene alrededor de $40 millones de dólares en valor total bloqueado \(TVL\) al momento de escribir este artículo. dYdX no tiene un token nativo. + +dYdX ha sido sometido a auditorías de seguridad por OpenZeppelin y Bramah Systems. + +| Recursos | | +|:------------------------------- |:-------------------------------------------------------------------- | +| Sitio oficial | [https://dydx.exchange/](https://dydx.exchange/) | +| Documentos para desarrolladores | [https://docs.dydx.exchange/](https://docs.dydx.exchange/) | +| GitHub | [https://github.com/dydxprotocol/](https://github.com/dydxprotocol/) | +| Discord | [https://discord.gg/yah42Rb](https://discord.gg/yah42Rb) | + + + + + diff --git a/es/core-concepts/supported-strategies/uniswap.md b/es/core-concepts/supported-strategies/uniswap.md new file mode 100644 index 000000000..12e085f61 --- /dev/null +++ b/es/core-concepts/supported-strategies/uniswap.md @@ -0,0 +1,27 @@ +# Uniswap + +{% hint style="info" %} +Próximamente. Uniswap aún no se ha integrado. +{% endhint %} + +Uniswap es un protocolo de liquidez descentralizado y un exchange sobre la red de Ethereum, lanzado en Noviembre de 2018. Uniswap v2 se lanzó en Mayo de 2020. Los usuarios pueden intercambiar tokens ERC-20 por una comisión o contribuir con tokens a los grupos de liquidez para ganar comisiones. + +Los mercados de Uniswap operan como grupos de liquidez en lugar de libros de pedidos. Este tipo de exchange se denomina Creador de Mercado Automatizado \(AMM\). El tipo de cambio entre los dos activos se determina mediante una fórmula de producto constante y se mueve a lo largo de una curva de precios según el peso relativo de cada activo en el grupo de liquidez. Esto anima a los arbitrajistas a entrar en grupos de liquidez para reequilibrar las ponderaciones relativas y normalizar el tipo de cambio. + +Los traders pueden sufrir deslizamientos si no hay suficiente liquidez en un grupo de liquidez determinado y es posible que no estén protegidos de tipos de cambio desfavorables. Los proveedores de liquidez pueden sufrir pérdidas transitorias cuando el tipo de cambio del grupo no coincide con las realidades del mercado y los arbitrajistas ejecutan operaciones a lo largo de la curva de precios. + +Los participantes del grupo de liquidez reciben tokens de Proveedor de Liquidez de Uniswap \(LP\) que corresponden a su parte de liquidez proporcionada en un grupo de liquidez determinado. Estos tokens LP se pueden transferir libremente. Los participantes pueden salir de los grupos de liquidez en cualquier momento canjeando estos tokens por los activos proporcionados y las comisiones acumuladas. + +Los emisores de tokens que buscan mejorar la liquidez de sus tokens han ofrecido incentivos a los proveedores de liquidez en campañas de extracción de liquidez. Los nuevos emisores de tokens también han lanzado sus tokens en grupos de liquidez de Uniswap. + +Los volúmenes de tradeo en Uniswap ahora eclipsan a los de muchos exchanges tradicionales y regularmente superan los $200 millones diarios. Uniswap tiene más de $170 millones de dólares en Valor Total Bloqueado \(TVL\) por proveedores de liquidez. Uniswap no tiene una plataforma nativa o un token de gobernanza. + +Uniswap ha tenido sus contratos inteligentes auditados y verificados formalmente por dapp.org. Uniswap mantiene un programa de recompensas por errores. + +| Recursos | | +|:------------------------------- |:------------------------------------------------------------------------ | +| Sitio oficial | [https://uniswap.org/](https://uniswap.org/) | +| Documentos para desarrolladores | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/es/core-concepts/supported-strategies/yearn.finance.md b/es/core-concepts/supported-strategies/yearn.finance.md new file mode 100644 index 000000000..6ba83105a --- /dev/null +++ b/es/core-concepts/supported-strategies/yearn.finance.md @@ -0,0 +1,25 @@ +# Yearn.finance + +{% hint style="info" %} +Próximamente. Yearn.finance aún no se ha integrado. +{% endhint %} + +Yearn.finance, anteriormente iEarn.finance, es una plataforma de agregación de rendimiento construida sobre la red de Ethereum y lanzada en enero de 2020 por Andre Cronje. Yearn gestiona el cultivo de rendimiento y las estrategias de reequilibrio mediante una combinación de automatización y toma de decisiones humanas en nombre de los usuarios que han depositado capital. + +Yearn tiene dos productos de agregación de rendimiento, Ganancias y Bóvedas. Las Ganancias permite a los usuarios depositar monedas estables o BTC envueltos en grupos de liquidez en Curve para ganar tarifas y recompensas de token de gobernanza. Estos activos también se prestan en plataformas que ofrecen alto rendimiento y recompensas simbólicas, lo que aumenta el rendimiento obtenido. + +Las Bóvedas ofrecen una experiencia más automatizada y administrada. Los usuarios depositan activos como LINK, tokens del proveedor de liquidez de Curve o monedas estables, y la Bóveda agrupa estos activos y despliega la estrategia de cultivo de mayor rendimiento que la comunidad y Andre Cronje consideran segura. Los tokens de gobernanza obtenidos como recompensas se venden por el activo original depositado y se combinan con otras tarifas y se transfieren automáticamente a la Bóveda para obtener un rendimiento compuesto. Las estrategias se pueden cambiar con frecuencia y la puesta en común de activos ahorra costos de gas para los usuarios. + +Yearn está gobernado por YFI, un token de gobernanza ERC-20. Los holders de YFI pueden votar sobre los cambios de protocolo después de aceptar bloquear su YFI durante 3 días. YFI también se puede colocar en staking por rendimiento en el portal de gobernanza. Este rendimiento proviene de las tarifas cobradas a los usuarios por los productos de Yearn. YFI se distribuyó en su totalidad a los proveedores de liquidez en Curve y Balancer. No hubo asignación para miembros del equipo o inversores. + +El valor total bloqueado \(TVL\) de Yearn ha crecido rápidamente a más de $800 millones, lo que lo convierte en uno de los protocolos DeFi más grandes. YFI tiene una capitalización de mercado circulante de más de $400 millones. + +Yearn se ha sometido a múltiples auditorías de contratos inteligentes y de seguridad por parte de CertiK, Quantstamp, HackMD y CryptoManiacs. Yearn tiene la reputación de lanzar productos experimentales muy rápidamente y advierte a los usuarios que sus productos están en fase beta. + +| Recursos | | +|:------------------------------- |:-------------------------------------------------------------------- | +| Sitio oficial | [https://yearn.finance/](https://yearn.finance/) | +| Documentos para desarrolladores | [https://docs.yearn.finance/](https://docs.yearn.finance/) | +| GitHub | [https://github.com/iearn-finance](https://github.com/iearn-finance) | +| Discord | [https://discord.gg/uTmHe8r](https://discord.gg/uTmHe8r) | + diff --git a/es/core-concepts/wrapped-ousd.md b/es/core-concepts/wrapped-ousd.md new file mode 100644 index 000000000..bea00ee4b --- /dev/null +++ b/es/core-concepts/wrapped-ousd.md @@ -0,0 +1,31 @@ +# Wrapped OUSD + +Wrapped OUSD provides a non-rebasing version of OUSD that still earns yield. This makes it easier to use OUSD as a building block for other contracts and it may provide tax benefits in some jurisdictions. + +![Two flavors, up only](https://cdn-images-1.medium.com/max/1600/1\*cqRG-8-64XYx9QChoMxk3g.png) + +### How wrapped OUSD works + +When you wrap OUSD, you get back a fixed number of wOUSD tokens. This number will not go up - you will have the same number of wOUSD tokens tomorrow as you have today. However, the number of OUSD tokens that you can unwrap will go up over time. + +For example, if you wrap 10,000 OUSD, you might receive 9,423 wOUSD. If you hold for a while, you will still have 9,423 wOUSD, but when you unwrap the wOUSD, you receive 11,500 OUSD. + +Both OUSD and wOUSD earn at the same rate and can be transferred just like any other ERC-20 token. wOUSD is one of the first implementations of [EIP-4626](https://eips.ethereum.org/EIPS/eip-4626), which is an extension on ERC-20 that provides basic functionality for depositing and withdrawing tokens and reading balances on a tokenized vault. wOUSD was independently [audited by Solidified](https://github.com/OriginProtocol/security/blob/3dc8c1dec2f6fbf4f7d0bdf92408f79262624647/audits/Solidified%20-%20OGV,%20wOUSD,%20and%20ERC721a%20-%20May%202022.pdf) in May 2022 and is ready for production use. + +### Wrapping + +If you don’t already have OUSD, you can buy it from Gate.io, KuCoin, Curve, Uniswap, or [get it directly from the OUSD DApp](https://www.youtube.com/watch?v=UabjvL-7iu4). + +Once you have OUSD in your wallet, visit [ousd.com/wrap](https://ousd.com/wrap) and follow these steps: + +1. Connect your wallet +2. Enter the amount of OUSD that you want to wrap +3. Submit the allowance for the wOUSD contract to use your OUSD +4. Submit the transaction to wrap your OUSD + +![ousd.com/wrap](https://cdn-images-1.medium.com/max/1600/1\*57fSZSSlzebhpIl8R4UqUQ.png) + +### Unwrapping + +Unwrapping your OUSD does not require any approvals since you already hold the wOUSD in your wallet. There's also no minimum term or lock-up period. You can use the same form shown above and just click the arrow to flip it to unwrap mode. This form calls the `redeem` function to unwrap a spcific amount of wOUSD. You can also [use Etherscan](https://etherscan.io/address/0xd2af830e8cbdfed6cc11bab697bb25496ed6fa62#writeProxyContract) to call the `withdraw` function if you prefer to specify the amount of OUSD that you want to be taken out. + diff --git a/es/core-concepts/yield-generation/README.md b/es/core-concepts/yield-generation/README.md new file mode 100644 index 000000000..e46bec59d --- /dev/null +++ b/es/core-concepts/yield-generation/README.md @@ -0,0 +1,30 @@ +# Generación de rendimiento + +**Cultivo de Rendimiento Automatizado** + +Si bien la explosión cámbrica de nuevos préstamos y pools de creadores de mercado automatizados ha impulsado el valor total bloqueado (TVL), también ha hecho que sea cada vez más difícil para los productores de rendimiento asignar capital manualmente de manera eficiente y óptima. + +[Yearn](https://yearn.finance) ha demostrado que los contratos inteligentes pueden automatizar el reequilibrio de fondos en varias estrategias para ganar de manera óptima intereses, tarifas de creación de mercado y tokens de recompensa. Con el tiempo, se implementarán nuevas estrategias que maximizan los retornos y minimizan el riesgo y las dependencias. + +![Recolección de rendimiento automatizada en el protocolo OUSD](../../.gitbook/assets/ousd_earnings_graphic.png) + +OUSD utiliza las siguientes estrategias de alto nivel para generar rendimiento: + +{% content-ref url="lending.md" %} +[lending.md](lending.md) +{% endcontent-ref %} + +{% content-ref url="market-making.md" %} +[market-making.md](market-making.md) +{% endcontent-ref %} + +{% content-ref url="rewards.md" %} +[rewards.md](rewards.md) +{% endcontent-ref %} + +OUSD puede generar mayores rendimientos que los protocolos de la competencia debido a una combinación de importantes decisiones de diseño que amplifican las recompensas que se devuelven a los holders de OUSD: + +* Las tarifas de salida se devuelven al grupo de liquidez, recompensando a los holders a largo plazo +* Los oráculos de precios favorecen al colectivo sobre el individual, recompensando nuevamente a los holders a largo plazo +* Los contratos inteligentes deben optar manualmente para obtener rendimiento. Esto permite que el protocolo ponga más capital a trabajar de lo que sería posible de otra manera. +* Las estrategias inteligentes equilibran el riesgo y la recompensa de manera más eficaz que la implementación de capital en una sola estrategia subyacente. diff --git a/es/core-concepts/yield-generation/lending.md b/es/core-concepts/yield-generation/lending.md new file mode 100644 index 000000000..fc923aa92 --- /dev/null +++ b/es/core-concepts/yield-generation/lending.md @@ -0,0 +1,26 @@ +# Préstamo + +**Desbancar a los bancarizados** + +Las plataformas de préstamos DeFi permiten a los usuarios prestar y pedir prestadas criptomonedas sin intermediarios. Tanto los prestamistas como los prestatarios obtienen más valor de sus criptomonedas. Los prestamistas ganan intereses, mientras que los prestatarios depositan criptomonedas como garantía para obtener acceso al crédito sin los tradicionales dolores de cabeza bancarios. Actualmente, las plataformas de préstamos DeFi proporcionan a los prestamistas retornos muy superiores a los que están generalmente disponibles en los mercados tradicionales. + +OUSD se integra con las plataformas de préstamos DeFi que brindan préstamos con exceso de garantía. La sobregarantía, combinada con reglas inteligentes sobre liquidaciones, proporciona un nivel razonable de seguridad para los prestamistas. Aave también asegura sus grupos de préstamos con tokens AAVE respectivamente, lo que reduce aún más el riesgo. + +OUSD se integra con los principales proveedores de préstamos que tienen un historial probado, contratos inteligentes auditados y que han prestado con éxito cientos de millones de dólares sin problemas. Actualmente estamos integrados con las siguientes plataformas de préstamos: + +{% content-ref url="../supported-strategies/compound.md" %} +[compound.md](../supported-strategies/compound.md) +{% endcontent-ref %} + +{% content-ref url="../supported-strategies/aave.md" %} +[aave.md](../supported-strategies/aave.md) +{% endcontent-ref %} + + + + + + + + + diff --git a/es/core-concepts/yield-generation/market-making.md b/es/core-concepts/yield-generation/market-making.md new file mode 100644 index 000000000..4b2a0ca5f --- /dev/null +++ b/es/core-concepts/yield-generation/market-making.md @@ -0,0 +1,22 @@ +# Creación de Mercado + +**Sea dueño de su participación en exchanges descentralizados** + +Los creadores de mercado automatizados (AMM) se han convertido rápidamente en la forma preferida de intercambio descentralizado en la red Ethereum. Esto se debe en parte a la dificultad de admitir libros de pedidos en los DEX en la red de Ethereum 1.0 que pueden rivalizar con las experiencias instantáneas y de bajo deslizamiento de los exchanges centralizados. Además, los AMM como Uniswap son relativamente fáciles de usar y de uso eficiente del gas. + +Los AMM solo pueden habilitar nuevos mercados cuando los proveedores de liquidez brindan liquidez (por ejemplo, múltiples tokens para determinados pares comerciales o pools). A cambio de proporcionar liquidez, los proveedores de liquidez son recompensados con comisiones de trading cuando otros usuarios intercambian tokens. Por ejemplo, cuando los comerciantes intercambian dos tokens en Uniswap v3, actualmente se les cobra entre el 0,05% y el 1% además de las tarifas del gas. Estas tarifas se distribuyen proporcionalmente a los proveedores de liquidez del par en función del porcentaje de liquidez total que hayan proporcionado. + +{% hint style="info" %} +[Pérdida impermanente](https://medium.com/@pintail/uniswap-a-good-deal-for-liquidity-providers-104c0b6816f2) es un factor de riesgo importante de comprender, pero esta preocupación se mitiga en gran medida porque OUSD solo proporciona liquidez para monedas estables de aproximadamente el mismo valor. +{% endhint %} + +El protocolo OUSD enruta USDT, USDC y DAI a pools de liquidez de alto rendimiento según lo determinado por el volumen de negociación y recompensa tokens (por ejemplo, Curve recompensa tokens CRV a proveedores de liquidez). Luego, los rendimientos se transfieren a los holders de OUSD. + +Actualmente estamos integrados con el siguiente creador de mercado automatizado: + +{% content-ref url="../supported-strategies/curve.md" %} +[curve.md](../supported-strategies/curve.md) +{% endcontent-ref %} + + + diff --git a/es/core-concepts/yield-generation/rewards.md b/es/core-concepts/yield-generation/rewards.md new file mode 100644 index 000000000..e3c345617 --- /dev/null +++ b/es/core-concepts/yield-generation/rewards.md @@ -0,0 +1,12 @@ +# Recompensas + +**Collecting Rewards** + +Además de cobrar intereses de préstamos y comisiones de creación de mercado, tenemos la intención de reclamar y convertir automáticamente los incentivos de bonificación que están siendo distribuidos por muchos de los protocolos DeFi. Por ejemplo, Compound regala tokens COMP y Curve regala tokens CRV. Estas recompensas de bonificación se convertirán regularmente en monedas estables, se implementarán en el mercado y se distribuirán a los titulares de OUSD en forma de rendimiento adicional. + +{% hint style="info" %} +Si bien la bóveda almacena de forma segura cualquier recompensa inesperada que reciba, será necesario escribir e implementar estrategias personalizadas para decidir cuándo y cómo el protocolo debe convertirlas en monedas estables. +{% endhint %} + +Hoy en día, las recompensas son un factor importante para los cultivadores de rendimiento, ya que representan un gran porcentaje de sus ganancias. Anticipamos que el protocolo OUSD se actualizará con el tiempo para aprovechar los rendimientos más atractivos disponibles en todo el panorama de DeFi. El protocolo tendrá en cuenta el valor de mercado de las diversas recompensas que se ofrecen al decidir cómo distribuir mejor los recursos. + diff --git a/es/faq.md b/es/faq.md new file mode 100644 index 000000000..66bdb5b58 --- /dev/null +++ b/es/faq.md @@ -0,0 +1,33 @@ +# Preguntas Frecuentes + +**¿Dónde puedo comprar OUSD?** + +Consulte [Introducción](https://docs.ousd.com/getting-started) para ver una variedad de opciones. + +**¿Cuáles son los costos de acuñar y canjear el OUSD?** + +Al igual que con cualquier transacción de Ethereum, necesitará Ether para interactuar con el contrato inteligente de OUSD. Hemos tomado medidas para reducir el uso de gas siempre que sea posible, pero estos costos pueden variar. + +Cada vez que acuñe o canjee OUSD, se aplicará un tipo de cambio a sus monedas estables depositadas o retiradas. Puede leer más sobre esto en [Precios de Oráculos](https://docs.ousd.com/core-concepts/price-oracles). + +To encourage long-term holding of OUSD and to protect the protocol from attackers, an exit fee of 0.25% is charged on all redeems. Puede leer más sobre esto en [Cómo funciona](https://docs.ousd.com/how-it-works). + +**¿Qué tan pronto aumentará mi saldo una vez que tenga OUSD?** + +La cantidad de OUSD en su billetera aumentará cada vez que haya un evento de rebase positivo. Puede leer más sobre esto en [Suministro Flexible](https://docs.ousd.com/core-concepts/elastic-supply). Actualmente, el suministro se reajusta varias veces al día y, por lo general, se correlaciona con la cantidad de personas que acuñan y canjean OUSD. + +**¿Por qué OUSD no crece cuando se lleva a cabo en Uniswap, SushiSwap, etc.?** + +De forma predeterminada, los eventos de rebase no afectan el suministro de OUSD que se encuentra en los contratos inteligentes. Estos contratos pueden optar por recibir OUSD adicional si son capaces de manejar tokens de suministro elásticos. Puede leer más sobre esto en [Rebase & Contratos Inteligentes](https://docs.ousd.com/core-concepts/elastic-supply/rebasing-and-smart-contracts). + +**¿Cómo es posible que el APY sea tan alto?** + +Puede leer sobre nuestras diversas estrategias en [Generación de Rendimientos](https://docs.ousd.com/core-concepts/yield-generation). Actualmente obtenemos la mayor parte del rendimiento de la recolección de tokens de recompensa (como, COMP y CRV). Además, el rendimiento aumenta a medida que se mantiene más OUSD en contratos inteligentes que no optan por reajustar, ya que la garantía subyacente continúa ganando para el holder promedio de OUSD. + +**¿Por qué mi saldo aumenta a un ritmo más lento que el APY anunciado?** + +Los saldos de OUSD aumentan cuando se reajusta la oferta. Pero el tamaño de cada rebase varía enormemente dependiendo de cuánto haya ganado la bóveda desde el último rebase. Y mientras que la mayoría de las rebases obtienen una pequeña cantidad de ganancias de las estrategias de préstamos, otras rebases implican liquidar tokens de recompensa o cobrar tarifas. Como resultado, el rendimiento variará significativamente durante períodos cortos de tiempo. + +**¿Y el hackeo? ¿Es seguro OUSD?** + +El 7 de noviembre de 2020, OUSD sufrió un exploit por 7M USD debido a un error de reentrada no detectado previamente. Puede leer más [detalles sobre el hack](https://medium.com/originprotocol/urgent-ousd-has-hacked-and-there-has-been-a-loss-of-funds-7b8c4a7d534c) en nuestro blog, así como el [plan de compensación detallado](https://medium.com/originprotocol/origin-dollar-ousd-detailed-compensation-plan-faa73f87442e) para cuidar a los usuarios afectados. Origin Dollar se relanzó en diciembre después de completar varias auditorías y actualizaciones de seguridad. Puede obtener más información sobre los pasos tomados para asegurar el protocolo en nuestro [anuncio de relanzamiento](https://medium.com/originprotocol/origin-dollar-ousd-is-back-b8ee0c601dad). diff --git a/es/getting-started.md b/es/getting-started.md new file mode 100644 index 000000000..1e87a8741 --- /dev/null +++ b/es/getting-started.md @@ -0,0 +1,71 @@ +# Empezando + +Estos documentos están destinados a explicar cómo funciona OUSD, comunicar los riesgos y beneficios potenciales y proporcionar una guía para los desarrolladores que deseen contribuir a nuestro código base o integrar OUSD en sus productos. Aquí hay algunas formas en las que puede sumergirse y comenzar. + +**Comprando OUSD** + +{% hint style="info" %} +La [DApp de Origin Dollar](https://ousd.com/swap) enrutará inteligentemente su transacción para obtener la mejor tarifa. +{% endhint %} + +La [DApp de Origin Dollar](https://ousd.com/swap) permite a cualquier persona comprar o vender OUSD utilizando una billetera de criptomonedas compatible con web-3 como [Metamask](https://www.metamask.io), [Ledger](https://www.ledger.com) o [Gnosis Safe](https://gnosis-safe.io). Esta es la forma nativa de obtener OUSD, especialmente si desea una gran cantidad que podría arriesgar el movimiento del mercado en otros exchanges. La DApp decidirá inteligentemente si crear o intercambiar tokens OUSD utilizando la bóveda o lo ayudará a completar el intercambio en el AMM que actualmente ofrezca la mejor tarifa. + +**Exchanges descentralizados** + +OUSD está disponible actualmente en los siguientes exchanges descentralizados. Estos se enumeran aquí solo como referencia. Recomendamos utilizar la [DApp de Origin Dollar](https://ousd.com/swap) para asegurarse de obtener siempre la mejor tarifa. + +* [Compre OUSD en 1inch](https://app.1inch.io/#/1/swap/USDT/OUSD) +* [Compre OUSD en Curve](https://curve.fi/factory/9) +* [Compre OUSD en Uniswap v3](https://app.uniswap.org/#/swap?inputCurrency=0xdac17f958d2ee523a2206206994597c13d831ec7\&outputCurrency=0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86) +* [Compre OUSD en Uniswap v2](https://app.uniswap.org/#/swap?inputCurrency=0xdac17f958d2ee523a2206206994597c13d831ec7\&outputCurrency=0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86\&use=v2) +* [Compre OUSD en Sushiswap](https://exchange.sushiswapclassic.org/#/swap?inputCurrency=0xdac17f958d2ee523a2206206994597c13d831ec7\&outputCurrency=0x2a8e1e676ec238d8a992307b495b45b3feaa5e86) + +**Exchanges centralizados** + +OUSD está disponible actualmente en los siguientes exchanges centralizados. Asegúrese de verificar cómo manejan el rendimiento que genera el protocolo. Dependiendo del exchange, puede haber pasos adicionales que deba seguir para participar en el rendimiento mientras está bajo su custodia. + +* Compre OUSD en KuCoin + * [OUSD/USDT](https://trade.kucoin.com/OUSD-USDT) + * [OUSD/BTC](https://trade.kucoin.com/OUSD-BTC) +* Buy OUSD on Gate.io + * [OUSD/USDT](https://www.gate.io/trade/OUSD\_USDT) +* Buy OUSD on Virgox + * [OUSD/USDT](https://virgox.com/exchange/141) +* [Buy OUSD on Dharma App](https://www.dharma.io) (US only) + +Seguimos trabajando para que OUSD esté disponible en exchanges centralizados adicionales. + +**Agregando OUSD a su billetera** + +{% hint style="success" %} +La dirección ERC20 principal de Origin Dollar(OUSD) es: \ +**0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +Si su OUSD no aparece automáticamente en su billetera, debería poder agregarlo manualmente usando la dirección anterior. Si usted está planeando en [almacenar su OUSD en una billetera de múltiples firmas](core-concepts/elastic-supply/rebasing-and-smart-contracts.md), asegúrese de optar para recibir el rendimiento. Queremos que OUSD sea compatible con tantas billeteras como sea posible y que se incluya en todas las diversas listas de tokens conocidos. Agradeceríamos enormemente cualquier ayuda que pueda ofrecer en esta área. + +**Integrando OUSD** + +OUSD es un token ERC-20 no estándar que requiere un trabajo de integración personalizado para la mayoría de las aplicaciones que desean admitirlo. En particular, es importante que los desarrolladores comprendan cómo funciona nuestro suministro elástico, ya que esto puede causar fácilmente un comportamiento inesperado. + +Si es un proveedor de billetera o un intercambio de criptomonedas que está interesado en respaldar OUSD, consulte las siguientes guías: + +{% content-ref url="core-concepts/elastic-supply/rebasing-and-smart-contracts.md" %} +[rebasing-and-smart-contracts.md](core-concepts/elastic-supply/rebasing-and-smart-contracts.md) +{% endcontent-ref %} + +{% content-ref url="smart-contracts/architecture.md" %} +[architecture.md](smart-contracts/architecture.md) +{% endcontent-ref %} + +{% content-ref url="smart-contracts/api/" %} +[api](smart-contracts/api/) +{% endcontent-ref %} + +**Panel de Desarrolladores** + +Nuestro panel de desarrolladores interno está disponible en [analytics.ousd.com](https://analytics.ousd.com). El panel muestra el suministro circulante actual, los activos bajo administración en la bóveda y las asignaciones actuales entre cada una de las monedas estables y estrategias. + +**Obtener ayuda** + +Únase a la sala de #engineering de Origin Dollar en el servidor de [Discord](https://www.originprotocol.com/discord) de Origin. Nuestro equipo y los miembros de nuestra comunidad esperan poder ayudarlo a construir. Sus preguntas nos ayudan a mejorar, así que no dude en preguntar si no encuentra aquí lo que busca. diff --git a/es/governance/admin-privileges.md b/es/governance/admin-privileges.md new file mode 100644 index 000000000..c3b0ec001 --- /dev/null +++ b/es/governance/admin-privileges.md @@ -0,0 +1,32 @@ +# Privilegios de Administrador + +Los contratos inteligentes de OUSD están diseñados para que el propietario pueda actualizarlos. El equipo de Origin utiliza dos contratos de billetera multifirma Gnosis diferentes para realizar cambios en el protocolo. Estas carteras multifirma han sido [auditadas por OpenZeppelin](https://blog.openzeppelin.com/gnosis-multisig-wallet-audit-d702ff0e2b1e/), [ConsenSys Dilligence](https://blog.gnosis.pm/the-gnosis-multisig-wallet-and-our-commitment-to-security-ce9aca0d17f6), el equipo de Origin y otros. + +{% hint style="info" %} +Las acciones administrativas que retrasan el tiempo les dan a los usuarios la oportunidad de salir de OUSD si sus administradores se vuelven maliciosos, se ven comprometidos o hacen un cambio que a los usuarios no les gusta. +{% endhint %} + +### Admin + +El administrador principal es un contrato multifirma 5 de 8 que se requiere para realizar cualquier cambio de código en el protocolo. OUSD solo se puede actualizar desde esta billetera multi-sig de 5 de 8. Las claves de este multi-sig están en manos de personas con vínculos estrechos con la empresa, y ni siquiera los fundadores de Origin que actúan juntos tienen suficiente control para ejecutar las funciones de propietario por su cuenta. In addition, the OUSD contracts are owned by a [timelock](../smart-contracts/api/timelock.md) which places a 48 hour time delay before any changes to the protocol can be made. + +### Strategist + +Some functionality, such as rebalancing funds between strategies or pausing deposits, can be triggered without the timelock and with far fewer signers. Esto permite que el equipo de Origin reaccione más rápidamente ante las condiciones del mercado o las amenazas a la seguridad. These signers, known as Strategists, have the ability to execute a limited number of functions __ with only 2 of 9 signers. + +The strategist multisig can do the following actions on the vault: + +* reallocate - move funds between strategies +* setVaultBuffer - adjust the amount of funds held outside strategies for cheaper redeems. +* setAssetDefaultStrategy - which strategy mints and redeems pull from for a particular strategy +* withdrawAllFromStrategy - remove funds from a single strategy and send them to the vault +* withdrawAllFromStrategies - remove funds from all active strategies and send them to the vault +* pauseRebase - pause all rebases +* pauseCapital - pause all mints and redeems +* unpauseCapital - allow all mints and redeems + +### Future + +Having these admin privileges is necessary in the early days to ensure that the protocol is secure and optimized for earning yields while minimizing risks. We expect to release multiple iterations of our smart contracts in the first several months of the protocol's existence. + +Once several upgrade cycles have been completed, we intend to transfer ownership from our company control to a decentralized governance contract, thereby allowing the community to vote and participate in future protocol updates. diff --git a/es/governance/contributing.md b/es/governance/contributing.md new file mode 100644 index 000000000..19e149b75 --- /dev/null +++ b/es/governance/contributing.md @@ -0,0 +1,103 @@ +# Contribuyendo + +**100% Código abierto** + +OUSD es un proyecto completamente de código abierto y agradecemos contribuciones de todo tipo. Hay muchas formas de ayudar, desde informar problemas, contribuir con código y ayudarnos a mejorar nuestra comunidad. + +{% content-ref url="broken-reference" %} +[Enlace roto](broken-reference) +{% endcontent-ref %} + +Trabajamos en público y el Discord de nuestra empresa está abierto a todos. Si tiene preguntas o necesita ayuda para comenzar, nuestros [canales de OUSD en Discord](https://discord.gg/jyxpUSe) son el mejor lugar para obtener ayuda de nuestro equipo y comunidad. + +{% content-ref url="broken-reference" %} +[Enlace roto](broken-reference) +{% endcontent-ref %} + +**Análisis del Desarrollador** + +Nuestro panel de desarrollo interno está disponible en [analytics.ousd.com](https://analytics.ousd.com). El panel muestra el suministro circulante actual, los activos bajo administración en la bóveda y las asignaciones actuales entre cada una de las monedas estables y estrategias. Se pueden encontrar otras herramientas para desarrolladores en [ousd.com/dashboard](https://ousd.com/dashboard). + +#### Proceso de Desarrollo + +Nuestra estrategia de ramificación es similar a [GitFlow](http://nvie.com/posts/a-successful-git-branching-model/), pero hacemos todo nuestro desarrollo en la rama `master` y tenemos una rama `estable` para el código que se ha lanzado. + +Su flujo de desarrollo debería verse así: + +1. ¡Encuentra un tema interesante y comunícate! Por favor informe al canal `#engineering` [Discord](https://discord.gg/jyxpUSe) qué desea trabajar. +2. Haga ping a un miembro del equipo central, [](https://github.com/orgs/OriginProtocol/teams/core/members) miembro en Discord y pida que lo agreguen a nuestro equipo de [colaboradores](https://github.com/orgs/OriginProtocol/teams/contributors). De lo contrario, deberá bifurcar el repositorio relevante y enviar las ramas de funciones a su propia bifurcación. +3. Agregue un comentario al problema o autoasignelo para que no tengamos varios colaboradores trabajando involuntariamente en la misma tarea. +4. Comience con la rama `master` y compruebe una nueva rama de función a menos que esté contribuyendo a una función existente. +5. Escribe un código asombroso. +6. Extraiga las últimas confirmaciones de `master` y confirme que su código funciona con cualquier otro trabajo que se haya fusionado desde que comenzó. +7. Empuje su rama al repositorio (es decir, https://github.com/OriginProtocol/\[repo]) para que otros contribuyentes puedan trabajar fácilmente si es necesario. +8. Solicite una revisión en el RP haciendo clic en el ícono de ajustes junto a "Reviewers" en la columna de la derecha. + +Para fusionar el código de contrato inteligente crítico, debe pasar la siguiente lista de verificación: + +* Código revisado por 2 revisores +* Las pruebas unitarias pasan +* Las pruebas de deslizamiento pasan sin previo aviso +* Pasan las pruebas de equidna + +La rama `master` está bloqueada para que solo los miembros del [equipo central](https://github.com/orgs/OriginProtocol/teams/core) puedan fusionar sus solicitudes de extracción. Las solicitudes de extracción que son revisadas por pares por otros colaboradores de confianza se acelerarán y se fusionarán más rápido! Consulte el canal `#engineering` de Discord para ver los revisores adecuados. + +#### Estilo de Codificación + +Usamos una variedad de lenguajes de programación en nuestros repositorios. Cuando contribuya, siga las convenciones de codificación existentes y consulte el archivo CONTRIBUTING.md en el repositorio, si existe. + +Para JavaScript, usamos el [estilo NPM](https://docs.npmjs.com/misc/coding-style), que se aplica automáticamente a través de [prettier](https://prettier.io). + +Para Solidity, usamos sangrías de dos espacios. + +#### Diseño de Protocolo + +Al considerar propuestas de diseño de protocolo o implementación, buscamos: + +* Una descripción del problema que resuelve esta propuesta de diseño +* Discusión de las compensaciones involucradas +* Revisión de otras soluciones existentes +* Enlaces a literatura relevante (RFC, artículos, etc.) +* Discusión de la solución propuesta + +Tenga en cuenta que el diseño del protocolo es un trabajo arduo y meticuloso. Es posible que deba revisar la literatura existente y pensar en casos de uso generalizados. + +#### Principios de la Comunidad + +Queremos que la comunidad de Origin siga siendo increíble, en crecimiento y colaborativa. Necesitamos su ayuda para que siga siendo así. Para ayudar con esto, hemos elaborado algunas pautas generales para la comunidad en su conjunto: + +* Sea amable: sea cortés, respetuoso y cortés con los miembros de la comunidad: no se tolerará ningún abuso regional, racial, de género o de otro tipo. ¡Nos gustan las personas agradables mucho más que las malas! +* Fomentar la diversidad y la participación: hacer que todos en nuestra comunidad se sientan bienvenidos, independientemente de sus antecedentes y el alcance de sus contribuciones, y hacer todo lo posible para fomentar la participación en nuestra comunidad. +* Manténgala legal: Básicamente, no meta a nadie en problemas. Comparta solo el contenido de su propiedad, no comparta información privada o confidencial y no infrinja las leyes. +* Mantente en el tema: asegúrate de publicar en el canal correcto y evita discusiones fuera del tema. Recuerde cuando actualiza un problema o responde a un correo electrónico que potencialmente está enviando a una gran cantidad de personas. Considere esto antes de actualizar. Recuerde también que a nadie le gusta el spam. + +#### Informar Problemas + +Si encuentra bugs, errores o inconsistencias en el código o los documentos de Origin, háganoslo saber presentando un problema en GitHub. Ningún problema es demasiado pequeño. ¡Ayúdanos a arreglar nuestros errores! + +#### Temas de Seguridad + +OUSD aún está en desarrollo temprano, lo que significa que puede haber problemas con el protocolo o en nuestras implementaciones. Nos tomamos muy en serio las vulnerabilidades de seguridad. Si descubre un problema de seguridad, háganoslo saber de inmediato! + +Si encuentra una vulnerabilidad de seguridad, envíe su informe de forma privada a [security@originprotocol.com](mailto:security@originprotocol.com) o envíe un mensaje cifrado a [@joshfraser en Keybase](https://keybase.io/joshfraser). NO presente un problema público. Asegúrese de revisar nuestras pautas para la divulgación responsable y la elegibilidad para recompensas por errores. + +{% content-ref url="../security-and-risks/bug-bounties.md" %} +[bug-bounties.md](../security-and-risks/bug-bounties.md) +{% endcontent-ref %} + +#### **Mejora de la Comunidad** + +Origin tiene tanto que ver con la comunidad como con nuestra tecnología. + +Necesitamos ayuda constante para mejorar nuestra documentación, crear nuevas herramientas para interactuar con nuestra plataforma, hacer correr la voz a nuevos usuarios, ayudar a los nuevos usuarios a configurar y mucho más. + +Póngase en contacto si desea ayudar. Nuestro canal `discussion` en [Discord](https://www.originprotocol.com/discord) es un gran lugar para compartir ideas y ofrecerte como voluntario para ayudar. + +#### Posiciones de Tiempo Completo + +Origin ocasionalmente contrata desarrolladores para puestos a tiempo parcial o completo. + +Tenemos una fuerte preferencia por contratar personas que ya han comenzado a contribuir al proyecto. Si desea un puesto de tiempo completo en nuestro equipo, lo mejor que puede hacer es interactuar con nuestro equipo y comenzar a contribuir con el código. Es muy poco probable que le ofrezcamos un puesto de tiempo completo en nuestro equipo de ingeniería a menos que haya fusionado al menos algunas solicitudes de extracción. + +Si está interesado, consulte [las listas de trabajos de Origin Protocol](https://angel.co/originprotocol/jobs). Si desea ayuda de otras maneras, por favor proponer sus ideas en [nuestro canal de Discord](https://www.originprotocol.com/discord). + diff --git a/es/governance/governance.md b/es/governance/governance.md new file mode 100644 index 000000000..eea11a787 --- /dev/null +++ b/es/governance/governance.md @@ -0,0 +1,26 @@ +# Principles + +**Progressive Decentralization** + +OUSD is designed to be a decentralized protocol governed by many stakeholders all over the world. We believe that the minters and holders of OUSD should collectively determine important protocol decisions as soon as possible. + +That being said, in the very early days, it is imperative that the core engineering team can act quickly and decisively to build the foundational parts of the protocol. + +Decentralization will progress across four phases rapidly over the next few months. It is our intent to relinquish control and governance to the community as soon as possible. + +![](../.gitbook/assets/ousd_docs_graphics_2%20%283%29.png) + +**Timelock** + +Prior to full decentralized governance, we will implement a [timelock](../smart-contracts/api/timelock-1.md) in front of all admin function calls, giving OUSD users time \(48 hours\) to withdraw their funds if they have objections to our proposed upgrades. This timelock will be added shortly after launch. + +**New and Existing Stakeholders** + +OUSD is a new project founded by Origin Protocol [team](www.originprotocol.com/team) and will be supported by the existing Origin community as well as many new stakeholders that choose to mint, hold, use, and provide liquidity for OUSD. + +In addition, we also want to ensure high participation from our existing Origin Token \(OGN\) holders, community of close to 500,000 members, and buyers/sellers on the Platform. Existing OGN holders will be able to stake their OGN to participate in governance and earn incentives for driving value to OUSD. More details will be provided in the near future. + +The strong connection between OUSD and the rest of the Origin commerce platform will fuel growth in both initiatives. + + + diff --git a/es/governance/ogn-staking.md b/es/governance/ogn-staking.md new file mode 100644 index 000000000..1ba283341 --- /dev/null +++ b/es/governance/ogn-staking.md @@ -0,0 +1,18 @@ +# Staking de OGN + +El Token de Origin (OGN) está destinado a ser el token de gobernanza para OUSD y OGN desempeñará un papel cada vez más importante a medida que la Plataforma de Origin se vuelva más descentralizada. Hoy en día, los usuarios pueden colocar en staking sus tokens OGN para ganar OGN adicional después de que haya transcurrido un período de bloqueo elegido. + +{% hint style="info" %} +Visite [OUSD DApp](https://www.ousd.com/stake) en un navegador habilitado para web3 para colocar en staking su OGN. +{% endhint %} + +El programa de staking inicial ofrece tres períodos de staking y rendimientos respectivos: + +* Periodo de staking de 30 días: Gane un interés anualizado del 7,5% +* Periodo de staking de 90 días: Gane un interés anualizado del 12,5% +* Periodo de staking de 365 días: Gane un interés anualizado del 25% + +Los tokens colocados en staking se bloquearán durante el período de staking. Después de que finalice cada período de staking, podrá reclamar tanto su OGN (capital) inicial como su rendimiento. + +OGN actualmente cotiza en los principales exchanges como [Coinbase](https://www.coinbase.com/price/origin-token), [Binance](https://www.binance.com/en/register?ref=NPPYAEAE), [Huobi](https://www.huobi.com/en-us/exchange/ogn_usdt/), [Upbit](https://upbit.com/exchange?code=CRIX.UPBIT.BTC-OGN), [Bittrex Global](https://global.bittrex.com/Market/Index?MarketName=BTC-OGN) y [docenas más](https://coinmarketcap.com/currencies/origin-protocol/markets/). Visite el sitio web de Origin para [obtener más información sobre OGN](https://www.originprotocol.com/ogn-token) o consulte [el panel de OGN](https://www.originprotocol.com/dashboard) para realizar un seguimiento de métricas de tokens importantes. + diff --git a/es/governance/phases.md b/es/governance/phases.md new file mode 100644 index 000000000..1ba0e88a7 --- /dev/null +++ b/es/governance/phases.md @@ -0,0 +1,6 @@ +# Fases + +La descentralización progresiva seguirá las cuatro fases que se describen a continuación. + +![](../.gitbook/assets/ousd_docs_graphics_2%20%282%29.png) + diff --git a/es/governance/principles.md b/es/governance/principles.md new file mode 100644 index 000000000..0ca2f5860 --- /dev/null +++ b/es/governance/principles.md @@ -0,0 +1,30 @@ +# Principios + +**Portal de Gobernanza** + +Se anima a los holders de OGN a participar en la creación y votación de propuestas que afecten al protocolo en [el portal de gobernanza de OGN](https://vote.originprotocol.com). Cualquiera con al menos 1,000 OGN en su billetera o puestos en staking en nuestro contrato de OGN Staking puede crear una nueva propuesta usando Snapshot. Todos los holders de OGN pueden votar en propuestas. Nuestro deseo es que nuestra comunidad tenga un fuerte impacto en la dirección de los productos de Origin, la base de código de fuente abierta y tenga voz en las decisiones comerciales clave y la dirección general del proyecto. + +OGN holders can also [delegate votes](vote-delegation.md) to another account. + +**Progressive Decentralization** + +OUSD is designed to be a decentralized protocol governed by many stakeholders all over the world. We believe that the holders of OUSD should collectively determine important protocol decisions as soon as possible. + +That being said, in the very early days, it is imperative that the core engineering team can act quickly and decisively to build the foundational parts of the protocol. + +Decentralization will progress across four phases rapidly over the next few months. It is our intent to relinquish control and governance to the community as soon as possible. + +![](../.gitbook/assets/ousd\_docs\_graphics\_2 (2).png) + +**Timelock** + +Prior to full decentralized governance, we will implement a [timelock](../smart-contracts/api/timelock.md) in front of all admin function calls, giving OUSD users time to withdraw their funds if they have objections to our proposed upgrades. + +**New and Existing Stakeholders** + +OUSD is a new project founded by Origin Protocol [team](https://www.originprotocol.com/team) and will be supported by the existing Origin community as well as many new stakeholders that choose to mint, hold, use, and provide liquidity for OUSD. + +In addition, we also want to ensure high participation from our existing Origin Token (OGN) holders and the millions of people in our community. Existing OGN holders are able to [stake their OGN](ogn-staking.md) to participate in governance and earn incentives for driving value to OUSD. + +The strong connection between OUSD and the rest of the Origin commerce platform will fuel growth in both initiatives. + diff --git a/es/governance/vote-delegation.md b/es/governance/vote-delegation.md new file mode 100644 index 000000000..9a8149d2f --- /dev/null +++ b/es/governance/vote-delegation.md @@ -0,0 +1,18 @@ +# Vote Delegation + +OGN holders can forward their voting power on the [Governance Portal](https://vote.originprotocol.com/#/) to another Ethereum address. Choosing this option does not strip the delegator of their voting power. The delegatee receives the extra voting power only on proposals the delegator has not voted on. + +This is convenient when users want someone they trust or even one of Origin's team members to make governance decisions regarding Origin's ecosystem. It is also useful when users have OGN stored more safely in a hardware wallet and don’t want to go through the hassle of connecting it to the computer. A more accessible Ethereum wallet e.g. Metamask can be used to vote by having voting power delegated to it from the hardware wallet.\ + + +**How to Delegate** + +* Go to: [https://snapshot.org/#/delegate](https://snapshot.org/#/delegate). +* Type in the address or ENS name you want to delegate to. +* There is an option to limit the delegation power to only Origin’s products by selecting _Limit delegation to a specific space_ and typing in “origingov.eth”. +* Click confirm to save your delegation.\ + + +![](../.gitbook/assets/Screenshot 2022-03-20 at 10.47.43.png) + +After completing these steps, the OGN voting power is successfully delegated to the address specified. diff --git a/es/guides/incentivized-harvesting-guide.md b/es/guides/incentivized-harvesting-guide.md new file mode 100644 index 000000000..a24597e9c --- /dev/null +++ b/es/guides/incentivized-harvesting-guide.md @@ -0,0 +1,46 @@ +# Incentivized Harvesting Guide + +The OUSD Harvester contract collects reward tokens earned by the OUSD strategies, sells them, and sends them on to increase protocol yield. **Anyone can call the harvest and earn 1% of the resulting USDT** for doing so. This creates a self-incentivizing system that operates at a known cost to the protocol. + +### When to call + +You'll want to call this contract when it is profitable to do so. You gain the 1% harvest USDT given by the contract, and spend the gas cost to send the transaction. + +The simplest way to calculate both of these is to simulate the transaction. You can then look at the resulting transfers to know the income received, and you can look at the gas amount used, the current gas prices, and the current cost of ETH, to find out the cost. + +Alternatively you can precompute the gas used for a given strategy's harvest, look up the pending reward tokens using various online services, then do your calculations without using the blockchain. + +The amount of rewards increases at a fairly steady, predictable rate. The primary variation is in gas prices, which will make a much bigger minute to minute difference on when you should call this. + +When calculating profitability, remember to account for the cost to swap back to ETH from USDT. + +### How to call + +When you call the harvest, **you will want to use some form of MEV protection**. Otherwise bots will see that your transaction is profitable, and execute it ahead of you, leaving you no gain and only gas fees. + +To harvest, you call `harvester.harvestAndSwap(strategyAddress, rewardTo)`. + +The harvester address and strategyAddresses can be found in the strategy tab of the [contract registry](../smart-contracts/registry.md). The `rewardTo` address is the account that will receive the USDT funds as a reward for calling the function - use your own address for it. + +Below is the harvestAndSwap ABI: + +``` +[{ + "inputs": [ + { + "internalType": "address", + "name": "_strategyAddr", + "type": "address" + }, + { + "internalType": "address", + "name": "_rewardTo", + "type": "address" + } + ], + "name": "harvestAndSwap", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" +}] +``` diff --git a/es/guides/integration-guide-for-exchanges.md b/es/guides/integration-guide-for-exchanges.md new file mode 100644 index 000000000..3128959e2 --- /dev/null +++ b/es/guides/integration-guide-for-exchanges.md @@ -0,0 +1,34 @@ +# Guía de Integración para Exchanges + +Los exchanges centralizados jugarán un papel importante para ayudarnos a alcanzar nuestra meta de hacer que OUSD sea omnipresente. Nos complace ayudar a cualquier exchange que desee que OUSD esté disponible para sus usuarios. Creemos que OUSD será una gran adición a cualquier exchange que quiera ofrecer una moneda estable superior y una nueva oportunidad de alto rendimiento para sus usuarios. + +Estos documentos son un excelente punto de partida para comprender cómo funciona OUSD. Aquí hay algunas preguntas importantes para los exchanges que deseen integrar OUSD para considerar: + +**¿Quieres participar en el rendimiento que se genera?** + +¡Asumimos que la respuesta será sí y también lo alentamos a seguir! Sin embargo, puede haber algunos casos en los que prefiera moverse rápido y listar OUSD sin participar en el [rebase de OUSD](../core-concepts/elastic-supply/rebasing-and-smart-contracts.md) ya que es la integración más rápida y simple. Para los exchanges que desean incluir OUSD, pero tienen pocos recursos de ingeniería, es posible que desee iniciar la versión sin reajuste primero mientras sus ingenieros realizan los cambios necesarios. Para que OUSD no rebase, puede llamar a `rebaseOptOut()` desde cada billetera EOA que contiene OUSD, o no hacer nada si está almacenando OUSD en contratos inteligentes. El OUSD sin rebase se comporta como cualquier otro token ERC-20. + +**¿Está almacenando saldos de clientes en contratos inteligentes (es decir, multi-firmas) o carteras EOA?** + +Cualquier contrato inteligente que tenga OUSD debe optar manualmente para recibir el rendimiento llamando a `rebaseOptIn()`. Esto se debe a la [oferta elástica](../core-concepts/elastic-supply/) y la [naturaleza de rebase](../core-concepts/elastic-supply/rebasing-and-smart-contracts.md). Muchos exchanges barren los fondos de los clientes en una billetera multi-sig para almacenamiento en frío. Si hace esto, querrá asegurarse de optar por el cambio de base para que siempre esté ganando. + +**¿Está almacenando en caché los saldos de los usuarios?** + +OUSD actualiza dinámicamente el valor devuelto por la función `balanceOf()` en nuestro contrato ERC20. Los saldos de los usuarios se actualizarán en momentos impredecibles a medida que el protocolo genere un nuevo rendimiento. Mientras no esté almacenando en caché este valor, los usuarios siempre verán la cantidad correcta de OUSD que tienen. + +Es importante tener en cuenta que, si bien OUSD es un token de rebase, los saldos de los usuarios solo se reajustarán en una dirección positiva (su saldo nunca bajará). Esto hace que las cosas sean mucho más simples que la integración de otras monedas de rebase como AMPL u otros algo-estables. + +**¿Está mezclando fondos de usuarios?** + +Si está mezclando fondos, querrá asegurarse de que cada usuario obtenga su cantidad prorrateada del rendimiento que genera el protocolo. Probablemente la forma más fácil de hacer esto es rastrear el saldo de cada usuario como un porcentaje de un pool en lugar de como una cantidad fija. + +**¿Está pensando en aportar liquidez?** + +El equipo de Origin a menudo está dispuesto a proporcionar un creador de mercado y liquidez inicial para los intercambios que desean integrar OUSD. También hay 9 cifras de liquidez disponibles en intercambios descentralizados como [Curve](https://curve.fi/factory/9). + +Si está interesado en utilizar OUSD para impulsar su propio programa de staking o ganancias, probablemente querrá poder acceder a OUSD a pedido. OUSD siempre se puede acuñar o canjear utilizando la [DApp Origin Dollar](https://www.ousd.com), o directamente desde los [contratos inteligentes de OUSD ](../smart-contracts/registry.md). If you are planning on providing liquidity yourself, you should be aware that the exact amount of OUSD you will receive in exchange for your USDT, USDC, or DAI depends on the current exchange rates as determined by the [oracles.](../core-concepts/price-oracles.md) If you are planning on redeeming OUSD for the underlying stablecoins, you should know there is a 0.25% exit fee and OUSD will return a basket of stable coins in proportion to the backing stablecoins in the pool. We encourage exchanges to leverage existing pools of liquidity to avoid those fees. If possible, mints or redeems should be done in large batches for maximum efficiency. + +#### ¿Tiene otras preguntas? + +La mejor manera de obtener ayuda tanto de nuestros equipos de ingeniería como de negocios es generalmente en [Discord](https://www.originprotocol.com/discord). + diff --git a/es/how-it-works.md b/es/how-it-works.md new file mode 100644 index 000000000..e5e49f414 --- /dev/null +++ b/es/how-it-works.md @@ -0,0 +1,39 @@ +# Cómo funciona + +#### 100% Respaldado y Estable + +Origin Dollar (OUSD) is an ERC-20 compliant token for the Ethereum network. + +OUSD es una moneda estable que está respaldada 1:1 por otras monedas estables como USDT, USDC y DAI. Como resultado, 1 OUSD siempre debería estar muy cerca de 1 USD en valor. + +{% hint style="success" %} +1 OUSD = 1 USD +{% endhint %} + +#### Comprando OUSD + +Los usuarios pueden convertir sus monedas estables existentes (actualmente USDT, USDC y DAI) a OUSD en la [DApp de Origin Dollar](https://www.ousd.com) oficial. Received OUSD begins accruing compounding yield immediately. + +Origin DApp enrutará de forma inteligente las transacciones de los usuarios para ofrecerles el mejor precio disponible, teniendo en cuenta el deslizamiento y los costos del gas. Esto significa que la DApp a veces alentará a los usuarios a comprar OUSD que ya está en circulación en lugar de acuñar OUSD nuevo de la bóveda. The OUSD DApp will choose from multiple sources of liquidity and will suggest the option that gives the user the best possible rate. + +**Vendiendo OUSD** + +Los usuarios pueden volver a convertir su OUSD en otras monedas estables en cualquier momento utilizando la [DApp de Origin Dollar](https://www.ousd.com). La Dapp de Origin enrutará de manera inteligente las transacciones de los usuarios para brindarles el mejor precio disponible, teniendo en cuenta el deslizamiento, los costos del gas y la tarifa de salida de la bóveda. Esto significa que la DApp a menudo ayudará a los usuarios a vender su OUSD en un AMM en lugar de canjear OUSD en la bóveda e incurrir en la tarifa de salida del protocolo. + +A 0.25% exit fee is charged upon redemption with the vault. Esta tarifa se distribuye como rendimiento adicional a los participantes restantes en la bóveda (es decir, otros holders de OUSD). La tarifa sirve como una característica de seguridad para dificultar que los atacantes aprovechen los oráculos rezagados, lo que les impide desviar monedas estables de la bóveda en caso de activos subyacentes con un precio incorrecto. La tarifa existe para incentivar a los holders a largo plazo sobre los especuladores a corto plazo. + +Tras el canje, la bóveda determinará qué monedas estables devolver al usuario. En la implementación actual, la bóveda devolverá monedas en la misma proporción que las existencias actuales. Esta falta de opciones para el usuario también protege a la bóveda en su conjunto en caso de que alguna de las monedas estables admitidas pierda su vínculo con el dólar. + +{% hint style="warning" %} +Redemptions on the OUSD vault incur a **0.25% exit fee** and the user doesn't get to pick which stablecoins they receive. Los usuarios a menudo pueden evitar esta tarifa vendiendo en un AMM en su lugar. +{% endhint %} + +#### **Rendimiento de Cultivo Automatizado ** + +OUSD genera rendimientos mediante la implementación de las monedas estables subyacentes que se depositaron en el contrato inteligente de OUSD en otros protocolos DeFi como Compound, Aave y Curve. Es posible que se agreguen nuevas estrategias diversificadas a la bóveda en el futuro. Los intereses cobrados, las tarifas de trading y los tokens de recompensa se agrupan y se convierten en monedas estables para producir rendimientos denominados en OUSD. Over time, the protocol will move assets in and out of different liquidity pools in order to provide the best yield to the holders of OUSD. + +#### **Suministro Elástico** + +Los rendimientos generados se transmiten a los holders de OUSD a través de un constante rebase del suministro de la moneda. OUSD ajusta constantemente el suministro en respuesta al rendimiento que ha generado el protocolo. Esto permite que el precio de OUSD se mantenga vinculado a $1 mientras que los saldos en las billeteras de los titulares de tokens se ajustan en tiempo real para reflejar los rendimientos que se han obtenido mediante el protocolo. + +El resultado final es una moneda estable que es fácil de gastar, obtiene grandes rendimientos automáticamente y es más deseable de mantener que las monedas estables existentes. diff --git a/es/security-and-risks/asset-risk.md b/es/security-and-risks/asset-risk.md new file mode 100644 index 000000000..92140f5ed --- /dev/null +++ b/es/security-and-risks/asset-risk.md @@ -0,0 +1,33 @@ +# Bug Bounties + +**Bug Bounties** + +Bug bounties are granted at the full discretion of Origin Protocol. The rewards range in size from **$100** for minor issues to **$250,000** for major vulnerabilities. Currently, the bounty program only applies to OUSD and not other products from Origin. + +{% hint style="warning" %} +In order to be eligible for a bug bounty, you must follow the rules of Responsible Disclosure outlined below. +{% endhint %} + +**Responsible Disclosure** + +Security is our top priority and we've taken every effort to make sure our code is secure and works as intended. However, it's completely possible that vulnerabilities both large and small may have gone undetected. + +In case you discover a vulnerability, we would like to know about it immediately so we can take steps to address it as quickly as possible. + +If you discover a vulnerability, please do the following: + +* Report your findings to [security@originprotocol.com](mailto:security@originprotcol.com) or contact [Josh Fraser on Keybase](https://keybase.io/joshfraser) +* Do not take advantage of the vulnerability or problem you have discovered +* Do not reveal the problem to others until it has been resolved +* Do not use attacks on physical security, social engineering, distributed denial of service, spam or applications of third parties +* Do provide sufficient information to reproduce the problem, so we will be able to resolve it as quickly as possible. Complex vulnerabilities may require further explanation so we might ask you for additional information. + +In return, we promise: + +* We will respond to your report within 3 business days with our evaluation of the report and an expected resolution date +* If you have followed the instructions above, we will not take any legal action against you in regard to the report +* We will handle your report with strict confidentiality, and not pass on your personal details to third parties without your permission +* If you so wish we will keep you informed of the progress towards resolving the problem +* In the public information concerning the problem reported, we will give your name as the discoverer of the problem \(unless you desire otherwise\) +* As a token of our gratitude for your assistance, we offer a reward for every report of a security problem that was not yet known to us. The amount of the reward will be determined based on the severity of the leak, the quality of the report, and any additional assistance you provide. + diff --git a/es/security-and-risks/audits.md b/es/security-and-risks/audits.md new file mode 100644 index 000000000..e0fc490af --- /dev/null +++ b/es/security-and-risks/audits.md @@ -0,0 +1,40 @@ +# Auditorias + +**La bóveda de OUSD, ERC-20 y el sistema general** + +OUSD ha sido auditado por varias firmas de seguridad muy respetadas. Hemos trabajado con [OpenZeppelin](https://openzeppelin.com), [Trail of Bits](https://www.trailofbits.com), [Solidified](https://solidified.io) y [Certora](https://www.certora.com) para auditar todo el código que impulsa a Origin Dollar. Sus hallazgos están disponibles a continuación: + +* [Trail of Bits, auditoría de OUSD, diciembre de 2020](https://github.com/OriginProtocol/security/blob/master/audits/Trail%20of%20Bits%20-%20Origin%20Dollar%20-%20Dec%202020.pdf) +* [Solidified, auditoría de OUSD, diciembre de 2020](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20Origin%20Dollar%20-%20Dec%202020.pdf) +* [Solidified, Staking de OGN auditado, diciembre de 2020](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20OGN%20Staking%20-%20Dec%202020.pdf) +* [Certora, Auditoría de verificación formal de OUSD, enero de 2021](https://www.certora.com/pubs/OriginFeb2021.pdf) +* [OpenZeppelin, Auditoría de OUSD, Agosto de 2021](https://github.com/OriginProtocol/security/blob/master/audits/OpenZeppelin%20-%20Origin%20Dollar%20-%20October%202021.pdf) +* [Solidified, wOUSD, ERC721a, Governance, Harvester & Dripper Audit, May 2022](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20OGV%2C%20wOUSD%2C%20and%20ERC721a%20-%20May%202022.pdf) + +Both our initial and future governance tokens have been audited as well: + +* [Trail of Bits, auditoría de OGN, noviembre de 2018](https://github.com/OriginProtocol/security/blob/master/audits/Trail%20of%20Bits%20-%20Origin%20Marketplace%20and%20OGN%20Token%20-%20Nov%202018.pdf) +* [Solidified, OGV Audit, May 2022](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20OGV%2C%20wOUSD%2C%20and%20ERC721a%20-%20May%202022.pdf) + +Además, las estrategias subyacentes y las dependencias que utiliza OUSD han sido auditadas minuciosamente por varias empresas. + +{% hint style="info" %} +OUSD solo integra estrategias que han sido cuidadosamente auditadas y probadas en batalla con un capital significativo durante un período de tiempo prolongado. +{% endhint %} + +**Estrategia compuesta y alimentación de precios abiertos** + +Compoun ha sido auditado por [Trail of Bits](https://www.trailofbits.com) y [OpenZeppelin](https://openzeppelin.com) y verificado formalmente por [Certora](https://www.certora.com). Visite el sitio web de Compound para obtener su [lista completa de auditorías](https://compound.finance/docs/security#audits) incluido el código original para el [Timelock](../smart-contracts/api/timelock.md) modificado que está usando OUSD. + +**Estrategia de Aave** + +Aave ha sido auditado por [Trail of Bits](https://www.trailofbits.com), [OpenZeppelin](https://openzeppelin.com), [ConsenSys Diligence](https://consensys.net/diligence/), [Certik](https://certik.io), [MixBytes](https://mixbytes.io) y [PeckShield](https://peckshield.com). También han sido verificados formalmente por [Certora](https://www.certora.com). Visite el sitio web de Aave para [su lista completa de auditorías](https://docs.aave.com/developers/security-and-audits). + +**Estrategia de Curve** + +Curve ha sido auditado por [Trail of Bits](https://www.trailofbits.com) y [Quantstamp](https://quantstamp.com). Visite el sitio web de Curve para [su lista completa de auditorías](https://www.curve.fi/audits). + +**Oráculo de Chainlink** + +Chainlink ha sido auditado por [Quantstamp](https://github.com/smartcontractkit/chainlink/tree/bafa91c), [SigmaPrime](https://github.com/smartcontractkit/chainlink/tree/cee356), [Callisto](https://gist.github.com/yuriy77k/c3a70d212a7f9ecda715252e45073158) y [Nick Johnson](https://github.com/smartcontractkit/chainlink/tree/5327f9). + diff --git a/es/security-and-risks/bug-bounties.md b/es/security-and-risks/bug-bounties.md new file mode 100644 index 000000000..2a2abd319 --- /dev/null +++ b/es/security-and-risks/bug-bounties.md @@ -0,0 +1,32 @@ +# Recompensas de Errores + +**Recompensas de Errores** + +Las recompensas por errores se otorgan a total discreción de Origin Protocol. The rewards range in size from **$100 OUSD** for minor issues to **$250,000 OUSD** for major vulnerabilities. Actualmente, el programa de recompensas solo se aplica a OUSD y no a otros productos de Origin. + +{% hint style="warning" %} +Para ser elegible para una recompensa por errores, debe seguir las reglas de Divulgación Responsable que se describen a continuación. +{% endhint %} + +**Divulgación Responsable** + +La seguridad es nuestra máxima prioridad y hemos hecho todo lo posible para asegurarnos de que nuestro código sea seguro y funcione según lo previsto. Sin embargo, es completamente posible que las vulnerabilidades, tanto grandes como pequeñas, no hayan sido detectadas. + +En caso de que descubra una vulnerabilidad, nos gustaría conocerla de inmediato para que podamos tomar medidas para abordarla lo más rápido posible. + +Si descubre una vulnerabilidad, haga lo siguiente: + +* Report your findings to [security@originprotocol.com](mailto:security@originprotocol.com) or contact [Josh Fraser on Keybase](https://keybase.io/joshfraser). Here is an example of a [well written disclosure](https://gist.github.com/DanielVF/66f459da88804d1fd917c47576c68523). +* No aproveche la vulnerabilidad o problema que ha descubierto +* No revele el problema a otros hasta que se haya resuelto +* No utilice ataques a la seguridad física, ingeniería social, denegación de servicio distribuida, spam o aplicaciones de terceros +* Proporcione información suficiente para reproducir el problema, de modo que podamos resolverlo lo antes posible. Complex vulnerabilities may require further explanation so we might ask you for additional information. + +A cambio, prometemos: + +* Responderemos a su informe dentro de los 3 días hábiles con nuestra evaluación del informe y una fecha de resolución esperada +* Si ha seguido las instrucciones anteriores, no emprenderemos ninguna acción legal en su contra con respecto al informe +* Trataremos su informe con estricta confidencialidad y no transmitiremos sus datos personales a terceros sin su permiso +* Si así lo desea, le mantendremos informado del avance hacia la resolución del problema +* En la información pública sobre el problema informado, daremos su nombre como descubridor del problema (a menos que desee lo contrario) +* Como muestra de nuestra gratitud por su ayuda, ofrecemos una recompensa por cada informe de un problema de seguridad que aún no conocíamos. El monto de la recompensa se determinará en función de la gravedad de la fuga, la calidad del informe y cualquier ayuda adicional que brinde. diff --git a/es/security-and-risks/contributing.md b/es/security-and-risks/contributing.md new file mode 100644 index 000000000..4104e1bc1 --- /dev/null +++ b/es/security-and-risks/contributing.md @@ -0,0 +1,95 @@ +# Contribuyendo + +**100% Código abierto** + +OUSD es un proyecto completamente de código abierto y agradecemos contribuciones de todo tipo. Hay muchas formas de ayudar, desde informar problemas, contribuir con código y ayudarnos a mejorar nuestra comunidad. + +Trabajamos en público y nuestra compañía en Discord está abierta a todos. Si tiene preguntas o necesita ayuda para comenzar, nuestros canales de Discord de OUSD son el mejor lugar para obtener ayuda de nuestro equipo y comunidad. + +**Developer Analytics** + +Our internal developer dashboard is available at [analytics.ousd.com](https://analytics.ousd.com). The dashboard shows the current circulating supply, the assets under management in the vault, and the current allocations between each of the stablecoins and strategies. + +#### Proceso de Desarrollo + +Our branching strategy is similar to [GitFlow](http://nvie.com/posts/a-successful-git-branching-model/), but we do all of our development in the `master` branch and have a `stable` branch for code that has been released. + +Your development flow should look like: + +1. ¡Encuentra un tema interesante y comunícate! Por favor informe al canal `#engineering` [Discord](https://discord.gg/jyxpUSe) qué desea trabajar. +2. Haga ping a un miembro del equipo central, [](https://github.com/orgs/OriginProtocol/teams/core/members) miembro en Discord y pida que lo agreguen a nuestro equipo de [colaboradores](https://github.com/orgs/OriginProtocol/teams/contributors). De lo contrario, deberá bifurcar el repositorio relevante y enviar las ramas de funciones a su propia bifurcación. +3. Agregue un comentario al problema o autoasignelo para que no tengamos varios colaboradores trabajando involuntariamente en la misma tarea. +4. Comience con la rama `master` y compruebe una nueva rama de función a menos que esté contribuyendo a una función existente. +5. Siga el estilo de codificación [apropiado](https://docs.originprotocol.com/guides/getting_started/contributing.html#contributing-email-coding-style) y escriba un código increíble. +6. Extraiga las últimas confirmaciones de `master` y confirme que su código funciona con cualquier otro trabajo que se haya fusionado desde que comenzó. +7. Empuje su rama al repositorio de arriba \ (es decir, https: //github.com/OriginProtocol/ \ [repo \] \) para que otros contribuyentes puedan trabajar fácilmente si es necesario. +8. Solicite una revisión en el RP haciendo clic en el ícono de ajustes junto a "Reviewers" en la columna de la derecha. + +For critical smart contract code to be merged it must pass the following checklist: + +* Code reviewed by 2 reviewers +* Unit tests pass +* Slither tests pass with no warning +* Echidna tests pass + +The `master` branch is locked so that only members of the [core team](https://github.com/orgs/OriginProtocol/teams/core) are able to merge your pull requests. Pull requests that are peer-reviewed by other trusted contributors will be fast-tracked and merged faster! Check in the `#engineering` Discord channel for appropriate reviewers. + +#### Estilo de Codificación + +We use a variety of programming languages in our repositories. When contributing, please follow existing coding conventions and refer to the CONTRIBUTING.md file in the repository, if one exists. + +For JavaScript, we use [NPM’s style](https://docs.npmjs.com/misc/coding-style), which is automatically enforced via [prettier](https://prettier.io/). + +For Solidity, we use two-space indents. + +#### Diseño de Protocolo + +When considering protocol or implementation design proposals, we are looking for: + +* A description of the problem this design proposal solves +* Discussion of the trade-offs involved +* Review of other existing solutions +* Links to relevant literature \(RFCs, papers, etc\) +* Discussion of the proposed solution + +Please note that protocol design is hard and meticulous work. You may need to review existing literature and think through generalized use cases. + +#### Principios de la Comunidad + +We want to keep the Origin community awesome, growing and collaborative. We need your help to keep it that way. To help with this we’ve come up with some general guidelines for the community as a whole: + +* Be nice: Be courteous, respectful and polite to fellow community members: no regional, racial, gender, or other abuse will be tolerated. We like nice people way better than mean ones! +* Encourage diversity and participation: Make everyone in our community feel welcome, regardless of their background and the extent of their contributions, and do everything possible to encourage participation in our community. +* Keep it legal: Basically, don’t get anybody in trouble. Share only content that you own, do not share private or sensitive information, and don’t break laws. +* Stay on topic: Make sure that you are posting to the correct channel and avoid off-topic discussions. Remember when you update an issue or respond to an email you are potentially sending to a large number of people. Please consider this before you update. Also remember that nobody likes spam. + +#### Informar Problemas + +If you find bugs, mistakes or inconsistencies in Origin’s code or documents, please let us know by filing a GitHub issue. No issue is too small. Help us fix our tpyos! + +#### Temas de Seguridad + +OUSD is still in early development, which means there may be problems with the protocol or in our implementations. We take security vulnerabilities very seriously. If you discover a security issue, please bring it to our attention right away! + +If you find a security vulnerability please send your report privately to [security@originprotocol.com](mailto:security@originprotocol.com) or send an encrypted message to [@joshfraser on Keybase](https://keybase.io/joshfraser). Please DO NOT file a public issue. Be sure to review our guidelines for responsible disclosure and eligibility for bug bounties. + +{% page-ref page="bug-bounties.md" %} + +#### **Mejora de la Comunidad** + +Origin is just as much about community as it is about our technology. + +We need constant help in improving our documentation, building new tools to interface with our platform, spreading the word to new users, helping new users getting setup and much more. + +Please get in touch if you would like to help out. Our `general` channel on [Discord](https://www.originprotocol.com/discord) is a great place to share ideas and volunteer to help. + +#### Posiciones de Tiempo Completo + +Origin occasionally hires developers for part-time or full-time positions. + +We have a strong preference for hiring people who have already started contributing to the project. If you want a full time position on our team, your best shot is to engage with our team and start contributing code. It is very unlikely that we would offer you a full-time position on our engineering team unless you’ve had at least a few pull requests merged. + +If you are interested, check out [the Origin Protocol job listings](https://angel.co/originprotocol/jobs). If you’d like to help in other ways, please propose your ideas in [our Discord channel](https://www.originprotocol.com/discord). + + + diff --git a/es/security-and-risks/insurance.md b/es/security-and-risks/insurance.md new file mode 100644 index 000000000..35a05dc41 --- /dev/null +++ b/es/security-and-risks/insurance.md @@ -0,0 +1,15 @@ +# Seguro + +Los holders de OUSD pueden comprar un seguro de contrato inteligente para cubrir cualquier pérdida que pueda resultar de cualquier error o vulnerabilidad en los contratos de OUSD, incluidas las exploits económicos (como los ataques de préstamos flash). Además, cualquier persona que quiera hacer una apuesta económica por la seguridad de nuestros contratos puede obtener un rendimiento proporcionando cobertura. + +La cobertura DeFi para OUSD está disponible actualmente a través de [Nexus Mutual](https://nexusmutual.io) y [InsurAce Protocol](https://www.insurace.io). Estas asociaciones permiten una gestión de riesgos más eficaz por parte de los holders de OUSD al tiempo que crean nuevas oportunidades para que los proveedores de cobertura se beneficien. + +Lea nuestro [anuncios](https://medium.com/originprotocol/origin-partners-with-nexus-mutual-to-offer-defi-insurance-for-origin-dollar-ousd-6eb3432ee042) para aprender cómo [comprar cobertura](https://app.nexusmutual.io/cover/buy/get-quote?address=0xE75D77B1865Ae93c7eaa3040B038D7aA7BC02F70), [proporcionar cobertura](https://app.nexusmutual.io/staking) o [participar en campañas de minería de escudo](https://app.nexusmutual.io/rewards) con Nexus Mutual. Puede obtener más información sobre InsurAce y cómo comprar cobertura en su [guía de usuario](https://docs.insurace.io/landing-page/documentation-1/user-guide) o [documentación](https://docs.insurace.io/landing-page/). + +**Cobertura de Nexus Mutual** + +Read our[ announcement post](https://medium.com/originprotocol/origin-partners-with-nexus-mutual-to-offer-defi-insurance-for-origin-dollar-ousd-6eb3432ee042) to learn how to[ buy coverage](https://app.nexusmutual.io/cover/buy/get-quote?address=0x0000000000000000000000000000000000000016),[ provide coverage](https://app.nexusmutual.io/staking), and[ participate in shield mining campaigns](https://app.nexusmutual.io/rewards) with Nexus Mutual. + +**Cobertura de InsurAce Protocol** + +Lea la [Guía del usuario](https://docs.insurace.io/landing-page/documentation-1/user-guide) para aprender cómo [comprar cobertura](https://docs.insurace.io/landing-page/documentation-1/user-guide/dashboard) y participar [en la minería de suscripción](https://docs.insurace.io/landing-page/documentation-1/user-guide/how-to-stake) para OUSD. diff --git a/es/security-and-risks/risks.md b/es/security-and-risks/risks.md new file mode 100644 index 000000000..32ac3d8a8 --- /dev/null +++ b/es/security-and-risks/risks.md @@ -0,0 +1,46 @@ +# Riesgos + +{% hint style="danger" %} +Úselo bajo su propio riesgo. No gaste más capital del que está dispuesto a perder. +{% endhint %} + +Al igual que con cualquier producto DeFi que genere rendimiento, existen riesgos asociados con la tenencia de OUSD que es importante comprender. Estos riesgos se pueden clasificar ampliamente en 3 categorías: + +* Riesgo de contrato inteligente +* Riesgo subyacente de la plataforma de terceros +* Riesgo de moneda estable subyacente + +**Riesgo de contrato inteligente** + +Nuestros contratos inteligentes han sido [auditados](audits.md) por varias empresas de seguridad respetadas. Sin embargo, es importante tener en cuenta que incluso con auditorías formales, todavía es posible que haya errores lógicos que podrían conducir a la pérdida de fondos para los holders de OUSD. Los contratos involucran matemáticas y lógica complejas. Si bien hemos tomado todas las precauciones para garantizar la seguridad de nuestros contratos inteligentes, se recuerda a los usuarios que lo utilicen bajo su propio riesgo. Origin Protocol no se hace responsable de ninguna pérdida de fondos, independientemente de quién tenga la culpa. + +**Riesgo de plataforma de terceros** + +OUSD se basa en otras plataformas DeFi que agregan un riesgo adicional de contrato inteligente. Estamos eligiendo trabajar con plataformas que tienen literalmente miles de millones de dólares en activos bajo administración y han realizado esfuerzos razonables para garantizar la seguridad de sus protocolos. Sin embargo, no hay garantías de que las plataformas subyacentes continuarán funcionando según lo previsto, y cualquier falla en una estrategia subyacente probablemente conduciría a una pérdida de fondos para los holders de OUSD. + +**Riesgos de la moneda estable** + +Es importante comprender que OUSD es tan fuerte como las monedas estables que lo respaldan. Cualquier pérdida de valor de un activo de moneda estable subyacente provocará una pérdida similar al valor de OUSD. Si bien OUSD está diseñado para mantener una relación 1:1 entre el suministro y la cantidad de monedas estables de respaldo, no garantiza qué monedas estables conformarán ese respaldo ni el valor de esas monedas. + +Es importante tener en cuenta que cada una de las monedas estables admitidas presenta un riesgo de contraparte no trivial. Tether, en particular, ha tenido problemas bancarios y problemas regulatorios bien documentados. Además, tanto USDT como USDC tienen puertas traseras que otorgan a sus emisores el poder de congelar dinero en las billeteras de sus titulares. Si bien DAI no tiene puertas traseras directas, sus activos también pueden verse afectados negativamente, ya que el USDC y el USDT se aceptan como garantía para la acuñación de DAI. + +**Mitigación de riesgos** + +Si bien es imposible garantizar que nuestros contratos sean 100% seguros, hemos tomado todas las medidas posibles para mitigar la posibilidad de perder fondos: + +Regularmente tenemos nuestro trabajo [auditado](audits.md) por los mejores auditores de la industria. + +[Seguros DeFi](insurance.md) están disponibles para ofrecer cobertura de contrato inteligente como un servicio adicional opcional para los holders de OUSD. + +Hemos retenido a [Certora](https://www.certora.com) para verificar formalmente las diversas propiedades de seguridad de nuestros contratos. Nos ayudaron a establecer verificaciones automatizadas que se ejecutarán cada vez que actualicemos nuestro código de contrato. Hemos automatizado la comprobación de errores comunes con las pruebas [Slither](https://github.com/crytic/slither) y [Echidna](https://github.com/crytic/echidna) Juntos, alertan a nuestro equipo sobre problemas de seguridad comunes, además de nuestro propio conjunto de pruebas. + +Las revisiones de código que involucran nuestros contratos inteligentes son increíblemente rigurosas. Requerimos que al menos dos ingenieros revisen cada cambio con una lista de verificación detallada y damos prioridad a las revisiones de seguridad sobre el desarrollo de nuevas funciones. + +Finalmente, hemos formalizado una rotación + +para revisar [ataques en otros proyectos](https://github.com/OriginProtocol/security/tree/master/incidents) , así como para asegurarnos de profundizar en cada una de estas revisiones, incluida la revisión del código fuente de los contratos afectados nosotros mismos. Hemos observado que los atacantes a menudo aprovechan la misma vulnerabilidad fundamental en varios proyectos diferentes. Al revisar las vulnerabilidades de otros proyectos, nos obligamos a estar al día sobre las últimas amenazas de seguridad en nuestra industria y aprendemos constantemente de sus errores.

+ +**Las acciones hablan más que las palabras** + +También debe saber que muchos miembros del equipo de Origin, incluidos ambos fundadores, poseen una parte significativa de su patrimonio personal en OUSD. La tesorería corporativa de Origin Protocol también tiene millones de dólares en OUSD. Tenemos cuero en juego y estamos dispuestos a arriesgar nuestro propio dinero con el código que hemos escrito. + diff --git a/es/security-and-risks/untitled.md b/es/security-and-risks/untitled.md new file mode 100644 index 000000000..21b692090 --- /dev/null +++ b/es/security-and-risks/untitled.md @@ -0,0 +1,20 @@ +# Audits + +{% hint style="danger" %} +The OUSD smart contracts have not yet been audited. We strongly recommend reviewing our smart contracts before depositing significant amounts of capital. +{% endhint %} + +**OUSD** + +Audits have already been scheduled with the respected security firm, [Trail of Bits](https://www.trailofbits.com/), for early October 2020. Their audit results will be publicly released as soon as they are available. + +**Supported Strategies** + +Multiple audits for Compound have already been completed and are available on their website. This includes the original code for the modified [Timelock](../smart-contracts/api/timelock-1.md) that OUSD is using. + +{% page-ref page="untitled.md" %} + + + + + diff --git a/es/smart-contracts/api/README.md b/es/smart-contracts/api/README.md new file mode 100644 index 000000000..f755976f4 --- /dev/null +++ b/es/smart-contracts/api/README.md @@ -0,0 +1,9 @@ +# API + +Documentation of contracts API used by the protocol: + +* [Bóveda](vault.md) +* [ERC-20](erc-20-1.md) +* [Bloqueo de Tiempo](timelock.md) +* [Stategies](strategies.md) + diff --git a/es/smart-contracts/api/erc-20-1.md b/es/smart-contracts/api/erc-20-1.md new file mode 100644 index 000000000..18065ceda --- /dev/null +++ b/es/smart-contracts/api/erc-20-1.md @@ -0,0 +1,16 @@ +# ERC-20 + +{% hint style="success" %} +La dirección ERC20 principal de Origin Dollar(OUSD) es: \ **0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +OUSD es un token compatible con ERC-20 con una propiedad nueva (suministro elástico) que es importante comprender. + +{% hint style="warning" %} +Las billeteras y exchanges que deseen integrar OUSD no deben almacenar en caché los saldos de OUSD, ya que este valor cambiará con frecuencia a medida que se acumule el rendimiento para los holders de tokens. +{% endhint %} + +La mayor diferencia que separa a OUSD de su token ERC-20 promedio es la forma en que la función`balanceOf()` OUSD devolverá una cantidad variable basada en el valor total del pool multiplicado por la participación del holder en el grupo de liquidez. Esta diferencia es vital de entender, particularmente para billeteras y exchanges que desean integrar el token OUSD. Este valor debe obtenerse en tiempo real en lugar de almacenarse en caché, ya que OUSD se reajusta con frecuencia. + + + diff --git a/es/smart-contracts/api/oracle.md b/es/smart-contracts/api/oracle.md new file mode 100644 index 000000000..1ad96dc56 --- /dev/null +++ b/es/smart-contracts/api/oracle.md @@ -0,0 +1,7 @@ +# Oráculos + +{% hint style="info" %} +Próximamente la documentación. +{% endhint %} + +OUSD utiliza los oráculos de Chainlink para proteger el protocolo de los ataques de precios. Puede [leer más sobre nuestra decisión de trabajar con Chainlink](https://blog.originprotocol.com/how-origin-uses-chainlink-oracles-to-secure-ousd-bff5601e840e) en el blog de Origin.

diff --git a/es/smart-contracts/api/ousd.md b/es/smart-contracts/api/ousd.md new file mode 100644 index 000000000..0f2c058f0 --- /dev/null +++ b/es/smart-contracts/api/ousd.md @@ -0,0 +1,8 @@ +# OUSD + +{% hint style="info" %} +Próximamente la documentación. +{% endhint %} + + + diff --git a/es/smart-contracts/api/strategies.md b/es/smart-contracts/api/strategies.md new file mode 100644 index 000000000..809464ee9 --- /dev/null +++ b/es/smart-contracts/api/strategies.md @@ -0,0 +1,14 @@ +# Estrategias + +{% hint style="info" %} +Próximamente la documentación. +{% endhint %} + +Se pueden agregar o eliminar nuevas estrategias en cualquier momento para responder a las nuevas realidades del mercado y diversificar el riesgo. + +Una vez que migremos a la gobernanza descentralizada, nuestra intención es que la comunidad proponga nuevas estrategias y vote sobre el peso apropiado para cada estrategia en el pool. Anticipamos que la mayoría de los holders de OUSD valorarán tener cierta exposición a oportunidades de mayor rendimiento mientras mantienen posiciones más conservadoras para una parte de los fondos. + + + + + diff --git a/es/smart-contracts/api/timelock-1.md b/es/smart-contracts/api/timelock-1.md new file mode 100644 index 000000000..88954aca7 --- /dev/null +++ b/es/smart-contracts/api/timelock-1.md @@ -0,0 +1,22 @@ +# Timelock + +{% hint style="danger" %} +The timelock will be added soon after everything is verified as working. Until then, the contracts will be governed by Origin's 5 of 8 multi-sig. This allows for a faster response if any critical issues are discovered. +{% endhint %} + +The timelock contract enforces a 48 hour wait period before any changes to the OUSD contracts can be executed. The timelock can be called by our multi-sig and is the owner of our [ERC-20](../architecture.md), [Vault](vault.md), and [Strategies](strategies.md) contracts. Time-delaying admin actions gives users a chance to exit OUSD if its admins become malicious, are compromised, or make a change that the users do not like. + +{% hint style="info" %} +The timelock is a safety measure that gives OUSD holders 48 hours to withdraw their funds if they have objections to any proposed upgrades to the protocol. +{% endhint %} + +OUSD is using a slightly modified version of the [Compound Timelock](https://compound.finance/docs/governance) which has been [audited by OpenZeppelin](https://blog.openzeppelin.com/compound-finance-patch-audit/). The 3 notable differences are: + +1. OUSD will initially use a shorter wait period \(48 hours\) than Compound \(72 hours\) to allow for a faster response if any issues are discovered. +2. Once the 48 hours have passed, anyone is free to execute the call, not just the owner of the contract. +3. Deposits \(but not withdrawals or transfers\) can be immediately frozen without requiring the 48 waiting period. This is in case a major vulnerability is discovered. + + + + + diff --git a/es/smart-contracts/api/timelock.md b/es/smart-contracts/api/timelock.md new file mode 100644 index 000000000..410c40123 --- /dev/null +++ b/es/smart-contracts/api/timelock.md @@ -0,0 +1,15 @@ +# Bloqueo de Tiempo + +El contrato de bloqueo de tiempo impone un período de espera de 48 horas antes de que se pueda ejecutar cualquier cambio en los contratos de OUSD. El bloqueo de tiempo puede ser llamado por nuestro multi-sig y es el propietario de nuestros contratos [ERC-20](../architecture.md), [Bóveda](vault.md) y [Estrategias](strategies.md). Las acciones administrativas que retrasan el tiempo les dan a los usuarios la oportunidad de salir de OUSD si sus administradores se vuelven malintencionados, se ven comprometidos o hacen un cambio que a los usuarios no les gusta. + +{% hint style="info" %} +El bloqueo de tiempo es una medida de seguridad que les da a los holders de OUSD 48 horas para retirar sus fondos si tienen objeciones a las actualizaciones propuestas al protocolo. +{% endhint %} + +OUSD está utilizando una versión ligeramente modificada del [Bloqueo de Tiempo de Compound](https://compound.finance/docs/governance) que ha sido [auditado por OpenZeppelin](https://blog.openzeppelin.com/compound-finance-patch-audit/). Las dos diferencias notables son: + +1. OUSD utilizará inicialmente un período de espera más corto (48 horas) que el de Compoung (72 horas) para permitir una respuesta más rápida si se descubre algún problema. +2. Some actions, such as reallocating funds between existing strategies and freezing deposits can be called immediately by a multisig wallet without requiring the 48 waiting period. Esto es en caso de que se descubra una vulnerabilidad importante. + + + diff --git a/es/smart-contracts/api/vault.md b/es/smart-contracts/api/vault.md new file mode 100644 index 000000000..3da497101 --- /dev/null +++ b/es/smart-contracts/api/vault.md @@ -0,0 +1,184 @@ +--- +description: >- + La bóveda es el contrato principal del protocolo. La bóveda es responsable de acuñar/canjear tokens OUSD, reequilibrar fondos entre las diversas estrategias compatibles y liquidar tokens de recompensa. +--- + +# Bóveda + +## Unidades + +Todas las cantidades de OUSD aprobadas o devueltas por los métodos de Vault utilizan 18 lugares decimales. Por ejemplo, 1 OUSD se expresa como 1000000000000000000. + +Para otras monedas estables, el número de decimales varía. DAI usa 18 lugares decimales, mientras que USDC y USDT usan solo 6. + +El protocolo se actualizó en noviembre [actualmente en curso](https://github.com/OriginProtocol/origin-dollar/issues/590) para aumentar la resolución de los cálculos de rebase de 18 decimales a 27 decimales. El token de OUSD en sí mismo conservará 18 decimales de precisión y los saldos de los usuarios no deberían cambiar. + +## Métodos + +### mint() + +**`function mint(address _asset, uint256 _amount, uint256 _minimumOusdAmount)`** + +Acuñar OUSD a cambio de un depósito de un determinado `_amount` de moneda estable especificado por el `_asset` parámetro. La persona que llama recibe una cierta cantidad de OUSD dependiendo del **tipo de cambio**. + +| Nombre del parámetro | Tipo | Descripción | +| --------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | +| \_asset | dirección | Dirección de la moneda estable [admitida](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/core-concepts/supported-assets) | +| \_amount | uint256 | Cantidad depositada, expresada en unidades decimales | +| \_minimumOusdAmount | uint256 | Cantidad mínima de OUSD que la persona que llama está dispuesta a recibir. La llamada a mint () se revierte si no se cumple el mínimo. | + +### mintMultiple() + +**`function mintMultiple(address[] _assets, uint256[] _amounts, uint256 _minimumOusdAmount)`**‌ + +Acuñar OUSD a cambio de un depósito de múltiples monedas estables en una sola llamada. Las monedas estables se especifican mediante el parámetro de matriz `_assets` y las cantidades mediante el parámetro de matriz `_amounts`. La persona que llama recibe una cierta cantidad de OUSD dependiendo del **tipo de cambio**. + +| Nombre del parámetro | Tipo | Descripción | +| --------------------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| \_assets | address\[] | Direcciones de las monedas estables [admitidas](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/core-concepts/supported-assets) | +| \_amounts | uint256\[] | Cantidades depositadas, expresadas en unidades decimales | +| \_minimumOusdAmount | uint256 | Cantidad mínima de OUSD que la persona que llama está dispuesta a recibir. La llamada a mint () se revierte si no se cumple el mínimo. | + +{% hint style="warning" %} +En los canjes, es el protocolo y no el usuario el que decide qué monedas estables se devuelven al usuario. Esta decisión de qué moneda(s) devolver se basa en las proporciones internas de los activos que se mantienen en la bóveda. +{% endhint %} + +### redeem() + +**`function redeem(uint256 _amount)`** + +El OUSD especificado parámetro `_amount` canjea a cambio de una o varias monedas estables admitidas. La cantidad de monedas estables recibidas depende del **tipo de cambio**. + +| Nombre del parámetro | Tipo | Descripción | +| -------------------- | ------- | ------------------------------------------------ | +| \_amount | uint256 | cantidad de OUSD expresada en unidades decimales | + +### redeemAll()‌ + +**`function redeemAll()`** + +Todo el OUSD en posesión del usuario se canjea a cambio de una o varias monedas estables compatibles. La cantidad de monedas estables recibidas depende del **tipo de cambio**. + +### rebase() + +**`function rebase()`** + +Actualiza los saldos de todos los usuarios según el valor de los activos almacenados actualmente en la bóveda. Devuelve el valor total de los activos y estrategias subyacentes representados por el tipo `uint256`. + +### allocate() + +**`function allocate()`** + +Mueve los activos bajo administración a sus [Estrategias](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/architecture/strategies) prescritas para maximizar el rendimiento y diversificar el riesgo. + +### totalValue() + +**`function totalValue()`** + +Devuelve el valor total de los activos y estrategias subyacentes. + +| `return` nombre | Tipo | Descripción | +| --------------- | ------- | ----------------------------------------------------- | +| valor | uint256 | valor total de los activos y estrategias subyacentes. | + +### checkBalance() + +**`function checkBalance(address _asset)`** + +Devuelve el saldo de un activo especificado por el parámetro`_asset` contenido en la Bóveda y todas las estrategias representadas por el tipo `uint256`. + +| Nombre del parámetro | Tipo | Descripción | +| -------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | +| \_asset | dirección | Dirección de la moneda estable [admitida](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/core-concepts/supported-assets) | + +### calculateRedeemOutputs() + +**`function calculateRedeemOutputs(uint256 _amount)`** + +Calcule la combinación de monedas estables que una función `redeem` devolvería al canjear cierta cantidad de OUSD especificada por el parámetro `_amount`. Devuelve una matriz de valores de monedas estables. + +Para atribuir los valores de la moneda estable a la moneda de la moneda estable correcta, esta llamada debe usarse junto con la función `getAllAssets` que devuelve una matriz de direcciones de la moneda estable. + +El índice de una matriz que devuelve `calculateRedeemOutputs` corresponde a la dirección de la moneda estable con el mismo índice en una matriz devuelta por la función `getAllAssets`. + +| Nombre del parámetro | Tipo | Descripción | +| -------------------- | ------- | ------------------------------------------------ | +| \_amount | uint256 | cantidad de OUSD expresada en unidades decimales | + +| `return` nombre | Tipo | Descripción | +| --------------- | ----------- | ------------------------------------------------------------------------------ | +| salidas | uint256\[] | matriz de la cantidad de activos de moneda estable `redeem` función devolvería | + +### getAssetCount() + +**`function getAssetCount()`** + +Devuelve el número de activos de stablecoin admitidos representados por el tipo `uint256`. + +### getAllAssets() + +**`function getAllAssets()`** + +Devuelve el número de activos de moneda estable admitidos representados por el tipo `uint256`. + +### getStrategyCount()‌ + +**`function getStrategyCount()`** + +Devuelve el número de estrategias activas en la Bóveda representado por `uint256` tipo. + +### getAPR() + +**`function getAPR ()`** + +Devuelve el rendimiento porcentual anual total (APR) de la Bóveda y todas las estrategias representadas por el tipo `uint256`. El número resultante tiene 18 espacios decimales. + +### isSupportedAsset() + +**`function isSupportedAsset(address _asset)`** + +Devuelve el valor booleano verdadero si el activo especificado por el parámetro `_asset` es compatible con la Bóveda. + +| Nombre del parámetro | Tipo | Descripción | +| -------------------- | --------- | ------------------------------ | +| \_asset | dirección | Dirección de la moneda estable | + +### priceUSDMint() + +**`function priceUSDMint(string symbol)`** + +Devuelve el precio del tipo de cambio de una moneda estable especificado por los parámetros del `symbol` utilizados al acuñar OUSD representado por el tipo `uint256`. El número resultante tiene 18 decimales. + +| Nombre del parámetro | Tipo | Descripción | +| -------------------- | ------ | ---------------------------- | +| symbol | string | Símbolo de la moneda estable | + +### priceUSDRedeem() + +**`function priceUSDRedeem(string symbol)`** + +Devuelve el precio del tipo de cambio de una moneda estable especificado por los parámetros del `symbol` utilizados al canjear OUSD representado por el tipo `uint256`. El número resultante tiene 18 decimales. + +| Nombre del parámetro | Tipo | Descripción | +| -------------------- | ------ | ---------------------------- | +| symbol | string | Símbolo de la moneda estable | + +### priceAssetUSDMint()‌ + +**`function priceAssetUSDMint(address _asset)`** + +Devuelve el precio del tipo de cambio de una moneda estable especificado por los parámetros `_asset` utilizados al acuñar OUSD representado por el tipo `uint256`. El número resultante tiene 18 decimales. + +| Nombre del parámetro | Tipo | Descripción | +| -------------------- | --------- | ------------------------------- | +| \_asset | dirección | Dirección de la moneda estable‌ | + +### priceAssetUSDRedeem()‌ + +**`function priceAssetUSDRedeem(address _asset)`** + +Devuelve el precio de tipo de cambio de una moneda estable especificado por los parámetros `_asset` utilizados al canjear OUSD representado por el tipo `uint256`. El número resultante tiene 18 decimales. + +| Nombre del parámetro | Tipo | Descripción | +| -------------------- | --------- | ------------------------------ | +| \_asset | dirección | Dirección de la moneda estable | diff --git a/es/smart-contracts/architecture.md b/es/smart-contracts/architecture.md new file mode 100644 index 000000000..b9d0e9047 --- /dev/null +++ b/es/smart-contracts/architecture.md @@ -0,0 +1,18 @@ +# Arquitectura + +![](../.gitbook/assets/ousd\_docs\_graphics\_3.png) + +OUSD está compuesto por una serie de contratos inteligentes. Cada uno de estos contratos está envuelto en un contrato proxy que se puede actualizar a través de los protocolos de gobernanza. + +Internamente, la propiedad en el pool se rastrea mediante un sistema de créditos que representa el porcentaje de propiedad del pool para cada holder. El contrato [ERC-20](api/erc-20-1.md) maneja la conversión a términos de USD cuando se visualiza un saldo o se inicia una transferencia entre billeteras. + +La [Bóveda](api/vault.md) es responsable de acuñar y quemar OUSD. También aplica el porcentaje de activos que se implementan en cada una de las [Estrategias](../core-concepts/supported-strategies/)admitidas. To optimize gas costs, the vault may maintain a buffer to allow most deposits and redemptions to occur without winding/unwinding assets from strategies. + +The Flipper is a smart contract for users to swap in and out of OUSD cheaply for any of DAI, USDC, or USDT at a fixed 1:1 rate. Este contrato se utiliza como una forma alternativa de enrutar las transacciones de los usuarios que se originan en la aplicación web. It's important to note that this contract may be empty on one side (e.g., contain 0 OUSD balance), and thus sometimes provides limited swap routes. While limited in functionality, Flipper uses around 45% less gas than Uniswap v3 due to its simplicity. + +The Harvester contract collects reward tokens earned by the strategies, sells them, and sends the resulting stablecoins to the Dripper to be released to the vault. Anyone can call the harvest and earn 1% of the resulting USDT for doing so. This creates a self-incentivizing system that operates at a known fixed cost. See our [incentivized-harvesting-guide.md](../guides/incentivized-harvesting-guide.md "mention") for details. + +The Dripper contract buffers aproximately one week of reward token sales proceeds and makes it avaiable at a smooth rate to the vault. This keeps OUSD yield from being extremely spiky when harvests come in. The rate is recalculated at least once per day and is the rate that it would take to distribute the current dripper holdings out over a one week period. + + + diff --git a/es/smart-contracts/erc-20.md b/es/smart-contracts/erc-20.md new file mode 100644 index 000000000..c3a21d407 --- /dev/null +++ b/es/smart-contracts/erc-20.md @@ -0,0 +1,12 @@ +# Architecture + +![](../.gitbook/assets/ousd_docs_graphics_3.png) + +OUSD is made up of a series of smart contracts. Each of these contracts is wrapped in a proxy contract that can be upgraded via the governance protocols. + +Internally, ownership in the pool is tracked using a credits system that represents the percent ownership of the pool for each holder. The [ERC-20](api/erc-20-1.md) contract handles the conversion to USD terms when viewing a balance or initiating a transfer between wallets. + +The [Vault](api/vault.md) is responsible for minting and burning OUSD. It also enforces the percentage of assets that are deployed to each of the supported [Strategies](../core-concepts/supported-strategies/). To optimize gas costs, the vault maintains a buffer to allow most deposits and redemptions to occur without winding/unwinding assets from strategies. + + + diff --git a/es/smart-contracts/registry.md b/es/smart-contracts/registry.md new file mode 100644 index 000000000..86e4dbb67 --- /dev/null +++ b/es/smart-contracts/registry.md @@ -0,0 +1,156 @@ +# Registro + +Aquí está el registro completo de los contratos inteligentes de OUSD que se han implementado en la red principal de Ethereum. + +{% hint style="success" %} +La dirección ERC20 principal de Origin Dollar(OUSD) es: \ +**0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +{% tabs %} +{% tab title="Core" %} +Well-known addresses (proxy wrappers): + + + +| Contrato | Dirección | ENS | +| -------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------- | +| OUSD | [0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86](https://etherscan.io/address/0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86) |

ousd.eth

origindollar.eth

| +| Bóveda | [0xE75D77B1865Ae93c7eaa3040B038D7aA7BC02F70](https://etherscan.io/address/0xe75d77b1865ae93c7eaa3040b038d7aa7bc02f70) | [originvault.eth](https://etherscan.io/address/originvault.eth) | + + + +Contratos de ejecución interna. The Vault is split into VaultAdmin and VaultCore to work around the maximum contract size limit on Ethereum: + + + +| Contrato | Dirección | +| -------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| OUSD | [0x33db8d52d65F75E4cdDA1b02463760c9561A2aa1](https://etherscan.io/address/0x33db8d52d65F75E4cdDA1b02463760c9561A2aa1) | +| Administrador de la Bóveda | [0x3EB68D8f4992A0e34aA58cc3dF86A40814078cF6](https://etherscan.io/address/0x3EB68D8f4992A0e34aA58cc3dF86A40814078cF6) | +| Bóveda Central | [0x226de75867B2f785BA19600e2a7e6eFccD57157B](https://etherscan.io/address/0x226de75867B2f785BA19600e2a7e6eFccD57157B) | +{% endtab %} + +{% tab title="Strategies" %} +Direcciones conocidas (envoltorios de proxy): + + + +| Estrategia | Dirección | Asignación automática | +| ---------- | -------------------------------------------------------------------------------------------------------------------------- | ------------------------ | +| Aave | [0x5e3646A1Db86993f73E6b74A57D8640B69F7e259](https://etherscan.io/address/0x5e3646A1Db86993f73E6b74A57D8640B69F7e259) | Asignación manual | +| Compound | [0x9c459eeb3FA179a40329b81C1635525e9A0Ef094](https://etherscan.io/address/0x9c459eeb3FA179a40329b81C1635525e9A0Ef094) | 100% de USDC, USDT y DAI | +| Convex | [0xEA2Ef2e2E5A749D4A66b41Db9aD85a38Aa264cb3](https://etherscan.io/address/0xEA2Ef2e2E5A749D4A66b41Db9aD85a38Aa264cb3#code) | Asignación manual | + + + +Contratos de ejecución interna: + + + +| Strategy | Address | +| -------- | -------------------------------------------------------------------------------------------------------------------------- | +| Aave | [0xA050eBE34Be464902F7E0F7F451f4B5253d57114](https://etherscan.io/address/0xA050eBE34Be464902F7E0F7F451f4B5253d57114) | +| Compound | [0x47f3eb71b5507df5ab6ac7f8660ef282ab0e560f](https://etherscan.io/address/0x47f3eb71b5507dF5Ab6aC7F8660Ef282Ab0E560f) | +| Convex | [0x08f3a0637851aA1B0E0750aA3d46E0E356f349aC](https://etherscan.io/address/0x08f3a0637851aa1b0e0750aa3d46e0e356f349ac#code) | + + + +Yield harvesting and collection: + + + +| | | +| --------- | -------------------------------------------------------------------------------------------------------------------------- | +| Contract | Address | +| Harvester | [0x21fb5812d70b3396880d30e90d9e5c1202266c89](https://etherscan.io/address/0x21fb5812d70b3396880d30e90d9e5c1202266c89#code) | +| Dripper | [0x80c898ae5e56f888365e235ceb8cea3eb726cb58](https://etherscan.io/address/0x80c898ae5e56f888365e235ceb8cea3eb726cb58#code) | +{% endtab %} + +{% tab title="Oracles" %} +The following Chainlink oracles are used to protect the vault in case a backing stablecoin loses value. They also offer slippage protection when harvesting rewards tokens or executing the OGN buyback. + + + +| Pair | Contract | +| ------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| [USDT/USD](https://data.chain.link/ethereum/mainnet/stablecoins/usdt-usd) | [0x3E7d1eAB13ad0104d2750B8863b489D65364e32D](https://etherscan.io/address/0x3E7d1eAB13ad0104d2750B8863b489D65364e32D) | +| [USDC/USD](https://data.chain.link/ethereum/mainnet/stablecoins/usdc-usd) | [0x8fFfFfd4AfB6115b954Bd326cbe7B4BA576818f6](https://etherscan.io/address/0x8fFfFfd4AfB6115b954Bd326cbe7B4BA576818f6) | +| [DAI/USD](https://data.chain.link/ethereum/mainnet/stablecoins/dai-usd) | [0xAed0c38402a5d19df6E4c03F4E2DceD6e29c1ee9](https://etherscan.io/address/0xAed0c38402a5d19df6E4c03F4E2DceD6e29c1ee9) | +| [COMP/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/comp-usd) | [0xdbd020caef83efd542f4de03e3cf0c28a4428bd5](https://etherscan.io/address/0xdbd020caef83efd542f4de03e3cf0c28a4428bd5) | +| [AAVE/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/aave-usd) | [0x547a514d5e3769680Ce22B2361c10Ea13619e8a9](https://etherscan.io/address/0x547a514d5e3769680Ce22B2361c10Ea13619e8a9) | +| [CRV/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/crv-usd) | [0xcd627aa160a6fa45eb793d19ef54f5062f20f33f](https://etherscan.io/address/0xcd627aa160a6fa45eb793d19ef54f5062f20f33f) | +| [CVX/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/cvx-usd) | [0xd962fC30A72A84cE50161031391756Bf2876Af5D](https://etherscan.io/address/0xd962fC30A72A84cE50161031391756Bf2876Af5D) | +| [OGN/ETH](https://data.chain.link/ethereum/mainnet/crypto-eth/ogn-eth) | [0x2c881b6f3f6b5ff6c975813f87a4dad0b241c15b](https://etherscan.io/address/0x2c881b6f3f6b5ff6c975813f87a4dad0b241c15b) | +{% endtab %} + +{% tab title="Governance" %} + + +| Contract | Address | ENS | +| ------------------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------- | +| 5 of 8 Multisig | [0xbe2AB3d3d8F6a32b96414ebbd865dBD276d3d899](https://etherscan.io/address/0xbe2AB3d3d8F6a32b96414ebbd865dBD276d3d899) | [originprotocol.eth](https://etherscan.io/address/originprotocol.eth) | +| 2 of 9 Multisig | [0xF14BBdf064E3F67f51cd9BD646aE3716aD938FDC](https://etherscan.io/address/0xF14BBdf064E3F67f51cd9BD646aE3716aD938FDC) | [originstrategist.eth](https://etherscan.io/address/originstrategist.eth) | +| Governor / Timelock | [0x72426BA137DEC62657306b12B1E869d43FeC6eC7](https://etherscan.io/address/0x72426BA137DEC62657306b12B1E869d43FeC6eC7) |

origingovernor.eth

origintimelock.eth

| +| OGN Buyback | [0x77314EB392b2be47C014cde0706908b3307Ad6a9](https://etherscan.io/address/0x77314EB392b2be47C014cde0706908b3307Ad6a9) | [originbuyback.eth](https://etherscan.io/address/originbuyback.eth) | +{% endtab %} + +{% tab title="Stablecoins" %} +| Contract | Address | +| ------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| [USDT](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | [0xdac17f958d2ee523a2206206994597c13d831ec7](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | +| [USDC](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | [0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | +| [DAI](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | [0x6b175474e89094c44da98b954eedeac495271d0f](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | +{% endtab %} + +{% tab title="Staking" %} +| Contract | Address | ENS | +| ----------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- | +| OGN Staking | [0x501804B374EF06fa9C427476147ac09F1551B9A0](https://etherscan.io/address/0x501804B374EF06fa9C427476147ac09F1551B9A0) | [originstaking.eth](https://etherscan.io/address/originstaking.eth) | + + + +Internal implementation contracts: + + + +| Contract | Address | +| ----------- | --------------------------------------------------------------------------------------------------------------------- | +| OGN Staking | [0x8cd68a1e0b79150455c5498882d5d5d3df2dde08](https://etherscan.io/address/0x8cd68a1e0b79150455c5498882d5d5d3df2dde08) | + + + +OUSD compensation contract ([details](https://medium.com/originprotocol/origin-delivers-on-compensation-promise-claim-your-ousd-and-ogn-now-a9fa9b840476)): + + + +| Contract | Address | +| ----------------- | --------------------------------------------------------------------------------------------------------------------- | +| OUSD Compensation | [0x9C94df9d594BA1eb94430C006c269C314B1A8281](https://etherscan.io/address/0x9C94df9d594BA1eb94430C006c269C314B1A8281) | +{% endtab %} + +{% tab title="Flipper" %} +Flipper is a gas-optimized way for users to swap in and out of OUSD at a fixed 1:1 rate with other stablecoins. This contract may become empty on one side (e.g., contain 0 OUSD balance), and thus sometimes provides limited swap routes. + + + +| Contract | Address | ENS | +| -------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- | +| Flipper | [0xcecaD69d7D4Ed6D52eFcFA028aF8732F27e08F70](https://etherscan.io/address/0xcecaD69d7D4Ed6D52eFcFA028aF8732F27e08F70) | [originflipper.eth](https://etherscan.io/address/originflipper.eth) | +{% endtab %} + +{% tab title="Wrapped" %} +Wrapped OUSD\ +\ **Well known proxy address:** - [0xD2af830E8CBdFed6CC11Bab697bB25496ed6FA62](https://etherscan.io/address/0xD2af830E8CBdFed6CC11Bab697bB25496ed6FA62) + +Internal implementation address - [0xbf3b9b141cb3629f5bb8f721cba9265c92494539](https://etherscan.io/address/0xbf3b9b141cb3629f5bb8f721cba9265c92494539) +{% endtab %} +{% endtabs %} + + + + + + + + diff --git a/fil/README.md b/fil/README.md new file mode 100644 index 000000000..7c08388ed --- /dev/null +++ b/fil/README.md @@ -0,0 +1,29 @@ +--- +description: The first stablecoin that earns a yield while it's still in your wallet +--- + +# Introduction + +## **A Better Form of Money** + +Origin Dollar (OUSD) is a new stablecoin that was initially launched in September 2020 on the Ethereum network. Its design is superior to existing stablecoins because OUSD captures competitive yields while being passively held in wallets. + +![](.gitbook/assets/origin-dollar-summary.jpeg) + +**Background** + +In 1999, Yu Pan, Origin’s R\&D engineer, and his fellow PayPal co-founders [conceived](https://www.cnbc.com/2017/08/14/david-sacks-cryptocurrency-interview.html) of creating “the new world currency”, complete with interest yielding strategies and debit cards without having to connect to traditional banking systems. Several pivots and an eBay acquisition later, PayPal dropped its ambitions in this area. + +Almost two decades later, Tether introduced the concept of a USD-denominated stablecoin in 2014. Since then, stablecoins have proven themselves as an ideal way of transferring value without exposing users to the price volatility of free-floating currencies. Today, more value is [transferred via Tether](https://www.bloomberg.com/news/articles/2019-10-01/tether-not-bitcoin-likely-the-world-s-most-used-cryptocurrency) than with Bitcoin. Meanwhile, Decentralized Finance (DeFi) has experienced an explosion of growth with [billions of dollars](https://defipulse.com) of capital now locked up in smart contracts that generate yields from lending and trading protocols. + +One of the problems with existing stablecoins is that users have to constantly choose between holding an easily spendable coin and earning yields by locking their tokens up in smart contracts. For example, users that lock up USDC in Aave cannot spend a portion of that USDC simultaneously. Expensive Ethereum gas fees serve as "switching costs" each time those users want to switch between spending mode and earning mode. + +To make matters worse, yields from lending and trading activities change rapidly. Sophisticated DeFi yield earners are familiar with constantly having to rebalance their portfolio of assets across many competing platforms. This is time-consuming and expensive as gas fees once again eat into yields. In addition, it is time-consuming to calculate real ROI as APYs are unstable and constantly fluctuating. There isn't an easy unit of account. As a result, while DeFi is growing extremely rapidly, it still makes it difficult for many cryptocurrency users to participate. + +With OUSD, there’s no need to unwind complicated positions when you want to spend your OUSD. You can transfer it freely without having to pay gas to unlock spendable capital. In addition, OUSD gives you access to some of the highest-earning opportunities across DeFi with none of the hassles. The OUSD smart contract will deploy your underlying capital to a diversified set of yield-earning strategies, rebalancing over time to achieve great yields while diversifying risk. Earnings automatically accrue in your wallet and compound continuously while you hold OUSD. Again, no staking or lockups are required. OUSD also serves as an ideal unit of account. DeFi investors no longer need complicated spreadsheets to calculate their earnings as they can easily see their constantly updated OUSD balances in real-time as their interest compounds automatically. OUSD is an ideal stablecoin for DeFi yield farmers and novice cryptocurrency users alike. + +Created by cryptocurrency and fintech veterans, the Origin Dollar is brought to you by the [team](https://www.originprotocol.com/team) at [Origin Protocol](https://www.originprotocol.com) that includes serial entrepreneurs, early cryptocurrency investors, early employees at YouTube, engineering managers at Google/Dropbox, and one of the Paypal co-founders, Yu Pan. + +For those interested in diving into the technical details of how it works, these docs are a great place to start. We encourage developers to audit and contribute to our [Github](http://www.github.com/OriginProtocol) (100% open-source). Our team hangs out in [Discord](https://www.originprotocol.com/discord) if you have questions or need help getting started. + +Welcome to the future of money. diff --git a/fil/SUMMARY.md b/fil/SUMMARY.md new file mode 100644 index 000000000..a389e6c18 --- /dev/null +++ b/fil/SUMMARY.md @@ -0,0 +1,64 @@ +# Table of contents + +* [Introducing OUSD](README.md) +* [How It Works](how-it-works.md) +* [Getting Started](getting-started.md) +* [Analytics Dashboard](analytics-dashboard.md) +* [FAQ](faq.md) + +## Core Concepts + +* [Elastic Supply](core-concepts/elastic-supply/README.md) + * [Rebasing & Smart Contracts](core-concepts/elastic-supply/rebasing-and-smart-contracts.md) +* [Yield Generation](core-concepts/yield-generation/README.md) + * [Lending](core-concepts/yield-generation/lending.md) + * [Market Making](core-concepts/yield-generation/market-making.md) + * [Rewards](core-concepts/yield-generation/rewards.md) +* [Wrapped OUSD](core-concepts/wrapped-ousd.md) +* [Supported Stablecoins](core-concepts/supported-stablecoins/README.md) + * [USDT](core-concepts/supported-stablecoins/usdt.md) + * [USDC](core-concepts/supported-stablecoins/usdc.md) + * [DAI](core-concepts/supported-stablecoins/dai.md) +* [Supported Strategies](core-concepts/supported-strategies/README.md) + * [Compound](core-concepts/supported-strategies/compound.md) + * [Aave](core-concepts/supported-strategies/aave.md) + * [Curve](core-concepts/supported-strategies/curve.md) + * [Convex](core-concepts/supported-strategies/convex.md) +* [Fund Management](core-concepts/fund-management.md) +* [Price Oracles](core-concepts/price-oracles.md) + +## Governance + +* [Principles](governance/principles.md) +* [Admin Privileges](governance/admin-privileges.md) +* [OGN Staking](governance/ogn-staking.md) +* [Contributing](governance/contributing.md) +* [Vote Delegation](governance/vote-delegation.md) + +## Smart Contracts + +* [Architecture](smart-contracts/architecture.md) +* [Registry](smart-contracts/registry.md) +* [API](smart-contracts/api/README.md) + * [Vault](smart-contracts/api/vault.md) + * [ERC-20](smart-contracts/api/erc-20-1.md) + * [Timelock](smart-contracts/api/timelock.md) + * [Strategies](smart-contracts/api/strategies.md) + +## Security & Risks + +* [Risks](security-and-risks/risks.md) +* [Audits](security-and-risks/audits.md) +* [Insurance](security-and-risks/insurance.md) +* [Bug Bounties](security-and-risks/bug-bounties.md) + +## Guides + +* [Integration Guide For Exchanges](guides/integration-guide-for-exchanges.md) +* [Incentivized Harvesting Guide](guides/incentivized-harvesting-guide.md) + +## Links + +* [Github](https://www.github.com/originprotocol/origin-dollar) +* [Discord](https://www.originprotocol.com/discord) +* [originprotocol.com](https://www.originprotocol.com) diff --git a/fil/analytics-dashboard.md b/fil/analytics-dashboard.md new file mode 100644 index 000000000..9c3e6a577 --- /dev/null +++ b/fil/analytics-dashboard.md @@ -0,0 +1,31 @@ +# Analytics Dashboard + +{% hint style="info" %} +Visit [analytics.ousd.com](https://analytics.ousd.com) to see how funds are allocated, view historical performance data, and track your personal gains. +{% endhint %} + +The [APY dashboard](https://analytics.ousd.com/apy) is primarily intended for consumption by our engineering team, but we went ahead and deployed it since our ethos is "public by default" and everything that we do is [open-source](http://github.com/OriginProtocol). Unfortunately, that often means erring on the side of transparency and not necessarily the side of taking the time to explain things clearly. + +Before diving into the yield calculation, it's important to understand how OUSD works both in terms of [yield generation](https://docs.ousd.com/core-concepts/yield-generation) and [rebasing](https://docs.ousd.com/core-concepts/elastic-supply). You can read all about that in these [docs](https://docs.ousd.com), including [the part about smart contracts being excluded from yield](https://docs.ousd.com/core-concepts/elastic-supply/rebasing-and-smart-contracts). + +To summarize how APY is calculated, it's the annualized rate of change in OUSD's internal accounting of users' balances between two points in time. To understand that, let's break down the columns in the historical APY table (in reverse order). + +**Ratio** + +There are two types of OUSD balances: rebasing (most accounts) and non-rebasing (smart contracts that have not opted in). The OUSD token contract maintains a separate internal accounting for each type of balance using what it calls "credits". The ratio shown here is the rebasing supply of OUSD divided by the rebasing credits, which gives us the exchange rate between the two. + +**Credits** + +Some smart contracts holding OUSD have unique credit balances because their rebasing status has changed at some point in the past (by opting in or out). Here we show the sum of all rebasing credits and non-rebasing credits. When multiplied by the ratio, it gives the difference between backing supply and non-rebasing supply. + +**Non-rebasing** + +This is the portion of supply held in other smart contracts that have not opted in to rebasing. When added to (credits \* ratio), this equals backing supply. Note also that the **%** column shows the percentage of OUSD that is non-rebasing. + +**Boost** + +The APY is effectively "boosted" for rebasing accounts thanks to the fact that some OUSD is non-rebasing. Think about all of the stablecoins that were used as collateral to mint the non-rebasing OUSD. Those stablecoins are still earning through our yield farming strategies, but the gains are accruing only to the rebasing accounts. The result is that the effective APY is higher than it would be without this mechanism. The boost is the measure of this difference. If boost is 100%, then regular OUSD holders are enjoying double the APY that they otherwise would. + +**APR/APY calculation** + +Bringing this full circle, we currently measure yield by measuring the change in the [rebasing credits per token](https://github.com/OriginProtocol/origin-dollar/blob/master/contracts/contracts/token/OUSD.sol#L45) between two points in time. But there are a few other considerations to note. First, we have to make an assumption about how many Ethereum blocks are mined on an average day. We use a [fixed 6,500](https://github.com/OriginProtocol/ousd-analytics/blob/master/eagleproject/core/views.py#L43), but the actual number of blocks per day is variable. Second, we need a reasonable time horizon to measure. We focus on 30 days, which has proven to be a relatively consistent window of time during which a complete sample of yield-generating activities has occurred. Third, we convert APR into APY by assuming [constant daily compounding](https://github.com/OriginProtocol/ousd-analytics/blob/master/eagleproject/core/views.py#L449-L451). In other words, yield is constantly being reinvested into the same strategies. Finally, there is one notable drawback to using the rebase ratio to measure yield. Since rebase events currently occur sporadically (and not very frequently in a world of high gas prices), the APY won't reflect earnings that have not yet been translated to account balances. For example, there could be an interest rate spike in Compound or a volume spike in the Curve 3pool strategy, which would cause OUSD to earn more than it does on an average day. Until [the rebase method](https://github.com/OriginProtocol/origin-dollar/blob/master/contracts/contracts/vault/VaultCore.sol#L365-L370) gets called, the APY will underreport these earnings. In fact, anyone who sells OUSD during that time would be missing out on the "[next rebase](https://analytics.ousd.com)". The good news is that you should be able to observe the change in your balance over one week and it (annualized) should approximately equal our advertised APY. diff --git a/fil/architecture/erc-20-1.md b/fil/architecture/erc-20-1.md new file mode 100644 index 000000000..a9caff400 --- /dev/null +++ b/fil/architecture/erc-20-1.md @@ -0,0 +1,19 @@ +# ERC-20 + +{% hint style="success" %} +The main ERC20 address for Origin Dollar \(OUSD\) is: +**0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +OUSD is an ERC-20 compliant token with one novel property that is important to understand. + +{% hint style="warning" %} +Wallets and exchanges that wish to integrate OUSD should not cache token balances for OUSD as this value will change frequently as yield is accrued to token holders. +{% endhint %} + +The biggest difference separating OUSD from your average ERC-20 token is the way OUSD's`balanceOf()` function will return a variable amount based on the total value of the pool multiplied by the holder's stake in the pool. This difference is vital to understand, particularly for wallets and exchanges that wish to integrate the OUSD token. This value should be fetched in real-time instead of being cached since OUSD rebases frequently. + + + + + diff --git a/fil/architecture/erc-20.md b/fil/architecture/erc-20.md new file mode 100644 index 000000000..9a789241b --- /dev/null +++ b/fil/architecture/erc-20.md @@ -0,0 +1,12 @@ +# Overview + +![](../.gitbook/assets/ousd_docs_graphics_3.png) + +OUSD is made up of a series of smart contracts. Each of these contracts is wrapped in a proxy contract that can be upgraded via the governance protocols. + +Internally, ownership in the pool is tracked using a credits system that represents the percent ownership of the pool for each holder. The ERC-20 contract handles the conversion to USD terms when viewing a balance or initiating a transfer between wallets. + +The Vault is responsible for minting and burning OUSD. It also enforces the percentage of assets that are deployed to each of the supported [Strategies](../core-concepts/supported-strategies/). To optimize gas costs, the vault maintains a buffer to allow most deposits and redemptions to occur without winding/unwinding assets from strategies. + + + diff --git a/fil/architecture/strategies.md b/fil/architecture/strategies.md new file mode 100644 index 000000000..3133d5b03 --- /dev/null +++ b/fil/architecture/strategies.md @@ -0,0 +1,14 @@ +# Strategies + +New strategies can be added or removed at any time to respond to new market realities and diversify risk. + +At launch, OUSD will take advantage of a single strategy and deploy deposited capital to Compound. We intend to deploy many other strategies soon thereafter. + +Once we migrate to decentralized governance, it is our intent for the community to propose new strategies and to vote on the appropriate weight for each strategy in the pool. We anticipate that most OUSD holders will value having some exposure to higher yield opportunities while maintaining more conservative positions for a portion of the funds. + + + + + + + diff --git a/fil/architecture/timelock.md b/fil/architecture/timelock.md new file mode 100644 index 000000000..b26b30f1c --- /dev/null +++ b/fil/architecture/timelock.md @@ -0,0 +1,22 @@ +# Timelock + +{% hint style="danger" %} +The timelock will be added soon after everything is verified as working. Until then, the contracts will be governed by Origin's 5 of 8 multi-sig. This allows for a faster response if any critical issues are discovered. +{% endhint %} + +The timelock contract enforces a 48 hour wait period before any changes to the OUSD contracts can be executed. The timelock can be called by our multi-sig and is the owner of our [ERC-20](erc-20.md), [Vault](vault.md), and [Strategies](strategies.md) contracts. Time-delaying admin actions gives users a chance to exit OUSD if its admins become malicious, are compromised, or make a change that the users do not like. + +{% hint style="info" %} +The timelock is a safety measure that gives OUSD holders 48 hours to withdraw their funds if they have objections to any proposed upgrades to the protocol. +{% endhint %} + +OUSD is using a slightly modified version of the [Compound Timelock](https://compound.finance/docs/governance) which has been [audited by OpenZeppelin](https://blog.openzeppelin.com/compound-finance-patch-audit/). The 3 notable differences are: + +1. OUSD will initially use a shorter wait period \(48 hours\) than Compound \(72 hours\) to allow for a faster response if any issues are discovered. +2. Once the 48 hours have passed, anyone is free to execute the call, not just the owner of the contract. +3. Deposits \(but not withdrawals or transfers\) can be immediately frozen without requiring the 48 waiting period. This is in case a major vulnerability is discovered. + + + + + diff --git a/fil/architecture/vault.md b/fil/architecture/vault.md new file mode 100644 index 000000000..ebb2a96dc --- /dev/null +++ b/fil/architecture/vault.md @@ -0,0 +1,17 @@ +# Vault + +The vault is at the core of the protocol. The vault is responsible for minting/redeeming OUSD tokens, rebalancing funds between the various supported strategies, and liquidating rewards tokens. + +The most important publicly callable functions on the Vault are: + +* `mint()`allows a single supported stablecoin to be converted to OUSD +* `mintMultiple()`allows multiple supported stablecoins to be converted to OUSD in a single call +* `redeem()`allows a specified amount of OUSD to be redeemed for other supported stablecoins. +* `redeemAll()`allows a user to redeem their entire balance of OUSD for other supported stablecoins. This is particularly useful since user balances are constantly growing as yield is accrued. +* `rebase()`updates the balances for all users based on the value of the assets currently stored in the pool. +* `allocate()`moves the assets under management into their prescribed [Stategies](strategies.md) to maximize yield and diversify risk. + +On redemptions, it is the protocol and not the user that decides which stablecoin\(s\) to return to the user. This decision of which coin\(s\) to return is based on the internal ratios of the assets that are being held in the pool. + + + diff --git a/fil/core-concepts/elastic-supply.md b/fil/core-concepts/elastic-supply.md new file mode 100644 index 000000000..2cf0fd8ae --- /dev/null +++ b/fil/core-concepts/elastic-supply.md @@ -0,0 +1,18 @@ +# Elastic Supply + +**Elastic Supply. Stable Price.** + +OUSD works differently than most tokens. Instead of the price increasing as the value of the assets under management increase \(as with Compound cTokens or Yearn yTokens\), the value of one OUSD remains constant at approximately $1. Instead, the contracts constantly adjust the monetary supply and automatically updates the balance in every token holder’s wallet to reflect the yield that has been earned by the protocol. + +{% hint style="info" %} +Think of it as interest accruing in your bank account. The unit of account and value for the US dollar doesn’t change. You just get more US dollars over time as you earn interest. +{% endhint %} + +![](../.gitbook/assets/ousd_docs_graphics_4.png) + +This mechanism was inspired by the novel approach taken by [Ampleforth](https://www.ampleforth.org/), but there are some key differences that are worth highlighting: + +1. OUSD is 100% backed by other stablecoins and will not have the same challenge maintaining the peg to the dollar. Given the ease of minting and redeeming OUSD, we can count on arbitrageurs to ensure the peg is maintained. +2. OUSD rebasing should only increase supply since the amount of OUSD minted is tied to the realized gains earned by the underlying strategies. Your principal is protected as long as nothing goes wrong with the underlying lending/AMM and stablecoin protocols. Any decrease in your balance would be an indication of trouble in the system. +3. Unlike Ampleforth, which rebases once a day, the monetary supply of OUSD is constantly being updated in real-time as yield is generated. + diff --git a/fil/core-concepts/elastic-supply/README.md b/fil/core-concepts/elastic-supply/README.md new file mode 100644 index 000000000..a681d0615 --- /dev/null +++ b/fil/core-concepts/elastic-supply/README.md @@ -0,0 +1,21 @@ +# Elastic Supply + +**Elastic Supply. Stable Price.** + +OUSD works differently than most tokens. Instead of the price increasing as the value of the assets under management increase (as with Compound cTokens or Yearn yTokens), the value of one OUSD remains constant at approximately $1. Instead, the contracts constantly adjust the monetary supply and automatically updates the balance in every token holder’s wallet to reflect the yield that has been earned by the protocol. + +{% hint style="info" %} +Think of it as interest accruing in your bank account. The unit of account and value for the US dollar doesn’t change. You just get more US dollars over time as you earn interest. +{% endhint %} + +![](../../.gitbook/assets/ousd\_docs\_graphics\_4.png) + +This mechanism was inspired by the novel approach taken by [Ampleforth](https://www.ampleforth.org), but there are some key differences that are worth highlighting: + +1. OUSD is 100% backed by other stablecoins and does not have the same challenge maintaining the peg to the dollar. Given the ease of minting and redeeming OUSD, we can count on arbitrageurs to ensure the peg is maintained. +2. OUSD rebasing will only increase supply since the amount of OUSD minted is tied to the realized gains earned by the underlying strategies. Your principal is protected as long as nothing goes wrong with the underlying lending/AMM and stablecoin protocols. Your OUSD balance will never decrease, but the value could drop if there's a failure in the underlying systems. +3. Unlike Ampleforth, which only rebases once a day, the monetary supply of OUSD is constantly being updated in real-time as yield is generated. Rebases are triggered regularly as users interact with the OUSD contracts. Chainlink Keepers ensure at least one rebase occurs every day. + +**Manually triggering a rebase** + +Anyone can trigger a rebase at any time by [calling the rebase function on the vault](https://etherscan.io/address/originvault.eth#writeProxyContract). You can do this on Etherscan by connecting a web3 wallet. diff --git a/fil/core-concepts/elastic-supply/rebasing-and-smart-contracts.md b/fil/core-concepts/elastic-supply/rebasing-and-smart-contracts.md new file mode 100644 index 000000000..cdebbc4bf --- /dev/null +++ b/fil/core-concepts/elastic-supply/rebasing-and-smart-contracts.md @@ -0,0 +1,22 @@ +# Rebasing & Smart Contracts + +If you are using a multi-sig wallet or another smart contract that wishes to participate in the rebasing aspect of OUSD you must call OUSD’s`rebaseOptIn()` function. This only applies to smart contracts as standard EOA wallets are enrolled automatically. + +{% hint style="info" %} +Multi-sig wallets or other smart contracts must call`rebaseOptIn()`to earn yield. +{% endhint %} + +By default, OUSD that is held on smart contracts will not participate in the rebasing nature of the token and will forfeit any yield unless the smart contract explicitly opts-in. This increases the composability of OUSD within DeFi as many protocols weren't designed with the expectation that balances might change. To other DeFi protocols, OUSD works just like any other normal, well-behaved ERC-20 until you ask it to change. This is a particularly useful attribute for automated market makers (AMM’s) like Uniswap which break when the number of tokens they are holding changes unexpectedly. + +![The Gnosis Safe OUSD app will prompt you to opt in to yield](../../.gitbook/assets/ousd-app-in-gnosis-safe.png) + +Smart contracts must explicitly opt-in to receiving yield via the rebasing mechanism. This fixes the issue with the expanding supply on AMM’s while still allowing multi-sig wallets and other smart contracts the opportunity to still participate and earn yield. + +{% hint style="warning" %} +If you are deploying a contract and intend to call`rebaseOptIn()`to earn yield you cannot call it from the contract's constructor. The contract must be deployed before it can be called. +{% endhint %} + +[Gnosis Safe](https://gnosis-safe.io) users are encouraged to use the Origin Dollar app which will prompt you to opt in to receiving yield. If you are using the "Old" [Gnosis Wallet](https://github.com/gnosis/MultiSigWallet) or another contract-based wallet, you will need the [proxy contract address for OUSD](../../smart-contracts/registry.md) and the corresponding [ABI](https://api.etherscan.io/api?module=contract\&action=getabi\&address=0x1ae95dd4eeae7ed03da79856c2d44ffa3318f805). Once you add those, you will be able to call the `rebaseOptIn()` function to opt into receiving yield via rebasing or`rebaseOptOut()` to turn it off again. + + + diff --git a/fil/core-concepts/fund-management.md b/fil/core-concepts/fund-management.md new file mode 100644 index 000000000..d6b1920c5 --- /dev/null +++ b/fil/core-concepts/fund-management.md @@ -0,0 +1,23 @@ +# Fund Management + +The OUSD smart contract aggregates all users' stablecoin deposits into a single pool of assets that are then deployed into earning strategies based on preset allocations. In contrast to Yearn Vaults, TokenSets, or Zapper opportunities, users do not select individual strategies. All deposited stablecoins and consequently all OUSD tokens are fungible. + +The weighting of how assets are distributed between the supported strategies is decided by OGN holders using weekly snapshot voting. These votes happen offchain and do not cost any gas. The results of the weekly poll will then be executed onchain by members of the [Strategist multi-sig](https://etherscan.io/address/0xF14BBdf064E3F67f51cd9BD646aE3716aD938FDC) (known as "Strategists"). + +Ultimately, we believe it should be up to the community to decide what the right balance of risk/reward is appropriate for OUSD. We encourage the community to favor high-yield strategies while still maintaining diversification across multiple strategies to remove single points of failure and minimize risk. + +**How strategy allocation voting works:** + +* New snapshot proposals will open for voting on the [OGN governance portal ](http://vote.originprotocol.com)at midnight Tuesday UTC (7pm eastern Monday). The poll will be open for 48 hours, ending at midnight Thursday UTC (7pm eastern on Wednesday). +* During this time, those interested can discuss allocation changes in a thread in the #governance channel on [Origin's Discord](https://www.originprotocol.com/discord). +* Each proposal will use "weighted voting", with options for each coin/strategy combination and an option to keep the existing allocation unchanged. OGN holders can spread their votes among different listed strategies or the existing allocation. +* After the voting time has ended, Strategists will submit, verify, and execute transactions to change OUSD to the determined allocation percentages for the week. If more than 50% of the weighted votes are cast for the existing allocation, Strategists will take no action. +* Allocations will be executed for strategies that use all stablecoins first (like Convex), then each stablecoin will be allocated to the remaining strategies according to the ratio of votes for that stablecoin / strategy combination. +* If the Strategists deem any of the allocations unsafe to the funds behind OUSD, they may choose to not execute those. In addition, Strategists may decline to execute minor adjustments where the gas costs would be greater than the expected benefits. +* Like all governance proposals, Strategist allocations must meet the minimum quorum requirements (currently 1M OGN) to be considered valid. +* From a security standpoint, it is important to know that while Strategists have the ability to move funds between approved strategies or instantly pause rebasing in the case of an emergency, Strategists do not have the power to add new strategies or withdraw funds without going through the timelock. Community members can use the Strategy Validator tools to more easily [create](https://analytics.ousd.com/strategist/creator) and [decode](https://analytics.ousd.com/strategist) which actions are being performed by the Strategists. +* When voting, please remember it is inefficient to move in and out of the Convex strategy frequently and some funds need to always remain outside of Convex in order to accommodate withdrawals. + + + +**** diff --git a/fil/core-concepts/fund-management/README.md b/fil/core-concepts/fund-management/README.md new file mode 100644 index 000000000..4f6287602 --- /dev/null +++ b/fil/core-concepts/fund-management/README.md @@ -0,0 +1,6 @@ +# Fund Management + +The OUSD smart contract aggregates all users' stablecoin deposits into a single pool of investable assets. Funds are then allocated across one or more [earning strategies](earning-strategies.md) at any given moment in time. The Vault favors high-yield strategies but also seeks to maintain diversification across multiple strategies. Diversification removes single points of failures and mitigates risks. + +In contrast to Yearn Vaults, TokenSets, or Zapper opportunities, users do not select individual strategies. All deposited stablecoins and consequently all OUSD tokens are fungible. + diff --git a/fil/core-concepts/fund-management/diversification.md b/fil/core-concepts/fund-management/diversification.md new file mode 100644 index 000000000..3d98a522e --- /dev/null +++ b/fil/core-concepts/fund-management/diversification.md @@ -0,0 +1,8 @@ +# Diversification + +The initial version of the OUSD Vault smart contract gives each valid strategy a simple weight between 0% and 100% to perform simple asset allocation. These weights will be shifted often via updates by Origin in the short-term and by decentralized governance in the long-term. + +Diversification across multiple underlying DeFi [platforms](../supported-strategies/) will reduce smart contract and other systemic risks. The smart contract will calculate current and expected APYs in an effort to provide competitive returns to OUSD holders. Over time, the Vault contract will be upgraded to intelligently and autonomously shift between strategies without any manual intervention. For example, the Vault will automatically shift capital between various lending strategies to optimize for yields. + +However, it is still expected that certain risk parameters or decisions on whether certain strategies will be included in the automated decision-making engine will be made through governance votes. + diff --git a/fil/core-concepts/fund-management/earning-strategies.md b/fil/core-concepts/fund-management/earning-strategies.md new file mode 100644 index 000000000..0fb0111e4 --- /dev/null +++ b/fil/core-concepts/fund-management/earning-strategies.md @@ -0,0 +1,6 @@ +# Earning Strategies + +Earning strategies put deployed capital to work across various DeFi platforms. The Vault will determine which strategies are active and what percentage of deployed capital they will receive. + +In addition, strategies will be upgraded over time. For example, at launch, there will be an initial [Compound strategy](../supported-strategies/compound.md). Over time, this may be replaced by a v2 or v3 Compound strategy. + diff --git a/fil/core-concepts/price-oracles.md b/fil/core-concepts/price-oracles.md new file mode 100644 index 000000000..1b08c685f --- /dev/null +++ b/fil/core-concepts/price-oracles.md @@ -0,0 +1,38 @@ +- - - +description: OUSD uses Chainlink to secure the protocol from pricing attacks +- - - + +# Price Oracles + +### Stablecoin Pricing + +OUSD is designed to stay pegged at 1 USD and be 1:1 backed with its underlying stablecoins. This is trickier than it sounds because these underlying stablecoins are constantly deviating from their own desired 1 USD pegs. While the majority of daily fluctuations are minor, there have been major swings in price that have occurred in the past and are likely to occur again in the future. + +| Coin | **Low** | **High** | **Delta** | **Source** | +| ---- | ---------------------------------------------------- | ---------------------------------------------------- | --------- | --------------------------------------------------------------------------- | +| USDC |

$0.929222

Mar 13, 2020

|

$1.11

Oct 15, 2018

| $0.180778 | [CoinMarketCap](https://coinmarketcap.com/currencies/usd-coin/) | +| USDC |

$0.924188

Aug 02, 2020

|

$1.17

May 08, 2019

| $0.245812 | [CoinGecko](https://www.coingecko.com/en/coins/usd-coin) | +| DAI |

$0.945505

May 10, 2020

|

$1.11

Mar 13, 2020

| $0.164495 | [CoinMarketCap](https://coinmarketcap.com/currencies/multi-collateral-dai/) | +| DAI |

$0.903243

Nov 25, 2019

|

$1.22

Mar 13, 2020

| $0.316757 | [CoinGecko](https://www.coingecko.com/en/coins/dai) | +| USDT |

$0.849809

Feb 02, 2017

|

$1.21

May 27, 2017

| $0.360191 | [CoinGecko](https://www.coingecko.com/en/coins/tether) | +| USDT |

$0.572521

Mar 02, 2015

|

$1.32

Jul 24, 2018

| $0.747479 | [CoinMarketCap](https://coinmarketcap.com/currencies/tether/) | + +The rebasing function treats 1 stablecoin as 1 OUSD for simplicity and to protect OUSD balances from being affected by the daily fluctuations in the price of the underlying stablecoins. Since the rebase function only counts coins, OUSD balances should only increase. + +In order to mint and redeem the appropriate number of OUSD on entry and exit, the smart contracts need to accurately price the USDT, USDC, and DAI that is entering and exiting the system. + +As an added precaution, OUSD never pays more than a dollar for a stablecoin, nor sells a stablecoin for less than a dollar. Oracles giving wrong prices will not result in a reduction of the number of stablecoins held. Gains that are collected as a result of stablecoins slipping from their peg are redistributed to the remaining holders of OUSD in the form of additional yield. + +As a decentralized protocol, OUSD must rely on non-centralized sources for these prices. OUSD uses Chainlink oracles for pricing data for DAI, USDC and USDT. You can read more about [our decision to work with Chainlink](https://blog.originprotocol.com/how-origin-uses-chainlink-oracles-to-secure-ousd-bff5601e840e) on our blog. Here are the Chainlink oracles we are currently using for stablecoin pricing: + +{% embed url="https://data.chain.link/usdt-usd" %} + +{% embed url="https://data.chain.link/usdc-usd" %} + +{% embed url="https://data.chain.link/dai-usd" %} + +### Reward Token Oracles & Front Running Protection + +When reward tokens from OUSD strategies are sold for additional yield, Chainlink oracles are checked to ensure that the sale price slippage has not exceeded normal bounds. These oracles are listed on our [registry](../smart-contracts/registry.md) page under the "Oracles" tab. + +The same is also true for OGN buybacks from OUSD yield.\ \ When minting and redeeming OUSD, a miniumun required amount can be passed into the contract call to ensure that the entire transaction fails if not enough OUSD or stablecoins would be returned to the user due to changing prices. diff --git a/fil/core-concepts/price-oracles/README.md b/fil/core-concepts/price-oracles/README.md new file mode 100644 index 000000000..58ed68ed4 --- /dev/null +++ b/fil/core-concepts/price-oracles/README.md @@ -0,0 +1,126 @@ +# Price Oracles + +OUSD is designed to stay pegged at 1 USD and be 1:1 backed with its underlying stablecoins. This is trickier than it sounds because these underlying stablecoins are constantly deviating from their own desired 1 USD pegs. While the majority of daily fluctuations are minor, there have been major swings in price that have occurred in the past and are likely to occur again in the future. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CoinLow + High + Delta + Source +
USDC +

$0.929222

+

Mar 13, 2020

+
+

$1.11

+

Oct 15, 2018

+
$0.180778CoinMarketCap +
USDC +

$0.924188

+

Aug 02, 2020

+
+

$1.17

+

May 08, 2019

+
$0.245812CoinGecko +
DAI +

$0.945505

+

May 10, 2020

+
+

$1.11

+

Mar 13, 2020

+
$0.164495CoinMarketCap +
DAI +

$0.903243

+

Nov 25, 2019

+
+

$1.22

+

Mar 13, 2020

+
$0.316757CoinGecko +
USDT +

$0.849809

+

Feb 02, 2017

+
+

$1.21

+

May 27, 2017

+
$0.360191CoinGecko +
USDT +

$0.572521

+

Mar 02, 2015

+
+

$1.32

+

Jul 24, 2018

+
$0.747479CoinMarketCap +
+ +The rebasing function treats 1 stablecoin as 1 OUSD for simplicity and to protect OUSD balances from being affected by the daily fluctuations in the price of the underlying stablecoins. Since the rebase function only counts coins, OUSD balances should only increase. + +In order to mint and redeem the appropriate number of OUSD on entry and exit, the smart contracts need to accurately price the USDT, USDC, and DAI that is entering and exiting the system. As a decentralized protocol, OUSD must rely on non-centralized sources for these prices. + +{% hint style="info" %} +OUSD fetches the price from multiple on-chain oracles and uses the exchange rate that is most advantageous for the vault when minting or redeeming. +{% endhint %} + +In order to prevent malicious attacks and to encourage long-term investors over short-term speculators, the OUSD contract compares price feeds from multiple sources and will use whichever exchange rate benefits the entire vault over the individual. This mechanism protects the vault funds from arbitrageurs and prevents any individual from being able to take advantage of any temporary inefficiencies caused by mispriced oracles to deplete the shared pool of assets. + +This protects the funds in the vault while rewarding long-term holders. Since the safest price depends on the direction of the trade, the Origin oracle exposes both a `priceUSDMint()` and a `priceUSDRedeem()`. + +OUSD uses Chainlink as oracle for DAI, USDC and USDT. + +{% embed url="https://feeds.chain.link/eth-usd" caption="" %} + +The specific smart contract address for each oracle being used are listed on our [registry](../../smart-contracts/registry.md) page. + +It is possible that additional oracles will be added to the protocol over time. Support may also be removed if any of these oracles become unreliable. + diff --git a/fil/core-concepts/price-oracles/untitled.md b/fil/core-concepts/price-oracles/untitled.md new file mode 100644 index 000000000..7a413944b --- /dev/null +++ b/fil/core-concepts/price-oracles/untitled.md @@ -0,0 +1,25 @@ +# Untitled + +## Getting Super Powers + +Becoming a super hero is a fairly straight forward process: + +``` +$ give me super-powers +``` + +{% hint style="info" %} + Super-powers are granted randomly so please submit an issue if you're not happy with yours. +{% endhint %} + +Once you're strong enough, save the world: + +{% code title="hello.sh" %} +```bash +# Ain't no code for that yet, sorry +echo 'You got to trust me on this, I saved the world' +``` +{% endcode %} + + + diff --git a/fil/core-concepts/supported-assets/README.md b/fil/core-concepts/supported-assets/README.md new file mode 100644 index 000000000..56390ccf6 --- /dev/null +++ b/fil/core-concepts/supported-assets/README.md @@ -0,0 +1,20 @@ +# Supported Stablecoins + +**Supported Stablecoins** + +It is important to understand that OUSD is only as strong as the stablecoins that are backing it. Any loss to the underlying assets will cause a similar loss to the value of OUSD. + +Currently, OUSD supports the following stablecoins: + +{% page-ref page="usdt.md" %} + +{% page-ref page="usdc.md" %} + +{% page-ref page="dai.md" %} + +None of these stablecoins are perfect, but we selected them because of their widespread usage. While these stablecoins have lost their USD peg on multiple occasions, they have demonstrated resiliency in eventually getting back to their 1 USD targets. + +It is important to note that all these stablecoins introduce non-trivial counter-party risk. Tether, in particular, has had well-documented banking troubles and regulatory challenges. In addition, both USDT and USDC have backdoors that grant their issuers the power to freeze money in their holder's wallets. While DAI does not have any direct backdoors, it's assets can also be negatively impacted since USDC is accepted as collateral for minting DAI. + +Despite these concerns, there are already billions of dollars betting on the security of these stablecoins. It is possible that additional stablecoins will be added to the protocol over time. Support may also be removed if any of these stablecoins prove to be too unreliable or put OUSD holders funds in jeopardy. + diff --git a/fil/core-concepts/supported-assets/dai.md b/fil/core-concepts/supported-assets/dai.md new file mode 100644 index 000000000..4be5c3788 --- /dev/null +++ b/fil/core-concepts/supported-assets/dai.md @@ -0,0 +1,20 @@ +# DAI + +![](../../.gitbook/assets/dai.png) + +Dai is a fiat-pegged stablecoin launched as a ERC-20 token on the Ethereum blockchain in December 2017. A major upgrade from single-collateral Dai \(SAI\) to multi-collateral Dai \(DAI\) was completed in November 2019. Dai is pegged to the US dollar. + +Dai is minted by users locking up crypto assets such as ETH or USDC as collateral in a collateralized debt position \(CDP\) called a vault. Previously, only ETH was accepted as collateral. The reserves and status of each vault can be viewed on the blockchain in real-time. The health of these vaults and the Dai stablecoin are closely monitored. + +Dai is the world's third-largest stablecoin with over $400 million in circulation. In addition, cDAI and aDAI, synthetic versions of Dai on the lending platforms Compound and Aave, combine for over $600 million in circulation. + +| Key Facts | | +|:------------- |:------------------------------------------------------------------------------------------------------------------- | +| Issued by | MakerDAO | +| Name | Dai | +| Symbol | DAI | +| Address | [0x6b175474e89094c44da98b954eedeac495271d0f](https://etherscan.io/token/0x6b175474e89094c44da98b954eedeac495271d0f) | +| Decimals | 18 | +| Official site | [https://makerdao.com/](https://makerdao.com/) | +| Holders | Over 140k addresses | + diff --git a/fil/core-concepts/supported-assets/usdc.md b/fil/core-concepts/supported-assets/usdc.md new file mode 100644 index 000000000..2647d7c83 --- /dev/null +++ b/fil/core-concepts/supported-assets/usdc.md @@ -0,0 +1,22 @@ +# USDC + +![](../../.gitbook/assets/usdc-coin-bd351fb779%20%281%29.png) + +USD Coin \(USDC\) is a fiat-pegged stablecoin launched as a ERC-20 token on the Ethereum blockchain in October 2018. USDC is pegged to the US dollar and can easily be redeemed for US dollars. + +Each USDC is backed by a 1:1 ratio with the equivalent amount of fiat currency held in custodial accounts by members of Centre, a consortium founded by Circle and Coinbase. Members of Centre are regulated financial institutions based in the US. Monthly audits of reserves are published by Grant Thornton LLP. + +USDC is the world's second-largest stablecoin after USDT and has quickly grown to over $1 billion in circulation. However, USDC remains far behind USDT's $12+ billion in circulation. + +| Key Facts | | +|:------------- |:------------------------------------------------------------------------------------------------------------------- | +| Issued by | Centre | +| Name | USD Coin | +| Symbol | USDC | +| Address | [0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48](https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48) | +| Decimals | 6 | +| Official site | [https://www.centre.io/usdc](https://www.centre.io/usdc) | +| Holders | Over 200k addresses | + + + diff --git a/fil/core-concepts/supported-assets/usdt.md b/fil/core-concepts/supported-assets/usdt.md new file mode 100644 index 000000000..4ae2afe89 --- /dev/null +++ b/fil/core-concepts/supported-assets/usdt.md @@ -0,0 +1,22 @@ +# USDT + +![](../../.gitbook/assets/image%20%281%29.png) + +Tether \(USDT\) is a fiat-pegged stablecoin that was initially built on top of Bitcoin via the Omni Layer Protocol. In September 2017, Tether announced they would be launching additional ERC-20 tokens for United States dollars on the Ethereum blockchain. + +Each Tether issued into circulation is said to be backed by a one-to-one ratio with the equivalent amount of fiat currency held in a custodial account by Tether Limited, a Hong Kong-based company with close ties to the cryptocurrency exchange, Bitfinex. + +Despite the controversy ****around ****the company's failure to provide a promised audit showing adequate reserves backing tether, USDT is still the world's largest stablecoin by market cap and currently the fourth-largest cryptocurrency after BTC, ETH and XRP. + +| Key Facts | | +|:------------- |:---------------------------------------------------------------------------------------------------------------- | +| Issued by | Tether Limited | +| Name | Tether | +| Symbol | USDT | +| Address | [0xdac17f958d2ee523a2206206994597c13d831](https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7) | +| Decimals | 6 | +| Official site | [https://tether.to/ ](https://tether.to/%20) | +| Holders | Over 1.8M addresses | + + + diff --git a/fil/core-concepts/supported-defi-platforms/README.md b/fil/core-concepts/supported-defi-platforms/README.md new file mode 100644 index 000000000..50ee37b6c --- /dev/null +++ b/fil/core-concepts/supported-defi-platforms/README.md @@ -0,0 +1,30 @@ +# Supported DeFi Platforms + +**Supported Platforms** + +OUSD generates yield by depositing stablecoins into lending platforms and market maker liquidity pools. It is important to understand that these platforms do carry technological risk and funds can be lost if there is a major security event. We are choosing to work with the platforms that have had their smart contracts audited and that we feel are most secure. + +Currently, we plan to earn yields from the following platforms: + +{% page-ref page="compound.md" %} + +Integrations are currently planned for the following platforms: + +{% page-ref page="aave.md" %} + +{% page-ref page="dydx.md" %} + +{% page-ref page="uniswap.md" %} + +{% page-ref page="curve.md" %} + +{% page-ref page="balancer.md" %} + +{% page-ref page="yearn.finance.md" %} + +Although DeFi has grown very quickly and there are now billions of dollars worth of value deposited on these platforms, several of these projects are still in beta and are highly experimental. There may be hidden vulnerabilities in the smart contracts that power these platforms, and there have been multi-million dollar losses caused by vulnerabilities in Ethereum applications in the past. + +We closely monitor security events on the platforms we support and will immediately move to secure OUSD holder funds if we identify any threats. + + + diff --git a/fil/core-concepts/supported-defi-platforms/aave.md b/fil/core-concepts/supported-defi-platforms/aave.md new file mode 100644 index 000000000..df02edab3 --- /dev/null +++ b/fil/core-concepts/supported-defi-platforms/aave.md @@ -0,0 +1,25 @@ +# Aave + +{% hint style="info" %} +Coming soon. Aave has not yet been integrated. +{% endhint %} + +Aave is a lending protocol and platform built on Ethereum and launched in January 2020 by the creators of ETHLend. Users on Aave can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and users can choose between a variable interest rate based on supply and demand or a fixed interest rate. + +Collateral balances are represented by ERC-20 aTokens at a 1:1 ratio to the underlying assets they represent. Interest is compounded automatically and paid to lenders with aTokens, meaning lenders will steadily see their aToken balance increase over time. Users can borrow assets against their aTokens. aTokens are freely transferable and can be used on many other DeFi protocols. aTokens can be redeemed for their underlying collateral at any time. + +Aave supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +Aave is currently governed by LEND, an ERC-20 token that was formerly the utility token for ETHLend. Aave has announced a transition to fully decentralized governance that includes a token swap where users exchange LEND for AAVE, a new ERC-20 governance token with staking rewards. Some AAVE will be distributed to users of the platform in a liquidity mining campaign. + +Aave's total value locked \(TVL\) has quickly grown to over $1.2 billion, making it one of the largest DeFi protocols. LEND has a circulating market cap of over $700 million. + +Aave has undergone security audits by OpenZeppelin, Trail of Bits, and Consensys Diligence. Aave maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------------ | +| Official site | [https://aave.com/](https://aave.com/) | +| Developer docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/aave/aave-protocol](https://github.com/aave/aave-protocol) | +| Discord | [https://discordapp.com/invite/AnSqnvV](https://discordapp.com/invite/AnSqnvV) | + diff --git a/fil/core-concepts/supported-defi-platforms/balancer.md b/fil/core-concepts/supported-defi-platforms/balancer.md new file mode 100644 index 000000000..f8d9e3c0a --- /dev/null +++ b/fil/core-concepts/supported-defi-platforms/balancer.md @@ -0,0 +1,27 @@ +# Balancer + +{% hint style="info" %} +Coming soon. Balancer has not yet been integrated. +{% endhint %} + +Balancer is a decentralized liquidity protocol and exchange on Ethereum, launched in March 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Balancer is an Automated Market Maker \(AMM\) that allows for liquidity pools of up to 8 different assets with custom weights. Liquidity pools on Balancer can be thought of as similar to Exchange Traded Funds \(ETFs\) or portfolios with weight targets for specific assets. If trading causes the pool to shift from its target weight distribution, exchange rates between assets in the pool change. Arbitrageurs can execute trades to take advantage of this and act to rebalance the pool back to its target weight distribution. Liquidity can also be shared across pools, unlike other AMMs. + +Balancer supports private pools, where only the owner of the pool can contribute liquidity, shared pools, which are completely public, and smart pools, which are shared pools controlled by a smart contract that can implement automated rules and logic. Liquidity providers are given Balancer Pool Tokens \(BPTs\) that represent their share of a given pool and fees. These tokens are freely transferable and can be redeemed for the assets provided and accrued fees. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Balancer pools. + +Balancer is governed by BAL, an ERC-20 governance token. BAL holders can vote on protocol changes. BAL is continuously awarded to liquidity providers and a large portion of the total supply of BAL was allocated to the team and investors on a continuous vesting schedule. + +Trading volumes on Balancer are often over $25 million daily. Balancer has a Total Value Locked \(TVL\) of over $250 million by liquidity providers at the time of writing. + +Balancer has undergone a security audit by Trail of Bits and has a bug bounty program. However, Balancer has suffered a major exploit in June 2020. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://balancer.finance/](https://balancer.finance/) | +| Developer docs | [https://docs.balancer.finance/](https://docs.balancer.finance/) | +| GitHub | [https://github.com/balancer-labs](https://github.com/balancer-labs) | +| Discord | [https://discord.gg/ARJWaeF](https://discord.gg/ARJWaeF) | + diff --git a/fil/core-concepts/supported-defi-platforms/compound.md b/fil/core-concepts/supported-defi-platforms/compound.md new file mode 100644 index 000000000..a4d2660a1 --- /dev/null +++ b/fil/core-concepts/supported-defi-platforms/compound.md @@ -0,0 +1,19 @@ +# Compound + +Compound is a lending protocol and platform built on Ethereum and launched in September 2018. Users can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and interest rates are adjusted automatically based on supply and demand. + +Collateral balances are represented by ERC-20 cTokens, which automatically accrue interest and increase in value over time relative to the underlying asset they represent. Users can borrow assets against the value of their cTokens. cTokens are freely transferable and can be used on many other DeFi protocols. cTokens can be redeemed for their underlying collateral at any time. + +Compound is governed by COMP, an ERC-20 governance token. COMP holders can propose and vote on protocol changes or delegate their votes to someone else. COMP tokens are awarded pro rata to users of the protocol daily, split equally between borrowers and lenders. A large portion of the COMP token supply was retained by the Compound team, investors, and advisors. + +Compound's total value locked \(TVL\) has quickly grown to nearly $800 million, making it one of the largest DeFi protocols. COMP has a circulating market cap of over $500 million. + +Compound has undergone multiple security audits by OpenZeppelin and Trail of Bits. The Compound protocol was formally verified by CertiK and has undergone economic stress testing by Gauntlet. Compound maintains a bug bounty program. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------------------------------------------------- | +| Official site | [https://compound.finance/](https://compound.finance/) | +| Developer docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/compound-finance/compound-protocol](https://github.com/compound-finance/compound-protocol) | +| Discord | [https://discord.com/invite/cU7vmVW](https://discord.com/invite/cU7vmVW) | + diff --git a/fil/core-concepts/supported-defi-platforms/curve.md b/fil/core-concepts/supported-defi-platforms/curve.md new file mode 100644 index 000000000..021d0041b --- /dev/null +++ b/fil/core-concepts/supported-defi-platforms/curve.md @@ -0,0 +1,25 @@ +# Curve + +{% hint style="info" %} +Coming soon. Curve has not yet been integrated. +{% endhint %} + +Curve is a decentralized liquidity protocol and exchange on Ethereum for stablecoins and wrapped BTC, launched in January 2020. Users can swap between popular ERC-20 stablecoins or between ERC-20 representations of bitcoin. Liquidity providers facilitate trading and earn fees. + +Curve is an Automated Market Maker \(AMM\) where each market has an associated liquidity pool with two or more assets that should have the same value, like USDT, USDC, DAI and TUSD, which are all US dollar pegged stablecoins. The exchange rate between each stablecoin and their relative weights are determined by an algorithm based on supply and demand. Arbitrageurs act to normalize these exchange rates. + +Some of Curve's liquidity pools earn extra fees for liquidity providers on top of the exchange fees from traders. Curve offers stablecoin pools integrated with Compound, yearn.finance, and Synthetix. The assets in each liquidity pool are provided to those platforms to generate additional yield which is passed on to each pool's liquidity providers. Liquidity Provider \(LP\) tokens are given to pool participants and can be redeemed for their initial liquidity supplied plus accrued fees and yield. LP tokens can also transferred for use in other protocols. + +Curve is governed by CRV, an ERC-20 governance token. CRV holders can vote on protocol changes. CRV holders can stake their tokens for additional voting power proportional to time staked. CRV is continuously awarded to liquidity providers and a large portion of the total supply of CRV was allocated to the team and investors on a continuous vesting schedule. + +Trading volumes on Curve are often over $50 million daily. Curve has a Total Value Locked \(TVL\) of over $1 billion by liquidity providers at the time of writing. + +Curve has undergone two audits by Trail of Bits and maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------ | +| Official site | [https://uniswap.org/](https://uniswap.org/) | +| Developer docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/fil/core-concepts/supported-defi-platforms/dydx.md b/fil/core-concepts/supported-defi-platforms/dydx.md new file mode 100644 index 000000000..24f1a895e --- /dev/null +++ b/fil/core-concepts/supported-defi-platforms/dydx.md @@ -0,0 +1,27 @@ +# dYdX + +{% hint style="info" %} +Coming soon. DyDx has not yet been integrated. +{% endhint %} + +dYdX is a trading and lending protocol and platform built on Ethereum and launched in May 2019. Users can trade assets on dYdX's non-custodial, decentralized exchange or participate in borrowing and lending. The lending protocol enables margin and futures trading. Interest rates are adjusted based on supply and demand and only short term loans are offered. + +Liquidity for assets available for borrowing and lending are pooled together by asset type. Interest paid to lenders is accrued automatically and borrowers must put up collateral to take out a loan. + +dYdX also supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +dYdX has around $40 million in total value locked \(TVL\) at the time of this writing. dYdX does not have a native token. + +dYdX has undergone security audits by OpenZeppelin and Bramah Systems. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://dydx.exchange/](https://dydx.exchange/) | +| Developer docs | [https://docs.dydx.exchange/](https://docs.dydx.exchange/) | +| GitHub | [https://github.com/dydxprotocol/](https://github.com/dydxprotocol/) | +| Discord | [https://discord.gg/yah42Rb](https://discord.gg/yah42Rb) | + + + + + diff --git a/fil/core-concepts/supported-defi-platforms/uniswap.md b/fil/core-concepts/supported-defi-platforms/uniswap.md new file mode 100644 index 000000000..012e25e93 --- /dev/null +++ b/fil/core-concepts/supported-defi-platforms/uniswap.md @@ -0,0 +1,27 @@ +# Uniswap + +{% hint style="info" %} +Coming soon. Uniswap has not yet been integrated. +{% endhint %} + +Uniswap is a decentralized liquidity protocol and exchange on Ethereum, launched in November 2018. Uniswap v2 launched in May 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Markets on Uniswap operate as liquidity pools rather than order books. This type of exchange is called an Automated Market Maker \(AMM\). The exchange rate between the two assets is determined by a constant product formula and moves along a price curve depending on the relative weight of each asset in the pool. This encourages arbitrageurs to enter liquidity pools to rebalance the relative weights and normalize the exchange rate. + +Traders can suffer from slippage if there is not enough liquidity in a given pool and may not be protected from unfavorable exchange rates. Liquidity providers may suffer impermanent loss when the pool exchange rate does not match market realities and arbitrageurs execute trades along the pricing curve. + +Pool participants are given Uniswap Liquidity Provider \(LP\) tokens that correspond to their share of liquidity provided in a given pool. These LP tokens are freely transferable. Participants can exit pools at any time by redeeming these tokens for the assets provided and fees accrued. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Uniswap pools. + +Trading volumes on Uniswap now eclipse that of many traditional exchanges and regularly surpass $200 million daily. Uniswap has over $170 million in Total Value Locked \(TVL\) by liquidity providers. Uniswap does not have a native platform or governance token. + +Uniswap has had its smart contracts audited and formally verfied by dapp.org. Uniswap maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------ | +| Official site | [https://uniswap.org/](https://uniswap.org/) | +| Developer docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/fil/core-concepts/supported-defi-platforms/yearn.finance.md b/fil/core-concepts/supported-defi-platforms/yearn.finance.md new file mode 100644 index 000000000..3f23b9fdb --- /dev/null +++ b/fil/core-concepts/supported-defi-platforms/yearn.finance.md @@ -0,0 +1,25 @@ +# Yearn.finance + +{% hint style="info" %} +Coming soon. Yearn.finance has not yet been integrated. +{% endhint %} + +Yearn.finance, formerly iEarn.finance, is a yield aggregation platform built on Ethereum and launched in January 2020 by Andre Cronje. Yearn manages yield farming and rebalancing strategies using a combination of automation and human decision making on behalf of users who have deposited capital. + +Yearn has two yield aggregation products, Earn and Vaults. Earn allows users to deposit stablecoins or wrapped BTC into liquidity pools on Curve to earn fees and governance token rewards. These assets are also lent out on platforms offering high yield and token rewards, adding to the yield earned. + +Vaults offer a more automated and managed experience. Users deposit assets such as LINK, Curve liquidity provider tokens, or stablecoins and the Vault pools these assets together and deploys the highest earning yield farming strategy as deemed safe by the community and Andre Cronje. Governance tokens earned as rewards are sold off for the original asset deposited and combined with other fees and automatically rolled into the Vault to compound yield. Strategies can be changed frequently and pooling assets together saves gas costs for users. + +Yearn is governed by YFI, an ERC-20 governance token. YFI holders can vote on protocol changes after agreeing to lock up their YFI for 3 days. YFI can also be staked for yield in the governance portal. This yield comes from fees charged to users on Yearn products. YFI was distributed entirely to liquidity providers on Curve and Balancer. There was no allocation for team members or investors. + +Yearn's total value locked \(TVL\) has quickly grown to over $800 million, making it one of the largest DeFi platforms. YFI has a circulating market cap of over $400 million. + +Yearn has undergone multiple security and smart contract audits by CertiK, Quantstamp, HackMD, and CryptoManiacs. Yearn has a reputation for launching experimental products very quickly and warns users that their products are in beta. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://yearn.finance/](https://yearn.finance/) | +| Developer docs | [https://docs.yearn.finance/](https://docs.yearn.finance/) | +| GitHub | [https://github.com/iearn-finance](https://github.com/iearn-finance) | +| Discord | [https://discord.gg/uTmHe8r](https://discord.gg/uTmHe8r) | + diff --git a/fil/core-concepts/supported-platforms/README.md b/fil/core-concepts/supported-platforms/README.md new file mode 100644 index 000000000..aa4b89181 --- /dev/null +++ b/fil/core-concepts/supported-platforms/README.md @@ -0,0 +1,32 @@ +# Supported Platforms + +**Supported Platforms** + +OUSD generates yield by depositing stablecoins into lending platforms and market maker liquidity pools. It is important to understand that these platforms do carry technological risk and funds can be lost if there is a major security event. We are choosing to work with the platforms that have had their smart contracts audited and that we feel are most secure. + +Currently, we plan to earn yields from the following platforms: + +{% page-ref page="compound.md" %} + +Integrations are currently planned for the following platforms: + +{% page-ref page="yearn.finance.md" %} + +{% page-ref page="compound.md" %} + +{% page-ref page="aave.md" %} + +{% page-ref page="dydx.md" %} + +{% page-ref page="uniswap.md" %} + +{% page-ref page="curve.md" %} + +{% page-ref page="balancer.md" %} + +Although DeFi has grown very quickly and there are now billions of dollars worth of value deposited on these platforms, several of these projects are still in beta and are highly experimental. There may be hidden vulnerabilities in the smart contracts that power these platforms, and there have been multi-million dollar losses caused by vulnerabilities in Ethereum applications in the past. + +We closely monitor security events on the platforms we support and will immediately move to secure OUSD holder funds if we identify any threats. + + + diff --git a/fil/core-concepts/supported-platforms/aave.md b/fil/core-concepts/supported-platforms/aave.md new file mode 100644 index 000000000..df02edab3 --- /dev/null +++ b/fil/core-concepts/supported-platforms/aave.md @@ -0,0 +1,25 @@ +# Aave + +{% hint style="info" %} +Coming soon. Aave has not yet been integrated. +{% endhint %} + +Aave is a lending protocol and platform built on Ethereum and launched in January 2020 by the creators of ETHLend. Users on Aave can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and users can choose between a variable interest rate based on supply and demand or a fixed interest rate. + +Collateral balances are represented by ERC-20 aTokens at a 1:1 ratio to the underlying assets they represent. Interest is compounded automatically and paid to lenders with aTokens, meaning lenders will steadily see their aToken balance increase over time. Users can borrow assets against their aTokens. aTokens are freely transferable and can be used on many other DeFi protocols. aTokens can be redeemed for their underlying collateral at any time. + +Aave supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +Aave is currently governed by LEND, an ERC-20 token that was formerly the utility token for ETHLend. Aave has announced a transition to fully decentralized governance that includes a token swap where users exchange LEND for AAVE, a new ERC-20 governance token with staking rewards. Some AAVE will be distributed to users of the platform in a liquidity mining campaign. + +Aave's total value locked \(TVL\) has quickly grown to over $1.2 billion, making it one of the largest DeFi protocols. LEND has a circulating market cap of over $700 million. + +Aave has undergone security audits by OpenZeppelin, Trail of Bits, and Consensys Diligence. Aave maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------------ | +| Official site | [https://aave.com/](https://aave.com/) | +| Developer docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/aave/aave-protocol](https://github.com/aave/aave-protocol) | +| Discord | [https://discordapp.com/invite/AnSqnvV](https://discordapp.com/invite/AnSqnvV) | + diff --git a/fil/core-concepts/supported-platforms/balancer.md b/fil/core-concepts/supported-platforms/balancer.md new file mode 100644 index 000000000..f8d9e3c0a --- /dev/null +++ b/fil/core-concepts/supported-platforms/balancer.md @@ -0,0 +1,27 @@ +# Balancer + +{% hint style="info" %} +Coming soon. Balancer has not yet been integrated. +{% endhint %} + +Balancer is a decentralized liquidity protocol and exchange on Ethereum, launched in March 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Balancer is an Automated Market Maker \(AMM\) that allows for liquidity pools of up to 8 different assets with custom weights. Liquidity pools on Balancer can be thought of as similar to Exchange Traded Funds \(ETFs\) or portfolios with weight targets for specific assets. If trading causes the pool to shift from its target weight distribution, exchange rates between assets in the pool change. Arbitrageurs can execute trades to take advantage of this and act to rebalance the pool back to its target weight distribution. Liquidity can also be shared across pools, unlike other AMMs. + +Balancer supports private pools, where only the owner of the pool can contribute liquidity, shared pools, which are completely public, and smart pools, which are shared pools controlled by a smart contract that can implement automated rules and logic. Liquidity providers are given Balancer Pool Tokens \(BPTs\) that represent their share of a given pool and fees. These tokens are freely transferable and can be redeemed for the assets provided and accrued fees. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Balancer pools. + +Balancer is governed by BAL, an ERC-20 governance token. BAL holders can vote on protocol changes. BAL is continuously awarded to liquidity providers and a large portion of the total supply of BAL was allocated to the team and investors on a continuous vesting schedule. + +Trading volumes on Balancer are often over $25 million daily. Balancer has a Total Value Locked \(TVL\) of over $250 million by liquidity providers at the time of writing. + +Balancer has undergone a security audit by Trail of Bits and has a bug bounty program. However, Balancer has suffered a major exploit in June 2020. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://balancer.finance/](https://balancer.finance/) | +| Developer docs | [https://docs.balancer.finance/](https://docs.balancer.finance/) | +| GitHub | [https://github.com/balancer-labs](https://github.com/balancer-labs) | +| Discord | [https://discord.gg/ARJWaeF](https://discord.gg/ARJWaeF) | + diff --git a/fil/core-concepts/supported-platforms/compound.md b/fil/core-concepts/supported-platforms/compound.md new file mode 100644 index 000000000..a4d2660a1 --- /dev/null +++ b/fil/core-concepts/supported-platforms/compound.md @@ -0,0 +1,19 @@ +# Compound + +Compound is a lending protocol and platform built on Ethereum and launched in September 2018. Users can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and interest rates are adjusted automatically based on supply and demand. + +Collateral balances are represented by ERC-20 cTokens, which automatically accrue interest and increase in value over time relative to the underlying asset they represent. Users can borrow assets against the value of their cTokens. cTokens are freely transferable and can be used on many other DeFi protocols. cTokens can be redeemed for their underlying collateral at any time. + +Compound is governed by COMP, an ERC-20 governance token. COMP holders can propose and vote on protocol changes or delegate their votes to someone else. COMP tokens are awarded pro rata to users of the protocol daily, split equally between borrowers and lenders. A large portion of the COMP token supply was retained by the Compound team, investors, and advisors. + +Compound's total value locked \(TVL\) has quickly grown to nearly $800 million, making it one of the largest DeFi protocols. COMP has a circulating market cap of over $500 million. + +Compound has undergone multiple security audits by OpenZeppelin and Trail of Bits. The Compound protocol was formally verified by CertiK and has undergone economic stress testing by Gauntlet. Compound maintains a bug bounty program. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------------------------------------------------- | +| Official site | [https://compound.finance/](https://compound.finance/) | +| Developer docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/compound-finance/compound-protocol](https://github.com/compound-finance/compound-protocol) | +| Discord | [https://discord.com/invite/cU7vmVW](https://discord.com/invite/cU7vmVW) | + diff --git a/fil/core-concepts/supported-platforms/curve.md b/fil/core-concepts/supported-platforms/curve.md new file mode 100644 index 000000000..021d0041b --- /dev/null +++ b/fil/core-concepts/supported-platforms/curve.md @@ -0,0 +1,25 @@ +# Curve + +{% hint style="info" %} +Coming soon. Curve has not yet been integrated. +{% endhint %} + +Curve is a decentralized liquidity protocol and exchange on Ethereum for stablecoins and wrapped BTC, launched in January 2020. Users can swap between popular ERC-20 stablecoins or between ERC-20 representations of bitcoin. Liquidity providers facilitate trading and earn fees. + +Curve is an Automated Market Maker \(AMM\) where each market has an associated liquidity pool with two or more assets that should have the same value, like USDT, USDC, DAI and TUSD, which are all US dollar pegged stablecoins. The exchange rate between each stablecoin and their relative weights are determined by an algorithm based on supply and demand. Arbitrageurs act to normalize these exchange rates. + +Some of Curve's liquidity pools earn extra fees for liquidity providers on top of the exchange fees from traders. Curve offers stablecoin pools integrated with Compound, yearn.finance, and Synthetix. The assets in each liquidity pool are provided to those platforms to generate additional yield which is passed on to each pool's liquidity providers. Liquidity Provider \(LP\) tokens are given to pool participants and can be redeemed for their initial liquidity supplied plus accrued fees and yield. LP tokens can also transferred for use in other protocols. + +Curve is governed by CRV, an ERC-20 governance token. CRV holders can vote on protocol changes. CRV holders can stake their tokens for additional voting power proportional to time staked. CRV is continuously awarded to liquidity providers and a large portion of the total supply of CRV was allocated to the team and investors on a continuous vesting schedule. + +Trading volumes on Curve are often over $50 million daily. Curve has a Total Value Locked \(TVL\) of over $1 billion by liquidity providers at the time of writing. + +Curve has undergone two audits by Trail of Bits and maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------ | +| Official site | [https://uniswap.org/](https://uniswap.org/) | +| Developer docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/fil/core-concepts/supported-platforms/dydx.md b/fil/core-concepts/supported-platforms/dydx.md new file mode 100644 index 000000000..24f1a895e --- /dev/null +++ b/fil/core-concepts/supported-platforms/dydx.md @@ -0,0 +1,27 @@ +# dYdX + +{% hint style="info" %} +Coming soon. DyDx has not yet been integrated. +{% endhint %} + +dYdX is a trading and lending protocol and platform built on Ethereum and launched in May 2019. Users can trade assets on dYdX's non-custodial, decentralized exchange or participate in borrowing and lending. The lending protocol enables margin and futures trading. Interest rates are adjusted based on supply and demand and only short term loans are offered. + +Liquidity for assets available for borrowing and lending are pooled together by asset type. Interest paid to lenders is accrued automatically and borrowers must put up collateral to take out a loan. + +dYdX also supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +dYdX has around $40 million in total value locked \(TVL\) at the time of this writing. dYdX does not have a native token. + +dYdX has undergone security audits by OpenZeppelin and Bramah Systems. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://dydx.exchange/](https://dydx.exchange/) | +| Developer docs | [https://docs.dydx.exchange/](https://docs.dydx.exchange/) | +| GitHub | [https://github.com/dydxprotocol/](https://github.com/dydxprotocol/) | +| Discord | [https://discord.gg/yah42Rb](https://discord.gg/yah42Rb) | + + + + + diff --git a/fil/core-concepts/supported-platforms/uniswap.md b/fil/core-concepts/supported-platforms/uniswap.md new file mode 100644 index 000000000..012e25e93 --- /dev/null +++ b/fil/core-concepts/supported-platforms/uniswap.md @@ -0,0 +1,27 @@ +# Uniswap + +{% hint style="info" %} +Coming soon. Uniswap has not yet been integrated. +{% endhint %} + +Uniswap is a decentralized liquidity protocol and exchange on Ethereum, launched in November 2018. Uniswap v2 launched in May 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Markets on Uniswap operate as liquidity pools rather than order books. This type of exchange is called an Automated Market Maker \(AMM\). The exchange rate between the two assets is determined by a constant product formula and moves along a price curve depending on the relative weight of each asset in the pool. This encourages arbitrageurs to enter liquidity pools to rebalance the relative weights and normalize the exchange rate. + +Traders can suffer from slippage if there is not enough liquidity in a given pool and may not be protected from unfavorable exchange rates. Liquidity providers may suffer impermanent loss when the pool exchange rate does not match market realities and arbitrageurs execute trades along the pricing curve. + +Pool participants are given Uniswap Liquidity Provider \(LP\) tokens that correspond to their share of liquidity provided in a given pool. These LP tokens are freely transferable. Participants can exit pools at any time by redeeming these tokens for the assets provided and fees accrued. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Uniswap pools. + +Trading volumes on Uniswap now eclipse that of many traditional exchanges and regularly surpass $200 million daily. Uniswap has over $170 million in Total Value Locked \(TVL\) by liquidity providers. Uniswap does not have a native platform or governance token. + +Uniswap has had its smart contracts audited and formally verfied by dapp.org. Uniswap maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------ | +| Official site | [https://uniswap.org/](https://uniswap.org/) | +| Developer docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/fil/core-concepts/supported-platforms/yearn.finance.md b/fil/core-concepts/supported-platforms/yearn.finance.md new file mode 100644 index 000000000..3f23b9fdb --- /dev/null +++ b/fil/core-concepts/supported-platforms/yearn.finance.md @@ -0,0 +1,25 @@ +# Yearn.finance + +{% hint style="info" %} +Coming soon. Yearn.finance has not yet been integrated. +{% endhint %} + +Yearn.finance, formerly iEarn.finance, is a yield aggregation platform built on Ethereum and launched in January 2020 by Andre Cronje. Yearn manages yield farming and rebalancing strategies using a combination of automation and human decision making on behalf of users who have deposited capital. + +Yearn has two yield aggregation products, Earn and Vaults. Earn allows users to deposit stablecoins or wrapped BTC into liquidity pools on Curve to earn fees and governance token rewards. These assets are also lent out on platforms offering high yield and token rewards, adding to the yield earned. + +Vaults offer a more automated and managed experience. Users deposit assets such as LINK, Curve liquidity provider tokens, or stablecoins and the Vault pools these assets together and deploys the highest earning yield farming strategy as deemed safe by the community and Andre Cronje. Governance tokens earned as rewards are sold off for the original asset deposited and combined with other fees and automatically rolled into the Vault to compound yield. Strategies can be changed frequently and pooling assets together saves gas costs for users. + +Yearn is governed by YFI, an ERC-20 governance token. YFI holders can vote on protocol changes after agreeing to lock up their YFI for 3 days. YFI can also be staked for yield in the governance portal. This yield comes from fees charged to users on Yearn products. YFI was distributed entirely to liquidity providers on Curve and Balancer. There was no allocation for team members or investors. + +Yearn's total value locked \(TVL\) has quickly grown to over $800 million, making it one of the largest DeFi platforms. YFI has a circulating market cap of over $400 million. + +Yearn has undergone multiple security and smart contract audits by CertiK, Quantstamp, HackMD, and CryptoManiacs. Yearn has a reputation for launching experimental products very quickly and warns users that their products are in beta. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://yearn.finance/](https://yearn.finance/) | +| Developer docs | [https://docs.yearn.finance/](https://docs.yearn.finance/) | +| GitHub | [https://github.com/iearn-finance](https://github.com/iearn-finance) | +| Discord | [https://discord.gg/uTmHe8r](https://discord.gg/uTmHe8r) | + diff --git a/fil/core-concepts/supported-stablecoins/README.md b/fil/core-concepts/supported-stablecoins/README.md new file mode 100644 index 000000000..1c4b60eb5 --- /dev/null +++ b/fil/core-concepts/supported-stablecoins/README.md @@ -0,0 +1,25 @@ +# Supported Stablecoins + +**Supported Stablecoins** + +It is important to understand that OUSD is only as strong as the stablecoins that are backing it. Any loss to the underlying assets will cause a similar loss to the value of OUSD. + +Currently, OUSD supports the following stablecoins: + +{% content-ref url="usdt.md" %} +[usdt.md](usdt.md) +{% endcontent-ref %} + +{% content-ref url="usdc.md" %} +[usdc.md](usdc.md) +{% endcontent-ref %} + +{% content-ref url="dai.md" %} +[dai.md](dai.md) +{% endcontent-ref %} + +None of these stablecoins are perfect, but we selected them because of their widespread usage. While these stablecoins have lost their USD peg on multiple occasions, they have demonstrated resiliency in eventually getting back to their 1 USD targets. + +It is important to note that all these stablecoins introduce non-trivial counter-party risk. Tether, in particular, has had well-documented banking troubles and regulatory challenges. In addition, both USDT and USDC have backdoors that grant their issuers the power to freeze money in their holder's wallets. While DAI does not have any direct backdoors, its assets can also be negatively impacted since USDC and USDT are accepted as collateral for minting DAI. + +Despite these concerns, there are already billions of dollars betting on the security of these stablecoins. It is possible that additional stablecoins will be added to the protocol over time. Support may also be removed if any of these stablecoins prove to be too unreliable or put OUSD holder's funds in jeopardy. diff --git a/fil/core-concepts/supported-stablecoins/dai.md b/fil/core-concepts/supported-stablecoins/dai.md new file mode 100644 index 000000000..b80269d11 --- /dev/null +++ b/fil/core-concepts/supported-stablecoins/dai.md @@ -0,0 +1,19 @@ +# DAI + +![](../../.gitbook/assets/dai.png) + +Dai is a fiat-pegged stablecoin launched as a ERC-20 token on the Ethereum blockchain in December 2017. A major upgrade from single-collateral Dai (SAI) to multi-collateral Dai (DAI) was completed in November 2019. Dai is pegged to the US dollar. + +Dai is minted by users locking up crypto assets such as ETH or USDC as collateral in a collateralized debt position (CDP) called a vault. Previously, only ETH was accepted as collateral. The reserves and status of each vault can be viewed on the blockchain in real-time. The health of these vaults and the Dai stablecoin are closely monitored. + +Dai is the world's third-largest stablecoin with over $400 million in circulation. In addition, cDAI and aDAI, synthetic versions of Dai on the lending platforms Compound and Aave, combine for over $600 million in circulation. + +| Key Facts | | +| ------------- | ------------------------------------------------------------------------------------------------------------------- | +| Issued by | MakerDAO | +| Name | Dai | +| Symbol | DAI | +| Address | [0x6b175474e89094c44da98b954eedeac495271d0f](https://etherscan.io/token/0x6b175474e89094c44da98b954eedeac495271d0f) | +| Decimals | 18 | +| Official site | [https://makerdao.com/](https://makerdao.com) | +| Holders | Over 380k addresses | diff --git a/fil/core-concepts/supported-stablecoins/usdc.md b/fil/core-concepts/supported-stablecoins/usdc.md new file mode 100644 index 000000000..e47385909 --- /dev/null +++ b/fil/core-concepts/supported-stablecoins/usdc.md @@ -0,0 +1,20 @@ +# USDC + +![](../../.gitbook/assets/usdc-coin-bd351fb779 (1).png) + +USD Coin (USDC) is a fiat-pegged stablecoin launched as a ERC-20 token on the Ethereum blockchain in October 2018. USDC is pegged to the US dollar and can easily be redeemed for US dollars. + +Each USDC is backed by a 1:1 ratio with the equivalent amount of fiat currency held in custodial accounts by members of Centre, a consortium founded by Circle and Coinbase. Members of Centre are regulated financial institutions based in the US. Monthly audits of reserves are published by Grant Thornton LLP. + +USDC is the world's second-largest stablecoin after USDT and has quickly grown to over $1 billion in circulation. However, USDC remains far behind USDT's $12+ billion in circulation. + +| Key Facts | | +| ------------- | ------------------------------------------------------------------------------------------------------------------- | +| Issued by | Centre | +| Name | USD Coin | +| Symbol | USDC | +| Address | [0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48](https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48) | +| Decimals | 6 | +| Official site | [https://www.centre.io/usdc](https://www.centre.io/usdc) | +| Holders | Over 1M addresses | + diff --git a/fil/core-concepts/supported-stablecoins/usdt.md b/fil/core-concepts/supported-stablecoins/usdt.md new file mode 100644 index 000000000..4f07af957 --- /dev/null +++ b/fil/core-concepts/supported-stablecoins/usdt.md @@ -0,0 +1,20 @@ +# USDT + +![](../../.gitbook/assets/image (1).png) + +Tether (USDT) is a fiat-pegged stablecoin that was initially built on top of Bitcoin via the Omni Layer Protocol. In September 2017, Tether announced they would be launching additional ERC-20 tokens for United States dollars on the Ethereum blockchain. + +Each Tether issued into circulation is said to be backed by a one-to-one ratio with the equivalent amount of fiat currency held in a custodial account by Tether Limited, a Hong Kong-based company with close ties to the cryptocurrency exchange, Bitfinex. + +Despite the controversy **** around **** the company's failure to provide a promised audit showing adequate reserves backing tether, USDT is still the world's largest stablecoin by market cap and currently the fourth-largest cryptocurrency after BTC, ETH and XRP. + +| Key Facts | | +| ------------- | ---------------------------------------------------------------------------------------------------------------- | +| Issued by | Tether Limited | +| Name | Tether | +| Symbol | USDT | +| Address | [0xdac17f958d2ee523a2206206994597c13d831](https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7) | +| Decimals | 6 | +| Official site | [https://tether.to/ ](https://tether.to) | +| Holders | Over 3.4M addresses | + diff --git a/fil/core-concepts/supported-strategies/README.md b/fil/core-concepts/supported-strategies/README.md new file mode 100644 index 000000000..b1bb5828c --- /dev/null +++ b/fil/core-concepts/supported-strategies/README.md @@ -0,0 +1,27 @@ +# Supported Strategies + +**Supported DeFi Platforms** + +OUSD generates yield by depositing stablecoins into lending platforms and market maker liquidity pools. It is important to understand that these platforms do carry technological risk and funds can be lost if there is a major security event. We are choosing to work with the platforms that have had their smart contracts audited and that we feel are most secure. + +Currently, OUSD earns yield from the following platform(s): + +{% content-ref url="compound.md" %} +[compound.md](compound.md) +{% endcontent-ref %} + +{% content-ref url="aave.md" %} +[aave.md](aave.md) +{% endcontent-ref %} + +{% content-ref url="curve.md" %} +[curve.md](curve.md) +{% endcontent-ref %} + +{% content-ref url="convex.md" %} +[convex.md](convex.md) +{% endcontent-ref %} + +Although DeFi has grown very quickly and there are now billions of dollars worth of value deposited on these platforms, several of these projects are still in beta and are highly experimental. There may be hidden vulnerabilities in the smart contracts that power these platforms, and there have been multi-million dollar losses caused by vulnerabilities in Ethereum applications in the past. + +We closely monitor security events on the platforms we support and will immediately move to secure OUSD holder funds if we identify any threats. diff --git a/fil/core-concepts/supported-strategies/aave.md b/fil/core-concepts/supported-strategies/aave.md new file mode 100644 index 000000000..cf77e0ffb --- /dev/null +++ b/fil/core-concepts/supported-strategies/aave.md @@ -0,0 +1,20 @@ +# Aave + +Aave is a lending protocol and platform built on Ethereum and launched in January 2020 by the creators of ETHLend. Users on Aave can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and users can choose between a variable interest rate based on supply and demand or a fixed interest rate. + +Collateral balances are represented by ERC-20 aTokens at a 1:1 ratio to the underlying assets they represent. Interest is compounded automatically and paid to lenders with aTokens, meaning lenders will steadily see their aToken balance increase over time. Users can borrow assets against their aTokens. aTokens are freely transferable and can be used on many other DeFi protocols. aTokens can be redeemed for their underlying collateral at any time. + +Aave supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +Aave's governance token was formerly called LEND which was the utility token for ETHLend. As part of their transition to fully decentralized governance, LEND holders were able to exchange LEND for AAVE, a new ERC-20 governance token with staking rewards. Some AAVE tokens have been distributed to users of the platform in a liquidity mining campaign. + +Aave's total value locked (TVL) has quickly grown to over $15.5 billion, making it the largest DeFi protocol at the time of writing. LEND has a circulating market cap of over $5.3 billion. + +Aave has undergone security audits by OpenZeppelin, Trail of Bits, and Consensys Diligence. Aave maintains a bug bounty program. + +| Resources | | +| -------------- | ------------------------------------------------------------------------------ | +| Official site | [https://aave.com/](https://aave.com) | +| Developer docs | [http://docs.aave.com/](http://docs.aave.com) | +| GitHub | [https://github.com/aave/aave-protocol](https://github.com/aave/aave-protocol) | +| Discord | [https://aave.com/discord](https://aave.com/discord) | diff --git a/fil/core-concepts/supported-strategies/balancer.md b/fil/core-concepts/supported-strategies/balancer.md new file mode 100644 index 000000000..f8d9e3c0a --- /dev/null +++ b/fil/core-concepts/supported-strategies/balancer.md @@ -0,0 +1,27 @@ +# Balancer + +{% hint style="info" %} +Coming soon. Balancer has not yet been integrated. +{% endhint %} + +Balancer is a decentralized liquidity protocol and exchange on Ethereum, launched in March 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Balancer is an Automated Market Maker \(AMM\) that allows for liquidity pools of up to 8 different assets with custom weights. Liquidity pools on Balancer can be thought of as similar to Exchange Traded Funds \(ETFs\) or portfolios with weight targets for specific assets. If trading causes the pool to shift from its target weight distribution, exchange rates between assets in the pool change. Arbitrageurs can execute trades to take advantage of this and act to rebalance the pool back to its target weight distribution. Liquidity can also be shared across pools, unlike other AMMs. + +Balancer supports private pools, where only the owner of the pool can contribute liquidity, shared pools, which are completely public, and smart pools, which are shared pools controlled by a smart contract that can implement automated rules and logic. Liquidity providers are given Balancer Pool Tokens \(BPTs\) that represent their share of a given pool and fees. These tokens are freely transferable and can be redeemed for the assets provided and accrued fees. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Balancer pools. + +Balancer is governed by BAL, an ERC-20 governance token. BAL holders can vote on protocol changes. BAL is continuously awarded to liquidity providers and a large portion of the total supply of BAL was allocated to the team and investors on a continuous vesting schedule. + +Trading volumes on Balancer are often over $25 million daily. Balancer has a Total Value Locked \(TVL\) of over $250 million by liquidity providers at the time of writing. + +Balancer has undergone a security audit by Trail of Bits and has a bug bounty program. However, Balancer has suffered a major exploit in June 2020. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://balancer.finance/](https://balancer.finance/) | +| Developer docs | [https://docs.balancer.finance/](https://docs.balancer.finance/) | +| GitHub | [https://github.com/balancer-labs](https://github.com/balancer-labs) | +| Discord | [https://discord.gg/ARJWaeF](https://discord.gg/ARJWaeF) | + diff --git a/fil/core-concepts/supported-strategies/compound.md b/fil/core-concepts/supported-strategies/compound.md new file mode 100644 index 000000000..77e40733e --- /dev/null +++ b/fil/core-concepts/supported-strategies/compound.md @@ -0,0 +1,18 @@ +# Compound + +Compound is a lending protocol and platform built on Ethereum and launched in September 2018. Users can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and interest rates are adjusted automatically based on supply and demand. + +Collateral balances are represented by ERC-20 cTokens, which automatically accrue interest and increase in value over time relative to the underlying asset they represent. Users can borrow assets against the value of their cTokens. cTokens are freely transferable and can be used on many other DeFi protocols. cTokens can be redeemed for their underlying collateral at any time. + +Compound is governed by COMP, an ERC-20 governance token. COMP holders can propose and vote on protocol changes or delegate their votes to someone else. COMP tokens are awarded pro-rata to users of the protocol daily, split equally between borrowers and lenders. A large portion of the COMP token supply was retained by the Compound team, investors, and advisors. + +Compound's total value locked (TVL) has quickly grown to over $10 billion, making it one of the largest DeFi protocols. COMP has a circulating market cap of over $2.5 billion. + +Compound has undergone multiple security audits by OpenZeppelin and Trail of Bits. The Compound protocol was formally verified by CertiK and has undergone economic stress testing by Gauntlet. Compound maintains a bug bounty program. + +| Resources | | +| -------------- | -------------------------------------------------------------------------------------------------------------- | +| Official site | [https://compound.finance/](https://compound.finance) | +| Developer docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/compound-finance/compound-protocol](https://github.com/compound-finance/compound-protocol) | +| Discord | [https://discord.com/invite/cU7vmVW](https://discord.com/invite/cU7vmVW) | diff --git a/fil/core-concepts/supported-strategies/convex.md b/fil/core-concepts/supported-strategies/convex.md new file mode 100644 index 000000000..771280a68 --- /dev/null +++ b/fil/core-concepts/supported-strategies/convex.md @@ -0,0 +1,18 @@ +# Convex + +Convex is an aggregation platform for Curve that launched in May 2021. Convex allows liquidity providers on Curve to earn boosted CRV rewards without having to vote-lock CRV. Convex vote-locks CRV on behalf of users and distributes boosted CRV rewards to them. Convex passes on trading fees earned on Curve to users as well. + +Convex also rewards users with their own ERC-20 governance token, CVX. Convex supports both CRV and CVX staking for additional rewards. Vote-locking CVX is required to participate in Convex governance. + +Convex is one of the few protocols whitelisted to participate in Curve governance and controls a huge amount of vote-locked CRV, making them one of the biggest players in Curve governance. A large proportion of liquidity provided on Curve is now done through Convex. Convex has a Total Value Locked (TVL) of over $15.4 billion in deposits at the time of writing. + +Convex has been audited by MixBytes. + +| | | +| -------------- | ---------------------------------------------------------------- | +| Resources | | +| Official site | [https://www.convexfinance.com](https://www.convexfinance.com) | +| Developer docs | [https://docs.convexfinance.com](https://docs.convexfinance.com) | +| GitHub | [https://github.com/convex-eth](https://github.com/convex-eth) | +| Discord | [https://discord.gg/uAwvZfs9qU](https://discord.gg/uAwvZfs9qU) | + diff --git a/fil/core-concepts/supported-strategies/curve.md b/fil/core-concepts/supported-strategies/curve.md new file mode 100644 index 000000000..40d2aade6 --- /dev/null +++ b/fil/core-concepts/supported-strategies/curve.md @@ -0,0 +1,20 @@ +# Curve + +Curve is a decentralized liquidity protocol and exchange on Ethereum for stablecoins and wrapped BTC, launched in January 2020. Users can swap between popular ERC-20 stablecoins or between ERC-20 representations of bitcoin. Liquidity providers facilitate trading and earn fees. + +Curve is an Automated Market Maker (AMM) where each market has an associated liquidity pool with two or more assets that should have the same value, like USDT, USDC, DAI and TUSD, which are all US dollar pegged stablecoins. The exchange rate between each stablecoin and their relative weights are determined by an algorithm based on supply and demand. Arbitrageurs act to normalize these exchange rates. + +Some of Curve's liquidity pools earn extra fees for liquidity providers on top of the exchange fees from traders. Curve offers stablecoin pools integrated with Compound, yearn.finance, and Synthetix. The assets in each liquidity pool are provided to those platforms to generate additional yield which is passed on to each pool's liquidity providers. Liquidity Provider (LP) tokens are given to pool participants and can be redeemed for their initial liquidity supplied plus accrued fees and yield. LP tokens can also transferred for use in other protocols. + +Curve is governed by CRV, an ERC-20 governance token. CRV holders can vote on protocol changes. CRV holders can stake or "vote-lock" their tokens for additional voting power proportional to time staked. Vote-locking CRV also significantly boosts liquidity provider rewards. CRV is continuously awarded to liquidity providers and a large portion of the total supply of CRV was allocated to the team and investors on a continuous vesting schedule. + +Curve has a Total Value Locked (TVL) of over $20.4 billion by liquidity providers at the time of writing. Hundreds of millions of dollars of trading volume are generated on Curve every day. + +Curve has undergone two audits by Trail of Bits and maintains a bug bounty program. + +| Resources | | +| -------------- | ------------------------------------------------------------------------ | +| Official site | [https://www.curve.fi/](https://www.curve.fi) | +| Developer docs | [https://www.curve.fi/devdocs](https://www.curve.fi/devdocs) | +| GitHub | [https://github.com/curvefi](https://github.com/curvefi) | +| Discord | [https://discord.com/invite/9uEHakc](https://discord.com/invite/9uEHakc) | diff --git a/fil/core-concepts/supported-strategies/dydx.md b/fil/core-concepts/supported-strategies/dydx.md new file mode 100644 index 000000000..24f1a895e --- /dev/null +++ b/fil/core-concepts/supported-strategies/dydx.md @@ -0,0 +1,27 @@ +# dYdX + +{% hint style="info" %} +Coming soon. DyDx has not yet been integrated. +{% endhint %} + +dYdX is a trading and lending protocol and platform built on Ethereum and launched in May 2019. Users can trade assets on dYdX's non-custodial, decentralized exchange or participate in borrowing and lending. The lending protocol enables margin and futures trading. Interest rates are adjusted based on supply and demand and only short term loans are offered. + +Liquidity for assets available for borrowing and lending are pooled together by asset type. Interest paid to lenders is accrued automatically and borrowers must put up collateral to take out a loan. + +dYdX also supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +dYdX has around $40 million in total value locked \(TVL\) at the time of this writing. dYdX does not have a native token. + +dYdX has undergone security audits by OpenZeppelin and Bramah Systems. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://dydx.exchange/](https://dydx.exchange/) | +| Developer docs | [https://docs.dydx.exchange/](https://docs.dydx.exchange/) | +| GitHub | [https://github.com/dydxprotocol/](https://github.com/dydxprotocol/) | +| Discord | [https://discord.gg/yah42Rb](https://discord.gg/yah42Rb) | + + + + + diff --git a/fil/core-concepts/supported-strategies/uniswap.md b/fil/core-concepts/supported-strategies/uniswap.md new file mode 100644 index 000000000..012e25e93 --- /dev/null +++ b/fil/core-concepts/supported-strategies/uniswap.md @@ -0,0 +1,27 @@ +# Uniswap + +{% hint style="info" %} +Coming soon. Uniswap has not yet been integrated. +{% endhint %} + +Uniswap is a decentralized liquidity protocol and exchange on Ethereum, launched in November 2018. Uniswap v2 launched in May 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Markets on Uniswap operate as liquidity pools rather than order books. This type of exchange is called an Automated Market Maker \(AMM\). The exchange rate between the two assets is determined by a constant product formula and moves along a price curve depending on the relative weight of each asset in the pool. This encourages arbitrageurs to enter liquidity pools to rebalance the relative weights and normalize the exchange rate. + +Traders can suffer from slippage if there is not enough liquidity in a given pool and may not be protected from unfavorable exchange rates. Liquidity providers may suffer impermanent loss when the pool exchange rate does not match market realities and arbitrageurs execute trades along the pricing curve. + +Pool participants are given Uniswap Liquidity Provider \(LP\) tokens that correspond to their share of liquidity provided in a given pool. These LP tokens are freely transferable. Participants can exit pools at any time by redeeming these tokens for the assets provided and fees accrued. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Uniswap pools. + +Trading volumes on Uniswap now eclipse that of many traditional exchanges and regularly surpass $200 million daily. Uniswap has over $170 million in Total Value Locked \(TVL\) by liquidity providers. Uniswap does not have a native platform or governance token. + +Uniswap has had its smart contracts audited and formally verfied by dapp.org. Uniswap maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------ | +| Official site | [https://uniswap.org/](https://uniswap.org/) | +| Developer docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/fil/core-concepts/supported-strategies/yearn.finance.md b/fil/core-concepts/supported-strategies/yearn.finance.md new file mode 100644 index 000000000..3f23b9fdb --- /dev/null +++ b/fil/core-concepts/supported-strategies/yearn.finance.md @@ -0,0 +1,25 @@ +# Yearn.finance + +{% hint style="info" %} +Coming soon. Yearn.finance has not yet been integrated. +{% endhint %} + +Yearn.finance, formerly iEarn.finance, is a yield aggregation platform built on Ethereum and launched in January 2020 by Andre Cronje. Yearn manages yield farming and rebalancing strategies using a combination of automation and human decision making on behalf of users who have deposited capital. + +Yearn has two yield aggregation products, Earn and Vaults. Earn allows users to deposit stablecoins or wrapped BTC into liquidity pools on Curve to earn fees and governance token rewards. These assets are also lent out on platforms offering high yield and token rewards, adding to the yield earned. + +Vaults offer a more automated and managed experience. Users deposit assets such as LINK, Curve liquidity provider tokens, or stablecoins and the Vault pools these assets together and deploys the highest earning yield farming strategy as deemed safe by the community and Andre Cronje. Governance tokens earned as rewards are sold off for the original asset deposited and combined with other fees and automatically rolled into the Vault to compound yield. Strategies can be changed frequently and pooling assets together saves gas costs for users. + +Yearn is governed by YFI, an ERC-20 governance token. YFI holders can vote on protocol changes after agreeing to lock up their YFI for 3 days. YFI can also be staked for yield in the governance portal. This yield comes from fees charged to users on Yearn products. YFI was distributed entirely to liquidity providers on Curve and Balancer. There was no allocation for team members or investors. + +Yearn's total value locked \(TVL\) has quickly grown to over $800 million, making it one of the largest DeFi platforms. YFI has a circulating market cap of over $400 million. + +Yearn has undergone multiple security and smart contract audits by CertiK, Quantstamp, HackMD, and CryptoManiacs. Yearn has a reputation for launching experimental products very quickly and warns users that their products are in beta. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://yearn.finance/](https://yearn.finance/) | +| Developer docs | [https://docs.yearn.finance/](https://docs.yearn.finance/) | +| GitHub | [https://github.com/iearn-finance](https://github.com/iearn-finance) | +| Discord | [https://discord.gg/uTmHe8r](https://discord.gg/uTmHe8r) | + diff --git a/fil/core-concepts/wrapped-ousd.md b/fil/core-concepts/wrapped-ousd.md new file mode 100644 index 000000000..bea00ee4b --- /dev/null +++ b/fil/core-concepts/wrapped-ousd.md @@ -0,0 +1,31 @@ +# Wrapped OUSD + +Wrapped OUSD provides a non-rebasing version of OUSD that still earns yield. This makes it easier to use OUSD as a building block for other contracts and it may provide tax benefits in some jurisdictions. + +![Two flavors, up only](https://cdn-images-1.medium.com/max/1600/1\*cqRG-8-64XYx9QChoMxk3g.png) + +### How wrapped OUSD works + +When you wrap OUSD, you get back a fixed number of wOUSD tokens. This number will not go up - you will have the same number of wOUSD tokens tomorrow as you have today. However, the number of OUSD tokens that you can unwrap will go up over time. + +For example, if you wrap 10,000 OUSD, you might receive 9,423 wOUSD. If you hold for a while, you will still have 9,423 wOUSD, but when you unwrap the wOUSD, you receive 11,500 OUSD. + +Both OUSD and wOUSD earn at the same rate and can be transferred just like any other ERC-20 token. wOUSD is one of the first implementations of [EIP-4626](https://eips.ethereum.org/EIPS/eip-4626), which is an extension on ERC-20 that provides basic functionality for depositing and withdrawing tokens and reading balances on a tokenized vault. wOUSD was independently [audited by Solidified](https://github.com/OriginProtocol/security/blob/3dc8c1dec2f6fbf4f7d0bdf92408f79262624647/audits/Solidified%20-%20OGV,%20wOUSD,%20and%20ERC721a%20-%20May%202022.pdf) in May 2022 and is ready for production use. + +### Wrapping + +If you don’t already have OUSD, you can buy it from Gate.io, KuCoin, Curve, Uniswap, or [get it directly from the OUSD DApp](https://www.youtube.com/watch?v=UabjvL-7iu4). + +Once you have OUSD in your wallet, visit [ousd.com/wrap](https://ousd.com/wrap) and follow these steps: + +1. Connect your wallet +2. Enter the amount of OUSD that you want to wrap +3. Submit the allowance for the wOUSD contract to use your OUSD +4. Submit the transaction to wrap your OUSD + +![ousd.com/wrap](https://cdn-images-1.medium.com/max/1600/1\*57fSZSSlzebhpIl8R4UqUQ.png) + +### Unwrapping + +Unwrapping your OUSD does not require any approvals since you already hold the wOUSD in your wallet. There's also no minimum term or lock-up period. You can use the same form shown above and just click the arrow to flip it to unwrap mode. This form calls the `redeem` function to unwrap a spcific amount of wOUSD. You can also [use Etherscan](https://etherscan.io/address/0xd2af830e8cbdfed6cc11bab697bb25496ed6fa62#writeProxyContract) to call the `withdraw` function if you prefer to specify the amount of OUSD that you want to be taken out. + diff --git a/fil/core-concepts/yield-generation/README.md b/fil/core-concepts/yield-generation/README.md new file mode 100644 index 000000000..b1d3861bc --- /dev/null +++ b/fil/core-concepts/yield-generation/README.md @@ -0,0 +1,30 @@ +# Yield Generation + +**Automated Yield Farming** + +While the Cambrian explosion of new lending and automated market maker pools has fueled total value locked (TVL), it has also made it increasingly challenging for yield farmers to manually allocate capital in efficient and optimal ways. + +[Yearn](https://yearn.finance) has demonstrated that smart contracts can automate the rebalancing of funds across various strategies to optimally earn lending interest, market-making fees, and rewards tokens. Over time, new strategies will be deployed that maximize returns while minimizing risk and dependencies. + +![Automated yield farming on the OUSD protocol](../../.gitbook/assets/ousd_earnings_graphic.png) + +OUSD uses the following high-level strategies for generating yield: + +{% content-ref url="lending.md" %} +[lending.md](lending.md) +{% endcontent-ref %} + +{% content-ref url="market-making.md" %} +[market-making.md](market-making.md) +{% endcontent-ref %} + +{% content-ref url="rewards.md" %} +[rewards.md](rewards.md) +{% endcontent-ref %} + +OUSD is able to generate higher yields than competing protocols due to a combination of important design decisions that amplify the rewards that are returned to OUSD holders: + +* Exit fees are returned to the pool, rewarding long term holders +* Price oracles favor the collective over the individual, again rewarding long term holders +* Smart contracts must manually opt-in to earn yield. This allows the protocol to put more capital to work than would be otherwise possible. +* Smart strategies balance risk and reward more effectively than deploying capital in any single underlying strategy. diff --git a/fil/core-concepts/yield-generation/lending.md b/fil/core-concepts/yield-generation/lending.md new file mode 100644 index 000000000..fa7607781 --- /dev/null +++ b/fil/core-concepts/yield-generation/lending.md @@ -0,0 +1,26 @@ +# Lending + +**Unbank the Banked** + +DeFi lending platforms let users lend and borrow crypto assets without any middlemen. Both lenders and borrowers get more value from their crypto. Lenders earn interest, while borrowers deposit crypto as collateral to gain access to credit without traditional banking headaches. DeFi lending platforms currently provide far superior returns for lenders than are generally available in the traditional markets. + +OUSD integrates with DeFi lending platforms that provide over-collateralized loans. Over-collateralization, combined with smart rules around liquidations, provide a reasonable level of security for lenders. Aave also additionally secures their lending pools with AAVE tokens respectively, further lowering risk. + +OUSD integrates with leading lending providers that have a proven track record, audited smart contracts, and have successfully lent hundreds of millions of dollars without issue. We are currently integrated with the following lending platforms: + +{% content-ref url="../supported-strategies/compound.md" %} +[compound.md](../supported-strategies/compound.md) +{% endcontent-ref %} + +{% content-ref url="../supported-strategies/aave.md" %} +[aave.md](../supported-strategies/aave.md) +{% endcontent-ref %} + + + + + + + + + diff --git a/fil/core-concepts/yield-generation/market-making.md b/fil/core-concepts/yield-generation/market-making.md new file mode 100644 index 000000000..464b5f13e --- /dev/null +++ b/fil/core-concepts/yield-generation/market-making.md @@ -0,0 +1,22 @@ +# Market Making + +**Own your Stake in Decentralized Exchanges** + +Automated market makers (AMMs) have quickly risen as the preferred form of decentralized exchange on the Ethereum network. This is in part due to the difficulty of supporting order book DEXes on Ethereum 1.0 that can rival the instant and low-slippage experiences on centralized exchanges. Further, AMMs like Uniswap are relatively user-friendly and gas-efficient to use. + +AMMs can only enable new markets when liquidity providers supply liquidity (e.g. multiple tokens for given trading pairs or pools). In return for providing liquidity, liquidity providers are rewarded with trading fees when other users swap tokens. For example, when traders swap two tokens on Uniswap v3, they are currently charged anywhere between 0.05% and 1% on top of the gas fees. These fees are distributed pro-rata to liquidity providers of the pair based on the percentage of total liquidity that they have provided. + +{% hint style="info" %} +[Impermanent loss](https://medium.com/@pintail/uniswap-a-good-deal-for-liquidity-providers-104c0b6816f2) is an important risk factor to understand, but this concern is largely mitigated by OUSD only providing liquidity for stablecoins of approximately equal value. +{% endhint %} + +The OUSD protocol routes USDT, USDC, and DAI to highly-performing liquidity pools as determined by trading volume and rewards tokens (e.g. Curve rewards CRV tokens to liquidity providers). Yields are then passed on to OUSD holders. + +We are currently integrated with the following automated market maker: + +{% content-ref url="../supported-strategies/curve.md" %} +[curve.md](../supported-strategies/curve.md) +{% endcontent-ref %} + + + diff --git a/fil/core-concepts/yield-generation/rewards.md b/fil/core-concepts/yield-generation/rewards.md new file mode 100644 index 000000000..f598afe7c --- /dev/null +++ b/fil/core-concepts/yield-generation/rewards.md @@ -0,0 +1,12 @@ +# Rewards + +**Collecting Rewards** + +In addition to collecting interest from lending and fees from market making, we intend to automatically claim and convert the bonus incentives that are being distributed by many of the DeFi protocols. For example, Compound gives away COMP tokens and Curve gives away CRV tokens. These bonus rewards will be regularly converted into stablecoins, deployed in the market, and distributed to OUSD holders in the form of additional yield. + +{% hint style="info" %} +While the vault safely stores any unexpected rewards that it receives, custom strategies will need to be written and deployed to decide when and how the protocol should convert them to stablecoins. +{% endhint %} + +Today, rewards are a significant factor for yield farmers as they represent a large percentage of their returns. We anticipate that the OUSD protocol will be upgraded over time to take advantage of the most attractive yields available across the DeFi landscape. The protocol will factor in the market value of the various rewards being offered when deciding how to best allocate resources. + diff --git a/fil/faq.md b/fil/faq.md new file mode 100644 index 000000000..6d47859ae --- /dev/null +++ b/fil/faq.md @@ -0,0 +1,33 @@ +# FAQ + +**Where can I buy OUSD?** + +Check out [Getting Started](https://docs.ousd.com/getting-started) to see a variety of options. + +**What are the costs to mint and redeem OUSD?** + +As with any Ethereum transaction, you will need Ether to interact with the OUSD smart contract. We have taken measures to reduce gas usage where possible, but these costs can vary. + +Anytime you mint or redeem OUSD, there will be an exchange rate applied to your stablecoins deposited or withdrawn. You can read more about this in [Price Oracles](https://docs.ousd.com/core-concepts/price-oracles). + +To encourage long-term holding of OUSD and to protect the protocol from attackers, an exit fee of 0.25% is charged on all redeems. You can read more about this in [How It Works](https://docs.ousd.com/how-it-works). + +**How soon will my balance increase once I have OUSD?** + +The amount of OUSD in your wallet will grow each time there is a positive rebase event. You can read more about this in [Elastic Supply](https://docs.ousd.com/core-concepts/elastic-supply). The supply is currently rebased several times per day and is usually correlated with how many people are minting and redeeming OUSD. + +**Why does OUSD not grow when it's held in Uniswap, SushiSwap, etc?** + +By default, rebase events don't affect the supply of OUSD that is sitting in smart contracts. These contracts can opt in to receiving additional OUSD if they are capable of handling elastic supply tokens. You can read more about this in [Rebasing & Smart Contracts](https://docs.ousd.com/core-concepts/elastic-supply/rebasing-and-smart-contracts). + +**How is it possible for the APY to be so high?** + +You can read about our various strategies in [Yield Generation](https://docs.ousd.com/core-concepts/yield-generation). We currently get most of the yield from harvesting rewards tokens (namely COMP and CRV). Additionally, the yield increases as more OUSD is held in smart contracts that do not opt into rebasing since the underlying collateral continues to earn for the average OUSD holder. + +**Why is my balance increasing at a slower rate than the advertised APY?** + +OUSD balances increase when the supply is rebased. But the size of each rebase varies wildly depending on how much the vault has earned since the last rebase. And while most rebases collect a small amount earnings from lending strategies, other rebases involve liquidating rewards tokens or collecting fees. As a result, the yield will vary significantly during short time periods. + +**What about the hack? Is OUSD safe?** + +On November 7th 2020, OUSD was exploited for 7M USD due to a previously undetected reentrancy bug. You can read more [details about the hack](https://medium.com/originprotocol/urgent-ousd-has-hacked-and-there-has-been-a-loss-of-funds-7b8c4a7d534c) on our blog as well as the [detailed compensation plan](https://medium.com/originprotocol/origin-dollar-ousd-detailed-compensation-plan-faa73f87442e) for taking care of the affected users. Origin Dollar was relaunched in December after completing multiple audits and security upgrades. You can learn more about the steps taken to secure the protocol in our [relaunch announcement](https://medium.com/originprotocol/origin-dollar-ousd-is-back-b8ee0c601dad). diff --git a/fil/getting-started.md b/fil/getting-started.md new file mode 100644 index 000000000..a02770326 --- /dev/null +++ b/fil/getting-started.md @@ -0,0 +1,71 @@ +# Getting Started + +These docs are intended to explain how OUSD works, communicate the potential risks and benefits, and provide a guide for developers who wish to contribute to our codebase or integrate OUSD into their products. Here are a few ways for you to dive in and get started. + +**Buying OUSD** + +{% hint style="info" %} +The [Origin Dollar DApp](https://ousd.com/swap) will intelligently route your transaction to get you the best rate. +{% endhint %} + +The [Origin Dollar DApp](https://ousd.com/swap) allows anyone to buy or sell OUSD using a web-3 enabled cryptocurrency wallet like [Metamask](https://www.metamask.io), [Ledger](https://www.ledger.com), or [Gnosis Safe](https://gnosis-safe.io). This is the native way to get OUSD, especially if you want a large amount that could risk moving the market on other exchanges. The DApp will intelligently decide whether to create or trade-in OUSD tokens using the vault or help you complete the trade on whichever AMM is currently offering the best rate. + +**Decentralized Exchanges** + +OUSD is currently available on the following decentralized exchanges. These are listed here for reference only. We recommend using the [Origin Dollar DApp](https://ousd.com/swap) to ensure you always get the best rate. + +* [Buy OUSD on 1inch](https://app.1inch.io/#/1/swap/USDT/OUSD) +* [Buy OUSD on Curve](https://curve.fi/factory/9) +* [Buy OUSD on Uniswap v3](https://app.uniswap.org/#/swap?inputCurrency=0xdac17f958d2ee523a2206206994597c13d831ec7\&outputCurrency=0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86) +* [Buy OUSD on Uniswap v2](https://app.uniswap.org/#/swap?inputCurrency=0xdac17f958d2ee523a2206206994597c13d831ec7\&outputCurrency=0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86\&use=v2) +* [Buy OUSD on Sushiswap](https://exchange.sushiswapclassic.org/#/swap?inputCurrency=0xdac17f958d2ee523a2206206994597c13d831ec7\&outputCurrency=0x2a8e1e676ec238d8a992307b495b45b3feaa5e86) + +**Centralized Exchanges** + +OUSD is currently available on the following centralized exchanges. Be sure to check on how they are handling the yield that is being generated by the protocol. Depending on the exchange, there may be additional steps you need to take to participate in the yield while it's being held in their custody. + +* Buy OUSD on KuCoin + * [OUSD/USDT](https://trade.kucoin.com/OUSD-USDT) + * [OUSD/BTC](https://trade.kucoin.com/OUSD-BTC) +* Buy OUSD on Gate.io + * [OUSD/USDT](https://www.gate.io/trade/OUSD\_USDT) +* Buy OUSD on Virgox + * [OUSD/USDT](https://virgox.com/exchange/141) +* [Buy OUSD on Dharma App](https://www.dharma.io) (US only) + +We're continuing to work on making OUSD available on additional centralized exchanges. + +**Adding OUSD to Your Wallet** + +{% hint style="success" %} +The main ERC20 address for Origin Dollar (OUSD) is: \ +**0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +If your OUSD does not automatically show up in your wallet, you should be able to add it manually using the address above. If you are planning on [storing your OUSD in a multi-sig wallet](core-concepts/elastic-supply/rebasing-and-smart-contracts.md), be sure to opt-in to receive yield. We want to have OUSD supported by as many wallets as possible and included on all the various lists of well-known tokens. We would greatly appreciate any help you can offer in this area. + +**Integrating OUSD** + +OUSD is a non-standard ERC-20 token that requires custom integration work for most applications that wish to support it. In particular, it is important for developers to understand how our elastic supply works as this can easily cause unexpected behavior. + +If you are a wallet provider or crypto exchange that is interested in supporting OUSD, please refer to the following guides: + +{% content-ref url="core-concepts/elastic-supply/rebasing-and-smart-contracts.md" %} +[rebasing-and-smart-contracts.md](core-concepts/elastic-supply/rebasing-and-smart-contracts.md) +{% endcontent-ref %} + +{% content-ref url="smart-contracts/architecture.md" %} +[architecture.md](smart-contracts/architecture.md) +{% endcontent-ref %} + +{% content-ref url="smart-contracts/api/" %} +[api](smart-contracts/api/) +{% endcontent-ref %} + +**Developer Analytics** + +Our internal developer dashboard is available at [analytics.ousd.com](https://analytics.ousd.com). The dashboard shows the current circulating supply, the assets under management in the vault, and the current allocations between each of the stablecoins and strategies. + +**Getting Help** + +Please join the Origin Dollar #engineering room in Origin's [Discord](https://www.originprotocol.com/discord) server. Our team and members of our community look forward to helping you build. Your questions help us improve, so please don't hesitate to ask if you can't find what you are looking for here. diff --git a/fil/governance/admin-privileges.md b/fil/governance/admin-privileges.md new file mode 100644 index 000000000..30ed8065a --- /dev/null +++ b/fil/governance/admin-privileges.md @@ -0,0 +1,32 @@ +# Admin Privileges + +The OUSD smart contracts are designed to be owner upgradable. The Origin team uses two different Gnosis multisig wallet contracts in order to make changes to the protocol. These multisig wallets have been [audited by OpenZeppelin](https://blog.openzeppelin.com/gnosis-multisig-wallet-audit-d702ff0e2b1e/), [ConsenSys Dilligence](https://blog.gnosis.pm/the-gnosis-multisig-wallet-and-our-commitment-to-security-ce9aca0d17f6), Origin’s team, and others. + +{% hint style="info" %} +Time-delayed admin actions gives users a chance to exit OUSD if its admins become malicious, are compromised, or make a change that the users do not like. +{% endhint %} + +### Admin + +The primary admin is a 5 of 8 multisig contract which is required to make any code changes to the protocol. OUSD can only be upgraded from this 5 of 8 multi-sig wallet. The keys to this multi-sig are held by individuals with close ties to the company, and not even the Origin founders acting together have enough control to execute owner functions on their own. In addition, the OUSD contracts are owned by a [timelock](../smart-contracts/api/timelock.md) which places a 48 hour time delay before any changes to the protocol can be made. + +### Strategist + +Some functionality, such as rebalancing funds between strategies or pausing deposits, can be triggered without the timelock and with far fewer signers. This allows the Origin team to react more quickly to market conditions or security threats. These signers, known as Strategists, have the ability to execute a limited number of functions __ with only 2 of 9 signers. + +The strategist multisig can do the following actions on the vault: + +* reallocate - move funds between strategies +* setVaultBuffer - adjust the amount of funds held outside strategies for cheaper redeems. +* setAssetDefaultStrategy - which strategy mints and redeems pull from for a particular strategy +* withdrawAllFromStrategy - remove funds from a single strategy and send them to the vault +* withdrawAllFromStrategies - remove funds from all active strategies and send them to the vault +* pauseRebase - pause all rebases +* pauseCapital - pause all mints and redeems +* unpauseCapital - allow all mints and redeems + +### Future + +Having these admin privileges is necessary in the early days to ensure that the protocol is secure and optimized for earning yields while minimizing risks. We expect to release multiple iterations of our smart contracts in the first several months of the protocol's existence. + +Once several upgrade cycles have been completed, we intend to transfer ownership from our company control to a decentralized governance contract, thereby allowing the community to vote and participate in future protocol updates. diff --git a/fil/governance/contributing.md b/fil/governance/contributing.md new file mode 100644 index 000000000..5b63d22c7 --- /dev/null +++ b/fil/governance/contributing.md @@ -0,0 +1,103 @@ +# Contributing + +**100% Open-source** + +OUSD is an entirely open-source project and we welcome contributions of all sorts. There are many ways to help, from reporting issues, contributing code, and helping us improve our community. + +{% content-ref url="broken-reference" %} +[Broken link](broken-reference) +{% endcontent-ref %} + +We work in public and our company Discord is open to all. If you have questions or need help getting started, our [Discord OUSD channels](https://discord.gg/jyxpUSe) are the best place to get assistance from our team and community. + +{% content-ref url="broken-reference" %} +[Broken link](broken-reference) +{% endcontent-ref %} + +**Developer Analytics** + +Our internal developer dashboard is available at [analytics.ousd.com](https://analytics.ousd.com). The dashboard shows the current circulating supply, the assets under management in the vault, and the current allocations between each of the stablecoins and strategies. Various other developer tools can be found at [ousd.com/dashboard](https://ousd.com/dashboard). + +#### Development Process + +Our branching strategy is similar to [GitFlow](http://nvie.com/posts/a-successful-git-branching-model/), but we do all of our development in the `master` branch and have a `stable` branch for code that has been released. + +Your development flow should look like: + +1. Find an interesting issue and communicate! Please let the `#engineering` [Discord](https://discord.gg/jyxpUSe) channel know what you want to work on. +2. Ping a [core team member](https://github.com/orgs/OriginProtocol/teams/core/members) member on Discord and ask to be added to our [contributors team](https://github.com/orgs/OriginProtocol/teams/contributors). Otherwise, you’ll need to fork the relevant repository and push feature branches to your own fork. +3. Add a comment to the issue or self-assign so we don’t have multiple contributors unintentionally working on the same task. +4. Start with the `master` branch and check out a new feature branch unless you’re contributing to an existing feature. +5. Write some awesome code. +6. Pull the latest commits from `master` and confirm that your code works with any other work that has been merged since you started. +7. Push your branch to the upstream repository (i.e. https://github.com/OriginProtocol/\[repo]) so that other contributors can easily work off of it if necessary. +8. Please request a review in the PR by clicking on the gear icon next to “Reviewers” in the right column. + +For critical smart contract code to be merged it must pass the following checklist: + +* Code reviewed by 2 reviewers +* Unit tests pass +* Slither tests pass with no warning +* Echidna tests pass + +The `master` branch is locked so that only members of the [core team](https://github.com/orgs/OriginProtocol/teams/core) are able to merge your pull requests. Pull requests that are peer-reviewed by other trusted contributors will be fast-tracked and merged faster! Check in the `#engineering` Discord channel for appropriate reviewers. + +#### Coding Style + +We use a variety of programming languages in our repositories. When contributing, please follow existing coding conventions and refer to the CONTRIBUTING.md file in the repository, if one exists. + +For JavaScript, we use [NPM’s style](https://docs.npmjs.com/misc/coding-style), which is automatically enforced via [prettier](https://prettier.io). + +For Solidity, we use two-space indents. + +#### Protocol Design + +When considering protocol or implementation design proposals, we are looking for: + +* A description of the problem this design proposal solves +* Discussion of the trade-offs involved +* Review of other existing solutions +* Links to relevant literature (RFCs, papers, etc) +* Discussion of the proposed solution + +Please note that protocol design is hard and meticulous work. You may need to review existing literature and think through generalized use cases. + +#### Community Guidelines + +We want to keep the Origin community awesome, growing and collaborative. We need your help to keep it that way. To help with this we’ve come up with some general guidelines for the community as a whole: + +* Be nice: Be courteous, respectful and polite to fellow community members: no regional, racial, gender, or other abuse will be tolerated. We like nice people way better than mean ones! +* Encourage diversity and participation: Make everyone in our community feel welcome, regardless of their background and the extent of their contributions, and do everything possible to encourage participation in our community. +* Keep it legal: Basically, don’t get anybody in trouble. Share only content that you own, do not share private or sensitive information, and don’t break laws. +* Stay on topic: Make sure that you are posting to the correct channel and avoid off-topic discussions. Remember when you update an issue or respond to an email you are potentially sending to a large number of people. Please consider this before you update. Also remember that nobody likes spam. + +#### Reporting Issues + +If you find bugs, mistakes or inconsistencies in Origin’s code or documents, please let us know by filing a GitHub issue. No issue is too small. Help us fix our tpyos! + +#### Security Issues + +OUSD is still in early development, which means there may be problems with the protocol or in our implementations. We take security vulnerabilities very seriously. If you discover a security issue, please bring it to our attention right away! + +If you find a security vulnerability please send your report privately to [security@originprotocol.com](mailto:security@originprotocol.com) or send an encrypted message to [@joshfraser on Keybase](https://keybase.io/joshfraser). Please DO NOT file a public issue. Be sure to review our guidelines for responsible disclosure and eligibility for bug bounties. + +{% content-ref url="../security-and-risks/bug-bounties.md" %} +[bug-bounties.md](../security-and-risks/bug-bounties.md) +{% endcontent-ref %} + +#### **Community Improvement** + +Origin is just as much about community as it is about our technology. + +We need constant help in improving our documentation, building new tools to interface with our platform, spreading the word to new users, helping new users getting setup and much more. + +Please get in touch if you would like to help out. Our `discussion` channel on [Discord](https://www.originprotocol.com/discord) is a great place to share ideas and volunteer to help. + +#### Full-Time Positions + +Origin occasionally hires developers for part-time or full-time positions. + +We have a strong preference for hiring people who have already started contributing to the project. If you want a full-time position on our team, your best shot is to engage with our team and start contributing code. It is very unlikely that we would offer you a full-time position on our engineering team unless you’ve had at least a few pull requests merged. + +If you are interested, check out [the Origin Protocol job listings](https://angel.co/originprotocol/jobs). If you’d like to help in other ways, please propose your ideas in [our Discord channel](https://www.originprotocol.com/discord). + diff --git a/fil/governance/governance.md b/fil/governance/governance.md new file mode 100644 index 000000000..eea11a787 --- /dev/null +++ b/fil/governance/governance.md @@ -0,0 +1,26 @@ +# Principles + +**Progressive Decentralization** + +OUSD is designed to be a decentralized protocol governed by many stakeholders all over the world. We believe that the minters and holders of OUSD should collectively determine important protocol decisions as soon as possible. + +That being said, in the very early days, it is imperative that the core engineering team can act quickly and decisively to build the foundational parts of the protocol. + +Decentralization will progress across four phases rapidly over the next few months. It is our intent to relinquish control and governance to the community as soon as possible. + +![](../.gitbook/assets/ousd_docs_graphics_2%20%283%29.png) + +**Timelock** + +Prior to full decentralized governance, we will implement a [timelock](../smart-contracts/api/timelock-1.md) in front of all admin function calls, giving OUSD users time \(48 hours\) to withdraw their funds if they have objections to our proposed upgrades. This timelock will be added shortly after launch. + +**New and Existing Stakeholders** + +OUSD is a new project founded by Origin Protocol [team](www.originprotocol.com/team) and will be supported by the existing Origin community as well as many new stakeholders that choose to mint, hold, use, and provide liquidity for OUSD. + +In addition, we also want to ensure high participation from our existing Origin Token \(OGN\) holders, community of close to 500,000 members, and buyers/sellers on the Platform. Existing OGN holders will be able to stake their OGN to participate in governance and earn incentives for driving value to OUSD. More details will be provided in the near future. + +The strong connection between OUSD and the rest of the Origin commerce platform will fuel growth in both initiatives. + + + diff --git a/fil/governance/ogn-staking.md b/fil/governance/ogn-staking.md new file mode 100644 index 000000000..e7a3e0bc2 --- /dev/null +++ b/fil/governance/ogn-staking.md @@ -0,0 +1,18 @@ +# OGN Staking + +Origin Token (OGN) is intended as the governance token for OUSD and OGN will play an increasingly important role as the Origin Platform becomes more decentralized. Today, users can stake their OGN tokens to earn additional OGN after a chosen staking period has elapsed. + +{% hint style="info" %} +Visit the [OUSD DApp](https://www.ousd.com/stake) in a web3-enabled browser to stake your OGN. +{% endhint %} + +The initial staking program offers three staking periods and respective yields: + +* 30-day staking period: Earn 7.5% annualized interest +* 90-day staking period: Earn 12.5% annualized interest +* 365-day staking period: Earn 25% annualized interest + +Staked tokens will be locked for the duration of the staking period. After each staking period ends, you will be able to claim both your initial OGN (principal) and yield. + +OGN is currently trading on top exchanges like [Coinbase](https://www.coinbase.com/price/origin-token), [Binance](https://www.binance.com/en/register?ref=NPPYAEAE), [Huobi](https://www.huobi.com/en-us/exchange/ogn_usdt/), [Upbit](https://upbit.com/exchange?code=CRIX.UPBIT.BTC-OGN), [Bittrex Global](https://global.bittrex.com/Market/Index?MarketName=BTC-OGN), and [dozens more](https://coinmarketcap.com/currencies/origin-protocol/markets/). Visit the Origin website to [learn more about OGN](https://www.originprotocol.com/ogn-token) or check out the [OGN Dashboard](https://www.originprotocol.com/dashboard) to track important token metrics. + diff --git a/fil/governance/phases.md b/fil/governance/phases.md new file mode 100644 index 000000000..4b45be826 --- /dev/null +++ b/fil/governance/phases.md @@ -0,0 +1,6 @@ +# Phases + +Progressive decentralization will follow four phases as outlined below. + +![](../.gitbook/assets/ousd_docs_graphics_2%20%282%29.png) + diff --git a/fil/governance/principles.md b/fil/governance/principles.md new file mode 100644 index 000000000..b809ce66f --- /dev/null +++ b/fil/governance/principles.md @@ -0,0 +1,30 @@ +# Principles + +**Governance Portal** + +OGN holders are encouraged to participate in creating and voting on proposals that impact the protocol in the [OGN governance portal](https://vote.originprotocol.com). Anyone with at least 1,000 OGN in their wallet or staked in our OGN Staking contract can create a new proposal using Snapshot. All OGN holders are able to vote for proposals. Our desire is for our community to have a strong impact on the direction of Origin’s products, open-source codebase, and to have a voice in key business decisions and the overall direction of the project. + +OGN holders can also [delegate votes](vote-delegation.md) to another account. + +**Progressive Decentralization** + +OUSD is designed to be a decentralized protocol governed by many stakeholders all over the world. We believe that the holders of OUSD should collectively determine important protocol decisions as soon as possible. + +That being said, in the very early days, it is imperative that the core engineering team can act quickly and decisively to build the foundational parts of the protocol. + +Decentralization will progress across four phases rapidly over the next few months. It is our intent to relinquish control and governance to the community as soon as possible. + +![](../.gitbook/assets/ousd\_docs\_graphics\_2 (2).png) + +**Timelock** + +Prior to full decentralized governance, we will implement a [timelock](../smart-contracts/api/timelock.md) in front of all admin function calls, giving OUSD users time to withdraw their funds if they have objections to our proposed upgrades. + +**New and Existing Stakeholders** + +OUSD is a new project founded by Origin Protocol [team](https://www.originprotocol.com/team) and will be supported by the existing Origin community as well as many new stakeholders that choose to mint, hold, use, and provide liquidity for OUSD. + +In addition, we also want to ensure high participation from our existing Origin Token (OGN) holders and the millions of people in our community. Existing OGN holders are able to [stake their OGN](ogn-staking.md) to participate in governance and earn incentives for driving value to OUSD. + +The strong connection between OUSD and the rest of the Origin commerce platform will fuel growth in both initiatives. + diff --git a/fil/governance/vote-delegation.md b/fil/governance/vote-delegation.md new file mode 100644 index 000000000..9a8149d2f --- /dev/null +++ b/fil/governance/vote-delegation.md @@ -0,0 +1,18 @@ +# Vote Delegation + +OGN holders can forward their voting power on the [Governance Portal](https://vote.originprotocol.com/#/) to another Ethereum address. Choosing this option does not strip the delegator of their voting power. The delegatee receives the extra voting power only on proposals the delegator has not voted on. + +This is convenient when users want someone they trust or even one of Origin's team members to make governance decisions regarding Origin's ecosystem. It is also useful when users have OGN stored more safely in a hardware wallet and don’t want to go through the hassle of connecting it to the computer. A more accessible Ethereum wallet e.g. Metamask can be used to vote by having voting power delegated to it from the hardware wallet.\ + + +**How to Delegate** + +* Go to: [https://snapshot.org/#/delegate](https://snapshot.org/#/delegate). +* Type in the address or ENS name you want to delegate to. +* There is an option to limit the delegation power to only Origin’s products by selecting _Limit delegation to a specific space_ and typing in “origingov.eth”. +* Click confirm to save your delegation.\ + + +![](../.gitbook/assets/Screenshot 2022-03-20 at 10.47.43.png) + +After completing these steps, the OGN voting power is successfully delegated to the address specified. diff --git a/fil/guides/incentivized-harvesting-guide.md b/fil/guides/incentivized-harvesting-guide.md new file mode 100644 index 000000000..a24597e9c --- /dev/null +++ b/fil/guides/incentivized-harvesting-guide.md @@ -0,0 +1,46 @@ +# Incentivized Harvesting Guide + +The OUSD Harvester contract collects reward tokens earned by the OUSD strategies, sells them, and sends them on to increase protocol yield. **Anyone can call the harvest and earn 1% of the resulting USDT** for doing so. This creates a self-incentivizing system that operates at a known cost to the protocol. + +### When to call + +You'll want to call this contract when it is profitable to do so. You gain the 1% harvest USDT given by the contract, and spend the gas cost to send the transaction. + +The simplest way to calculate both of these is to simulate the transaction. You can then look at the resulting transfers to know the income received, and you can look at the gas amount used, the current gas prices, and the current cost of ETH, to find out the cost. + +Alternatively you can precompute the gas used for a given strategy's harvest, look up the pending reward tokens using various online services, then do your calculations without using the blockchain. + +The amount of rewards increases at a fairly steady, predictable rate. The primary variation is in gas prices, which will make a much bigger minute to minute difference on when you should call this. + +When calculating profitability, remember to account for the cost to swap back to ETH from USDT. + +### How to call + +When you call the harvest, **you will want to use some form of MEV protection**. Otherwise bots will see that your transaction is profitable, and execute it ahead of you, leaving you no gain and only gas fees. + +To harvest, you call `harvester.harvestAndSwap(strategyAddress, rewardTo)`. + +The harvester address and strategyAddresses can be found in the strategy tab of the [contract registry](../smart-contracts/registry.md). The `rewardTo` address is the account that will receive the USDT funds as a reward for calling the function - use your own address for it. + +Below is the harvestAndSwap ABI: + +``` +[{ + "inputs": [ + { + "internalType": "address", + "name": "_strategyAddr", + "type": "address" + }, + { + "internalType": "address", + "name": "_rewardTo", + "type": "address" + } + ], + "name": "harvestAndSwap", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" +}] +``` diff --git a/fil/guides/integration-guide-for-exchanges.md b/fil/guides/integration-guide-for-exchanges.md new file mode 100644 index 000000000..cda6f2cd1 --- /dev/null +++ b/fil/guides/integration-guide-for-exchanges.md @@ -0,0 +1,34 @@ +# Integration Guide For Exchanges + +Centralized exchanges will play an important role in helping us reach our goal of making OUSD ubiquitous. We are happy to help any exchange that wants to make OUSD available to its users. We believe OUSD will make a great addition to any exchange that wants to offer both a superior stablecoin and a new high-yield opportunity for their users. + +These docs are a great starting point for understanding how OUSD works. Here are some important questions for exchanges that wish to integrate OUSD to consider: + +**Do you want to participate in the yield that is generated?** + +We're assuming the answer will be yes and we highly encourage this as well! However, there may be some instances where you would prefer to move fast and list OUSD without participating in the [rebasing nature of OUSD](../core-concepts/elastic-supply/rebasing-and-smart-contracts.md) since it's the fastest and simplest integration. For exchanges that want to list OUSD, but are strapped for engineering resources, you may want to launch the non-rebasing version first while your engineers make whatever changes are necessary. To make OUSD non-rebasing you can call `rebaseOptOut()` from each EOA wallet that holds OUSD, or do nothing if you are storing OUSD on smart contracts. Non-rebasing OUSD behaves just like any other ERC-20 token. + +**Are you storing customer balances on smart contracts (ie. multi-sigs) or EOA wallets?** + +Any smart contract that is holding OUSD needs to manually opt-in to receive the yield by calling `rebaseOptIn()`. This is due to the [elastic supply](../core-concepts/elastic-supply/) and the [rebasing nature of OUSD](../core-concepts/elastic-supply/rebasing-and-smart-contracts.md). Many exchanges sweep customer funds into a multi-sig wallet for cold storage. If you do this, you'll want to make sure that you opt-in to rebasing so that you are always earning. + +**Are you caching user balances?** + +OUSD dynamically updates the value returned by the `balanceOf()` function on our ERC20 contract. Users' balances will update at unpredictable times as new yield is generated by the protocol. As long as you aren't caching this value, users will always see the correct amount of OUSD that they are holding. + +It's important to note that while OUSD is a rebasing token, user balances will only rebase in a positive direction (your balance will never go down). This makes things a lot simpler than integrating with other rebasing coins like AMPL or other algo-stables. + +**Are you comingling user funds?** + +If you are comingling funds, you'll want to be sure that each user gets their pro-rata amount of the yield that is generated by the protocol. Probably the easiest way to do this is to track each user's balance as a percentage of a pool instead of as a fixed amount. + +**Are you planning to provide liquidity?** + +The Origin team is often willing to provide a market maker and initial liquidity for exchanges that wish to integrate OUSD. There are also 9 figures worth of liquidity available on decentralized exchanges like [Curve](https://curve.fi/factory/9). + +If you are interested in using OUSD to power your own staking or earning program, you will probably want to be able to access OUSD on demand. OUSD can always be minted or redeemed using the [Origin Dollar DApp](https://www.ousd.com), or directly from the OUSD [smart contracts](../smart-contracts/registry.md). If you are planning on providing liquidity yourself, you should be aware that the exact amount of OUSD you will receive in exchange for your USDT, USDC, or DAI depends on the current exchange rates as determined by the [oracles.](../core-concepts/price-oracles.md) If you are planning on redeeming OUSD for the underlying stablecoins, you should know there is a 0.25% exit fee and OUSD will return a basket of stable coins in proportion to the backing stablecoins in the pool. We encourage exchanges to leverage existing pools of liquidity to avoid those fees. If possible, mints or redeems should be done in large batches for maximum efficiency. + +#### Do you have other questions? + +The best way to get help from both our engineering and business teams is usually on [Discord](https://www.originprotocol.com/discord). + diff --git a/fil/how-it-works.md b/fil/how-it-works.md new file mode 100644 index 000000000..061ececf6 --- /dev/null +++ b/fil/how-it-works.md @@ -0,0 +1,39 @@ +# How It Works + +#### 100% Backed and Stable + +Origin Dollar (OUSD) is an ERC-20 compliant token for the Ethereum network. + +OUSD is a stable currency that is backed 1:1 by other stablecoins like USDT, USDC and DAI. As a result, 1 OUSD should always be very close to 1 USD in value. + +{% hint style="success" %} +1 OUSD = 1 USD +{% endhint %} + +#### Buying OUSD + +Users can convert their existing stablecoins (currently USDT, USDC, and DAI) to OUSD at the official [Origin Dollar DApp](https://www.ousd.com). Received OUSD begins accruing compounding yield immediately. + +The Origin DApp will intelligently route user's transactions to give them the best available price while taking slippage and gas costs into consideration. This means that the DApp will sometimes encourage users to buy OUSD that is already in circulation versus minting fresh OUSD from the vault. The OUSD DApp will choose from multiple sources of liquidity and will suggest the option that gives the user the best possible rate. + +**Selling OUSD** + +Users can convert their OUSD back into other stablecoins at any time using the [Origin Dollar DApp](https://www.ousd.com). The Origin DApp will intelligently route user's transactions to give them the best available price while taking slippage, gas costs, and the vault's exit fee into consideration. This means that the DApp will often help users sell their OUSD on AMM's instead of redeeming OUSD with the vault and incurring the protocol's exit fee. + +A 0.25% exit fee is charged upon redemption with the vault. This fee is distributed as additional yield to the remaining participants in the vault (ie. other OUSD holders). The fee serves as a security feature to make it difficult for attackers to take advantage of lagging oracles, preventing them from siphoning stablecoins from the vault in the event of mispriced underlying assets. The fee exists to incentivize long-term holders over short-term speculators. + +Upon redemption, the vault will determine which stablecoin(s) to return to the user. In the current implementation, the vault will return coins in the same ratio as the current holdings. This lack of user optionality also protects the vault as a whole in the event that any of the supported stablecoins loses its peg to the dollar. + +{% hint style="warning" %} +Redemptions on the OUSD vault incur a **0.25% exit fee** and the user doesn't get to pick which stablecoins they receive. Users can often avoid this fee by selling to an AMM instead. +{% endhint %} + +#### A**utomated Yield Farming** + +OUSD generates yields by deploying the underlying stablecoins that were deposited to the OUSD smart contract to other DeFi protocols such as Compound, Aave, and Curve. There may be new diversified strategies added to the vault in the future. Collected interest, trading fees, and rewards tokens are pooled and converted to stablecoins to produce OUSD-denominated yields. Over time, the protocol will move assets in and out of different liquidity pools in order to provide the best yield to the holders of OUSD. + +#### **Elastic Supply** + +The generated returns are passed on to the holders of OUSD via constant rebasing of the money supply. OUSD constantly adjusts the money supply in response to the yield the protocol has generated. This allows the price of OUSD to stay pegged at $1 while the balances in token holders' wallets adjust in real-time to reflect yields that have been earned by the protocol. + +The end result is a stablecoin that is easy to spend, earns outsized yields automatically, and is more desirable to hold than existing stablecoins. diff --git a/fil/security-and-risks/asset-risk.md b/fil/security-and-risks/asset-risk.md new file mode 100644 index 000000000..92140f5ed --- /dev/null +++ b/fil/security-and-risks/asset-risk.md @@ -0,0 +1,33 @@ +# Bug Bounties + +**Bug Bounties** + +Bug bounties are granted at the full discretion of Origin Protocol. The rewards range in size from **$100** for minor issues to **$250,000** for major vulnerabilities. Currently, the bounty program only applies to OUSD and not other products from Origin. + +{% hint style="warning" %} +In order to be eligible for a bug bounty, you must follow the rules of Responsible Disclosure outlined below. +{% endhint %} + +**Responsible Disclosure** + +Security is our top priority and we've taken every effort to make sure our code is secure and works as intended. However, it's completely possible that vulnerabilities both large and small may have gone undetected. + +In case you discover a vulnerability, we would like to know about it immediately so we can take steps to address it as quickly as possible. + +If you discover a vulnerability, please do the following: + +* Report your findings to [security@originprotocol.com](mailto:security@originprotcol.com) or contact [Josh Fraser on Keybase](https://keybase.io/joshfraser) +* Do not take advantage of the vulnerability or problem you have discovered +* Do not reveal the problem to others until it has been resolved +* Do not use attacks on physical security, social engineering, distributed denial of service, spam or applications of third parties +* Do provide sufficient information to reproduce the problem, so we will be able to resolve it as quickly as possible. Complex vulnerabilities may require further explanation so we might ask you for additional information. + +In return, we promise: + +* We will respond to your report within 3 business days with our evaluation of the report and an expected resolution date +* If you have followed the instructions above, we will not take any legal action against you in regard to the report +* We will handle your report with strict confidentiality, and not pass on your personal details to third parties without your permission +* If you so wish we will keep you informed of the progress towards resolving the problem +* In the public information concerning the problem reported, we will give your name as the discoverer of the problem \(unless you desire otherwise\) +* As a token of our gratitude for your assistance, we offer a reward for every report of a security problem that was not yet known to us. The amount of the reward will be determined based on the severity of the leak, the quality of the report, and any additional assistance you provide. + diff --git a/fil/security-and-risks/audits.md b/fil/security-and-risks/audits.md new file mode 100644 index 000000000..8d5402c70 --- /dev/null +++ b/fil/security-and-risks/audits.md @@ -0,0 +1,40 @@ +# Audits + +**The OUSD Vault, ERC-20, and Overall System** + +OUSD has been audited by multiple, well-respected security firms. We have worked with [OpenZeppelin](https://openzeppelin.com), [Trail of Bits](https://www.trailofbits.com), [Solidified](https://solidified.io), and [Certora](https://www.certora.com) to audit all of the code that powers Origin Dollar. Their findings are available below: + +* [Trail of Bits, OUSD Audit, December 2020](https://github.com/OriginProtocol/security/blob/master/audits/Trail%20of%20Bits%20-%20Origin%20Dollar%20-%20Dec%202020.pdf) +* [Solidified, OUSD Audit, December 2020](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20Origin%20Dollar%20-%20Dec%202020.pdf) +* [Solidified, OGN Staking Audit, December 2020](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20OGN%20Staking%20-%20Dec%202020.pdf) +* [Certora, OUSD Formal Verification Audit, January 2021](https://www.certora.com/pubs/OriginFeb2021.pdf) +* [OpenZeppelin, OUSD Audit, August 2021](https://github.com/OriginProtocol/security/blob/master/audits/OpenZeppelin%20-%20Origin%20Dollar%20-%20October%202021.pdf) +* [Solidified, wOUSD, ERC721a, Governance, Harvester & Dripper Audit, May 2022](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20OGV%2C%20wOUSD%2C%20and%20ERC721a%20-%20May%202022.pdf) + +Both our initial and future governance tokens have been audited as well: + +* [Trail of Bits, OGN Audit, November 2018](https://github.com/OriginProtocol/security/blob/master/audits/Trail%20of%20Bits%20-%20Origin%20Marketplace%20and%20OGN%20Token%20-%20Nov%202018.pdf) +* [Solidified, OGV Audit, May 2022](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20OGV%2C%20wOUSD%2C%20and%20ERC721a%20-%20May%202022.pdf) + +In addition, the underlying strategies and dependencies that OUSD utilizes have been thoroughly audited by various firms. + +{% hint style="info" %} +OUSD only integrates strategies that have been carefully audited and battle-tested with significant capital over an extended period of time. +{% endhint %} + +**Compound Strategy and Open Price Feed** + +Compound has been audited by [Trail of Bits](https://www.trailofbits.com) and [OpenZeppelin](https://openzeppelin.com) and formally verified by [Certora](https://www.certora.com). Visit the Compound website for their [full list of audits](https://compound.finance/docs/security#audits) including the original code for the modified [Timelock](../smart-contracts/api/timelock.md) that OUSD is using. + +**Aave Strategy** + +Aave has been audited by [Trail of Bits](https://www.trailofbits.com), [OpenZeppelin](https://openzeppelin.com), [ConsenSys Diligence](https://consensys.net/diligence/), [Certik](https://certik.io), [MixBytes](https://mixbytes.io), and [PeckShield](https://peckshield.com). They have also been formally verified by [Certora](https://www.certora.com). Visit the Aave website for [their full list of audits](https://docs.aave.com/developers/security-and-audits). + +**Curve Strategy** + +Curve has been audited by [Trail of Bits](https://www.trailofbits.com) and [Quantstamp](https://quantstamp.com). Visit the Curve website for [their full list of audits](https://www.curve.fi/audits). + +**Chainlink Oracles** + +Chainlink has been audited by [Quantstamp](https://github.com/smartcontractkit/chainlink/tree/bafa91c), [SigmaPrime](https://github.com/smartcontractkit/chainlink/tree/cee356), [Callisto](https://gist.github.com/yuriy77k/c3a70d212a7f9ecda715252e45073158), and [Nick Johnson](https://github.com/smartcontractkit/chainlink/tree/5327f9). + diff --git a/fil/security-and-risks/bug-bounties.md b/fil/security-and-risks/bug-bounties.md new file mode 100644 index 000000000..d6e21196f --- /dev/null +++ b/fil/security-and-risks/bug-bounties.md @@ -0,0 +1,32 @@ +# Bug Bounties + +**Bug Bounties** + +Bug bounties are granted at the full discretion of Origin Protocol. The rewards range in size from **$100 OUSD** for minor issues to **$250,000 OUSD** for major vulnerabilities. Currently, the bounty program only applies to OUSD and not other products from Origin. + +{% hint style="warning" %} +In order to be eligible for a bug bounty, you must follow the rules of Responsible Disclosure outlined below. +{% endhint %} + +**Responsible Disclosure** + +Security is our top priority and we've taken every effort to make sure our code is secure and works as intended. However, it's completely possible that vulnerabilities both large and small may have gone undetected. + +In case you discover a vulnerability, we would like to know about it immediately so we can take steps to address it as quickly as possible. + +If you discover a vulnerability, please do the following: + +* Report your findings to [security@originprotocol.com](mailto:security@originprotocol.com) or contact [Josh Fraser on Keybase](https://keybase.io/joshfraser). Here is an example of a [well written disclosure](https://gist.github.com/DanielVF/66f459da88804d1fd917c47576c68523). +* Do not take advantage of the vulnerability or problem you have discovered +* Do not reveal the problem to others until it has been resolved +* Do not use attacks on physical security, social engineering, distributed denial of service, spam or applications of third parties +* Do provide sufficient information to reproduce the problem, so we will be able to resolve it as quickly as possible. Complex vulnerabilities may require further explanation so we might ask you for additional information. + +In return, we promise: + +* We will respond to your report within 3 business days with our evaluation of the report and an expected resolution date +* If you have followed the instructions above, we will not take any legal action against you in regard to the report +* We will handle your report with strict confidentiality, and not pass on your personal details to third parties without your permission +* If you so wish we will keep you informed of the progress towards resolving the problem +* In the public information concerning the problem reported, we will give your name as the discoverer of the problem (unless you desire otherwise) +* As a token of our gratitude for your assistance, we offer a reward for every report of a security problem that was not yet known to us. The amount of the reward will be determined based on the severity of the leak, the quality of the report, and any additional assistance you provide. diff --git a/fil/security-and-risks/contributing.md b/fil/security-and-risks/contributing.md new file mode 100644 index 000000000..6937c347d --- /dev/null +++ b/fil/security-and-risks/contributing.md @@ -0,0 +1,95 @@ +# Contributing + +**100% Open-source** + +OUSD is an entirely open-source project and we welcome contributions of all sorts. There are many ways to help, from reporting issues, contributing code, and helping us improve our community. + +We work in public and our company Discord is open to all. If you have questions or need help getting started, our Discord OUSD channels are the best place to get assistance from our team and community. + +**Developer Analytics** + +Our internal developer dashboard is available at [analytics.ousd.com](https://analytics.ousd.com). The dashboard shows the current circulating supply, the assets under management in the vault, and the current allocations between each of the stablecoins and strategies. + +#### Development Process + +Our branching strategy is similar to [GitFlow](http://nvie.com/posts/a-successful-git-branching-model/), but we do all of our development in the `master` branch and have a `stable` branch for code that has been released. + +Your development flow should look like: + +1. Find an interesting issue and communicate! Please let the `#engineering` [Discord](https://discord.gg/jyxpUSe) channel know what you want to work on. +2. Ping a [core team member](https://github.com/orgs/OriginProtocol/teams/core/members) member on Discord and ask to be added to our [contributors team](https://github.com/orgs/OriginProtocol/teams/contributors). Otherwise, you’ll need to fork the relevant repository and push feature branches to your own fork. +3. Add a comment to the issue or self-assign so we don’t have multiple contributors unintentionally working on the same task. +4. Start with the `master` branch and check out a new feature branch unless you’re contributing to an existing feature. +5. Follow the appropriate [coding style](https://docs.originprotocol.com/guides/getting_started/contributing.html#contributing-email-coding-style) and write some awesome code. +6. Pull the latest commits from `master` and confirm that your code works with any other work that has been merged since you started. +7. Push your branch to the upstream repository \(i.e. https://github.com/OriginProtocol/\[repo\]\) so that other contributors can easily work off of it if necessary. +8. Please request a review in the PR by clicking on the gear icon next to “Reviewers” in the right column. + +For critical smart contract code to be merged it must pass the following checklist: + +* Code reviewed by 2 reviewers +* Unit tests pass +* Slither tests pass with no warning +* Echidna tests pass + +The `master` branch is locked so that only members of the [core team](https://github.com/orgs/OriginProtocol/teams/core) are able to merge your pull requests. Pull requests that are peer-reviewed by other trusted contributors will be fast-tracked and merged faster! Check in the `#engineering` Discord channel for appropriate reviewers. + +#### Coding Style + +We use a variety of programming languages in our repositories. When contributing, please follow existing coding conventions and refer to the CONTRIBUTING.md file in the repository, if one exists. + +For JavaScript, we use [NPM’s style](https://docs.npmjs.com/misc/coding-style), which is automatically enforced via [prettier](https://prettier.io/). + +For Solidity, we use two-space indents. + +#### Protocol Design + +When considering protocol or implementation design proposals, we are looking for: + +* A description of the problem this design proposal solves +* Discussion of the trade-offs involved +* Review of other existing solutions +* Links to relevant literature \(RFCs, papers, etc\) +* Discussion of the proposed solution + +Please note that protocol design is hard and meticulous work. You may need to review existing literature and think through generalized use cases. + +#### Community Guidelines + +We want to keep the Origin community awesome, growing and collaborative. We need your help to keep it that way. To help with this we’ve come up with some general guidelines for the community as a whole: + +* Be nice: Be courteous, respectful and polite to fellow community members: no regional, racial, gender, or other abuse will be tolerated. We like nice people way better than mean ones! +* Encourage diversity and participation: Make everyone in our community feel welcome, regardless of their background and the extent of their contributions, and do everything possible to encourage participation in our community. +* Keep it legal: Basically, don’t get anybody in trouble. Share only content that you own, do not share private or sensitive information, and don’t break laws. +* Stay on topic: Make sure that you are posting to the correct channel and avoid off-topic discussions. Remember when you update an issue or respond to an email you are potentially sending to a large number of people. Please consider this before you update. Also remember that nobody likes spam. + +#### Reporting Issues + +If you find bugs, mistakes or inconsistencies in Origin’s code or documents, please let us know by filing a GitHub issue. No issue is too small. Help us fix our tpyos! + +#### Security Issues + +OUSD is still in early development, which means there may be problems with the protocol or in our implementations. We take security vulnerabilities very seriously. If you discover a security issue, please bring it to our attention right away! + +If you find a security vulnerability please send your report privately to [security@originprotocol.com](mailto:security@originprotocol.com) or send an encrypted message to [@joshfraser on Keybase](https://keybase.io/joshfraser). Please DO NOT file a public issue. Be sure to review our guidelines for responsible disclosure and eligibility for bug bounties. + +{% page-ref page="bug-bounties.md" %} + +#### **Community Improvement** + +Origin is just as much about community as it is about our technology. + +We need constant help in improving our documentation, building new tools to interface with our platform, spreading the word to new users, helping new users getting setup and much more. + +Please get in touch if you would like to help out. Our `general` channel on [Discord](https://www.originprotocol.com/discord) is a great place to share ideas and volunteer to help. + +#### Full-Time Positions + +Origin occasionally hires developers for part-time or full-time positions. + +We have a strong preference for hiring people who have already started contributing to the project. If you want a full time position on our team, your best shot is to engage with our team and start contributing code. It is very unlikely that we would offer you a full-time position on our engineering team unless you’ve had at least a few pull requests merged. + +If you are interested, check out [the Origin Protocol job listings](https://angel.co/originprotocol/jobs). If you’d like to help in other ways, please propose your ideas in [our Discord channel](https://www.originprotocol.com/discord). + + + diff --git a/fil/security-and-risks/insurance.md b/fil/security-and-risks/insurance.md new file mode 100644 index 000000000..f805d14f1 --- /dev/null +++ b/fil/security-and-risks/insurance.md @@ -0,0 +1,15 @@ +# Insurance + +OUSD holders can buy smart contract insurance to cover any losses that might result from any bugs or vulnerabilities in the OUSD contracts, including economic exploits (such as flash loans attacks). In addition, anyone who wants to make a financial bet on the security of our contracts can earn a yield by providing coverage. + +DeFi coverage for OUSD is currently available via[ Nexus Mutual](https://nexusmutual.io) and [InsurAce Protocol](https://www.insurace.io). These partnerships allow for more effective risk management by OUSD holders while creating new opportunities for coverage providers to profit. + +Read our [announcement post](https://medium.com/originprotocol/origin-partners-with-nexus-mutual-to-offer-defi-insurance-for-origin-dollar-ousd-6eb3432ee042) to learn how to [buy coverage](https://app.nexusmutual.io/cover/buy/get-quote?address=0xE75D77B1865Ae93c7eaa3040B038D7aA7BC02F70), [provide coverage](https://app.nexusmutual.io/staking), or [participate in shield mining campaigns](https://app.nexusmutual.io/rewards) with Nexus Mutual. You can learn more about InsurAce and how to buy coverage on their [user guide](https://docs.insurace.io/landing-page/documentation-1/user-guide) or [documentation](https://docs.insurace.io/landing-page/). + +**Nexus Mutual Coverage** + +Read our[ announcement post](https://medium.com/originprotocol/origin-partners-with-nexus-mutual-to-offer-defi-insurance-for-origin-dollar-ousd-6eb3432ee042) to learn how to[ buy coverage](https://app.nexusmutual.io/cover/buy/get-quote?address=0x0000000000000000000000000000000000000016),[ provide coverage](https://app.nexusmutual.io/staking), and[ participate in shield mining campaigns](https://app.nexusmutual.io/rewards) with Nexus Mutual. + +**InsurAce Protocol Coverage** + +Read InsurAce Protocol’s [User Guide](https://docs.insurace.io/landing-page/documentation-1/user-guide) to learn how to [buy coverage](https://docs.insurace.io/landing-page/documentation-1/user-guide/dashboard) and participate in [underwriting mining](https://docs.insurace.io/landing-page/documentation-1/user-guide/how-to-stake) for OUSD. diff --git a/fil/security-and-risks/risks.md b/fil/security-and-risks/risks.md new file mode 100644 index 000000000..64dc13dc0 --- /dev/null +++ b/fil/security-and-risks/risks.md @@ -0,0 +1,44 @@ +# Risks + +{% hint style="danger" %} +Use at your own risk. Do not deploy more capital than you are willing to lose. +{% endhint %} + +As with any yield-generating DeFi product, there are associated risks with holding OUSD that are important to understand. These risks can be broadly classified into 3 categories: + +* OUSD smart contract risk +* Underlying third-party platform risk +* Underlying stablecoin risk + +**OUSD smart contract risk** + +Our smart contracts have been [audited](audits.md) by multiple, well-respected security firms. However, it is important to note that even with formal audits, it is still possible for there to be logic errors that could lead to the loss of funds for OUSD holders. The contracts involve complex math and logic. While we have taken every precaution to ensure the safety and security of our smart contracts, users are reminded to use at their own risk. Origin Protocol will not be held responsible for any loss of funds, regardless of who is at fault. + +**Third-party platform risk** + +OUSD is built on top of other DeFi platforms like Aave, Compound, and Curve that add additional smart contract risk. We are choosing to work with platforms that have literally billions of dollars of assets under management and have made a reasonable efforts to ensure the security of their protocols. However, there are no guarantees that the underlying third-party platforms will continue to work as intended, and any failure in an underlying strategy would potentially lead to a loss of funds for OUSD holders. + +**Stablecoin risks** + +It is important to understand that OUSD is only as strong as the stablecoins that are backing it. Any loss of value to an underlying stablecoin asset will cause a similar loss to the value of OUSD. While OUSD is designed to maintain a 1:1 relationship between supply and number of backing stablecoins, it does not guarantee which stablecoins will make up that backing nor the value of those coins. + +It is important to note that each of the supported stablecoins introduces non-trivial counter-party risk. Tether, in particular, has had well-documented banking troubles and regulatory challenges. In addition, both USDT and USDC have backdoors that grant their issuers the power to freeze money in their holder's wallets. While DAI does not have any direct backdoors, its assets can also be negatively impacted since USDC and USDT are accepted as collateral for minting DAI. + +**Risk mitigation** + +While it's impossible to guarantee our contracts are 100% safe, we have taken every step possible to mitigate the chance of losing funds: + +We regularly have our work [audited ](audits.md)by the top auditors in the industry. + +[DeFi insurance](insurance.md) is availble to offer smart contract coverage as an optional add-on service for OUSD holders. + +We have retained [Certora](https://www.certora.com) to formally verify the various security properties of our contracts. They helped us establish automated verifications that will run anytime we update our contract code. We have automated checking for common errors with [Slither](https://github.com/crytic/slither) and [Echidna](https://github.com/crytic/echidna) tests. Together, these alert our team to common security issues in addition to our own test suite. + +Code reviews involving our smart contracts are incredibly rigorous. We require at least two engineers to review each change with a detailed checklist and we prioritize security reviews over new feature development. + +Finally, we have formalized an engineering [rotation](https://github.com/OriginProtocol/security/blob/master/incidents/ROTATION.md) for reviewing [attacks on other projects](https://github.com/OriginProtocol/security/tree/master/incidents) as well as ensuring we deep dive into each of these reviews, including reviewing the affected contracts' source code ourselves. We've observed that attackers often exploit the same fundamental vulnerability on multiple different projects. By reviewing other project's vulnerabilities, we force ourselves to stay up to date on the latest security threats in our industry and are constantly learning from their mistakes. + +**Actions speak louder than words** + +You should also know that many members of the Origin team, including both founders, are holding a significant portion of their personal wealth in OUSD. Origin Protocol's corporate treasury is also holding millions of dollars in OUSD. We have skin in the game and are willing to put our own money at risk with the code we have written. + diff --git a/fil/security-and-risks/untitled.md b/fil/security-and-risks/untitled.md new file mode 100644 index 000000000..21b692090 --- /dev/null +++ b/fil/security-and-risks/untitled.md @@ -0,0 +1,20 @@ +# Audits + +{% hint style="danger" %} +The OUSD smart contracts have not yet been audited. We strongly recommend reviewing our smart contracts before depositing significant amounts of capital. +{% endhint %} + +**OUSD** + +Audits have already been scheduled with the respected security firm, [Trail of Bits](https://www.trailofbits.com/), for early October 2020. Their audit results will be publicly released as soon as they are available. + +**Supported Strategies** + +Multiple audits for Compound have already been completed and are available on their website. This includes the original code for the modified [Timelock](../smart-contracts/api/timelock-1.md) that OUSD is using. + +{% page-ref page="untitled.md" %} + + + + + diff --git a/fil/smart-contracts/api/README.md b/fil/smart-contracts/api/README.md new file mode 100644 index 000000000..ff400f20f --- /dev/null +++ b/fil/smart-contracts/api/README.md @@ -0,0 +1,9 @@ +# API + +Documentation of contracts API used by the protocol: + +* [Vault](vault.md) +* [ERC-20](erc-20-1.md) +* [Timelock](timelock.md) +* [Stategies](strategies.md) + diff --git a/fil/smart-contracts/api/erc-20-1.md b/fil/smart-contracts/api/erc-20-1.md new file mode 100644 index 000000000..164343cc0 --- /dev/null +++ b/fil/smart-contracts/api/erc-20-1.md @@ -0,0 +1,16 @@ +# ERC-20 + +{% hint style="success" %} +The main ERC20 address for Origin Dollar (OUSD) is: \ **0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +OUSD is an ERC-20 compliant token with one novel property (elastic supply) that is important to understand. + +{% hint style="warning" %} +Wallets and exchanges that wish to integrate OUSD should not cache token balances for OUSD as this value will change frequently as yield is accrued to token holders. +{% endhint %} + +The biggest difference separating OUSD from your average ERC-20 token is the way OUSD's`balanceOf()` function will return a variable amount based on the total value of the vault multiplied by the holder's stake in the vault. This difference is vital to understand, particularly for wallets and exchanges that wish to integrate the OUSD token. This value should be fetched in real-time instead of being cached since OUSD rebases frequently. + + + diff --git a/fil/smart-contracts/api/oracle.md b/fil/smart-contracts/api/oracle.md new file mode 100644 index 000000000..362749de7 --- /dev/null +++ b/fil/smart-contracts/api/oracle.md @@ -0,0 +1,7 @@ +# Oracles + +{% hint style="info" %} +Documentation coming soon. +{% endhint %} + +OUSD uses Chainlink [oracles](../../core-concepts/price-oracles.md) to secure the protocol from pricing attacks. You can [read more about our decision to work with Chainlink](https://blog.originprotocol.com/how-origin-uses-chainlink-oracles-to-secure-ousd-bff5601e840e) on the Origin blog. diff --git a/fil/smart-contracts/api/ousd.md b/fil/smart-contracts/api/ousd.md new file mode 100644 index 000000000..8d6981144 --- /dev/null +++ b/fil/smart-contracts/api/ousd.md @@ -0,0 +1,8 @@ +# OUSD + +{% hint style="info" %} +Documentation coming soon. +{% endhint %} + + + diff --git a/fil/smart-contracts/api/strategies.md b/fil/smart-contracts/api/strategies.md new file mode 100644 index 000000000..a275b76e6 --- /dev/null +++ b/fil/smart-contracts/api/strategies.md @@ -0,0 +1,14 @@ +# Strategies + +{% hint style="info" %} +Documentation coming soon. +{% endhint %} + +New strategies can be added or removed at any time to respond to new market realities and diversify risk. + +Once we migrate to decentralized governance, it is our intent for the community to propose new strategies and to vote on the appropriate weight for each strategy in the pool. We anticipate that most OUSD holders will value having some exposure to higher yield opportunities while maintaining more conservative positions for a portion of the funds. + + + + + diff --git a/fil/smart-contracts/api/timelock-1.md b/fil/smart-contracts/api/timelock-1.md new file mode 100644 index 000000000..88954aca7 --- /dev/null +++ b/fil/smart-contracts/api/timelock-1.md @@ -0,0 +1,22 @@ +# Timelock + +{% hint style="danger" %} +The timelock will be added soon after everything is verified as working. Until then, the contracts will be governed by Origin's 5 of 8 multi-sig. This allows for a faster response if any critical issues are discovered. +{% endhint %} + +The timelock contract enforces a 48 hour wait period before any changes to the OUSD contracts can be executed. The timelock can be called by our multi-sig and is the owner of our [ERC-20](../architecture.md), [Vault](vault.md), and [Strategies](strategies.md) contracts. Time-delaying admin actions gives users a chance to exit OUSD if its admins become malicious, are compromised, or make a change that the users do not like. + +{% hint style="info" %} +The timelock is a safety measure that gives OUSD holders 48 hours to withdraw their funds if they have objections to any proposed upgrades to the protocol. +{% endhint %} + +OUSD is using a slightly modified version of the [Compound Timelock](https://compound.finance/docs/governance) which has been [audited by OpenZeppelin](https://blog.openzeppelin.com/compound-finance-patch-audit/). The 3 notable differences are: + +1. OUSD will initially use a shorter wait period \(48 hours\) than Compound \(72 hours\) to allow for a faster response if any issues are discovered. +2. Once the 48 hours have passed, anyone is free to execute the call, not just the owner of the contract. +3. Deposits \(but not withdrawals or transfers\) can be immediately frozen without requiring the 48 waiting period. This is in case a major vulnerability is discovered. + + + + + diff --git a/fil/smart-contracts/api/timelock.md b/fil/smart-contracts/api/timelock.md new file mode 100644 index 000000000..2273ddad7 --- /dev/null +++ b/fil/smart-contracts/api/timelock.md @@ -0,0 +1,15 @@ +# Timelock + +The timelock contract enforces a 48 hour wait period before any changes to the OUSD contracts can be executed. The timelock can be called by our multi-sig and is the owner of our [ERC-20](../architecture.md), [Vault](vault.md), and [Strategies](strategies.md) contracts. Time-delaying admin actions gives users a chance to exit OUSD if its admins become malicious, are compromised, or make a change that the users do not like. + +{% hint style="info" %} +The timelock is a safety measure that gives OUSD holders 48 hours to withdraw their funds if they have objections to any proposed upgrades to the protocol. +{% endhint %} + +OUSD is using a slightly modified version of the [Compound Timelock](https://compound.finance/docs/governance) which has been [audited by OpenZeppelin](https://blog.openzeppelin.com/compound-finance-patch-audit/). The two notable differences are: + +1. OUSD will initially use a shorter wait period (48 hours) than Compound (72 hours) to allow for a faster response if any issues are discovered. +2. Some actions, such as reallocating funds between existing strategies and freezing deposits can be called immediately by a multisig wallet without requiring the 48 waiting period. This is in case a major vulnerability is discovered. + + + diff --git a/fil/smart-contracts/api/vault.md b/fil/smart-contracts/api/vault.md new file mode 100644 index 000000000..13a7a8601 --- /dev/null +++ b/fil/smart-contracts/api/vault.md @@ -0,0 +1,184 @@ +--- +description: >- + The vault is the main contract of the protocol. The vault is responsible for minting/redeeming OUSD tokens, rebalancing funds between the various supported strategies, and liquidating rewards tokens. +--- + +# Vault + +## Units + +All OUSD amounts passed or returned by the Vault methods use 18 decimal places. For example, 1 OUSD is expressed as 1000000000000000000. + +For other stable coins, the number of decimal places varies. DAI uses 18 decimal places while USDC and USDT use only 6. + +The protocol was updated in November are [currently underway](https://github.com/OriginProtocol/origin-dollar/issues/590) to increase the resolution of rebasing calculations from 18 decimals to 27 decimals. The OUSD token itself will still retain 18 decimals of precision and user balances should not change. + +## Methods‌ + +### mint() + +**`function mint(address _asset, uint256 _amount, uint256 _minimumOusdAmount)`**‌ + +Mints OUSD in exchange for a deposit of a certain `_amount` of stablecoin specified by the `_asset` parameter. The caller receives a certain amount of OUSD depending on the **exchange rate**. + +| Parameter Name | Type | Description | +| --------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | +| \_asset | address | Address of the [supported](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/core-concepts/supported-assets) stablecoin | +| \_amount | uint256 | Amount deposited, expressed in decimal units | +| \_minimumOusdAmount | uint256 | Minimum amount of OUSD the caller is willing to receive. The call to mint() reverts if the minimum is not met. | + +### mintMultiple() + +**`function mintMultiple(address[] _assets, uint256[] _amounts, uint256 _minimumOusdAmount)`**‌ + +Mints OUSD in exchange for a deposit of multiple stablecoins in a single call. Stablecoins are specified by the `_assets` array parameter and the amounts by the `_amounts` array parameter. The caller receives a certain amount of OUSD depending on the **exchange rate**. + +| Parameter Name | Type | Description | +| --------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| \_assets | address\[] | Addresses of the [supported](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/core-concepts/supported-assets) stablecoins | +| \_amounts | uint256\[] | Amounts deposited, expressed in decimal units | +| \_minimumOusdAmount | uint256 | Minimum amount of OUSD the caller is willing to receive. The call to mint() reverts if the minimum is not met. | + +{% hint style="warning" %} +On redemptions, it is the protocol and not the user that decides which stablecoin(s) are returned to the user. This decision of which coin(s) to return is based on the internal ratios of the assets that are being held in the vault.‌ +{% endhint %} + +### redeem() + +**`function redeem(uint256 _amount)`**‌ + +OUSD specified by the `_amount` parameter is redeemed in exchange for one or multiple supported stablecoins. Amount of stablecoins received depends on the **exchange rate**. + +| Parameter Name | Type | Description | +| -------------- | ------- | ----------------------------------------- | +| \_amount | uint256 | amount of OUSD expressed in decimal units | + +### redeemAll()‌ + +**`function redeemAll()`**‌ + +All OUSD in user's possession is redeemed in exchange for one or multiple supported stablecoins. Amount of stablecoins received depends on the **exchange rate**. + +### rebase() + +**`function rebase()`**‌ + +Updates the balances for all users based on the value of the assets currently stored in the vault. Returns total value of the underlying assets and strategies represented by `uint256` type.‌ + +### allocate() + +**`function allocate()`**‌ + +Moves the assets under management into their prescribed [Stategies](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/architecture/strategies) to maximize yield and diversify risk.‌ + +### totalValue() + +**`function totalValue()`**‌ + +Returns total value of underlying assets and strategies. + +| `return` name | Type | Description | +| ------------- | ------- | ------------------------------------------------ | +| value | uint256 | total value of underlying assets and strategies. | + +### checkBalance() + +**`function checkBalance(address _asset)`**‌ + +Returns the balance of an asset specified by the`_asset` parameter held in Vault and all strategies represented by `uint256` type. + +| Parameter Name | Type | Description | +| -------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | +| \_asset | address | Address of the [supported](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/core-concepts/supported-assets) stablecoin | + +### calculateRedeemOutputs() + +**`function calculateRedeemOutputs(uint256 _amount)`**‌ + +Calculate the mix of stablecoins that a `redeem` function would return when redeeming certain amount of OUSD specified by the `_amount` parameter. Returns an array of stablecoin values. + +To attribute the stablecoin values to the correct stablecoin currency this call should be used in conjunction with `getAllAssets` function that returns an array of stablecoin addresses. + +The index of an array that is returned by the `calculateRedeemOutputs` corresponds to the stablecoin address with the same index in an array returned by the `getAllAssets` function. + +| Parameter Name | Type | Description | +| -------------- | ------- | ----------------------------------------- | +| \_amount | uint256 | amount of OUSD expressed in decimal units | + +| `return` name | Type | Description | +| ------------- | ----------- | --------------------------------------------------------------------------- | +| outputs | uint256\[] | array of the amount of the stablecoin assets `redeem` function would return | + +### getAssetCount() + +**`function getAssetCount()`**‌ + +Return the number of supported stablecoin assets represented by `uint256` type.‌ + +### getAllAssets() + +**`function getAllAssets()`**‌ + +Return all assets addresses of supported stablecoin assets in order represented by `uint256` type.‌ + +### getStrategyCount()‌ + +**`function getStrategyCount()`**‌ + +Return the number of strategies active on the Vault represented by `uint256` type.‌ + +### getAPR() + +**`function getAPR()`**‌ + +Return the total annual percentage yield (APR) of the Vault and all Strategies represented by `uint256` type. Resulting number has 18 decimal places.‌ + +### isSupportedAsset() + +**`function isSupportedAsset(address _asset)`**‌ + +Return the boolean that is true if the asset specified by the `_asset` parameter is supported by the Vault. + +| Parameter Name | Type | Description | +| -------------- | ------- | ------------------------- | +| \_asset | address | Address of the stablecoin | + +### priceUSDMint() + +**`function priceUSDMint(string symbol)`**‌‌ + +Returns the exchange rate price of a stable coin specified by the `symbol` parameters used when minting OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Parameter Name | Type | Description | +| -------------- | ------ | ------------------------ | +| symbol | string | Symbol of the stablecoin | + +### priceUSDRedeem() + +**`function priceUSDRedeem(string symbol)`**‌‌ + +Returns the exchange rate price of a stable coin specified by the `symbol` parameters used when redeeming OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Parameter Name | Type | Description | +| -------------- | ------ | ------------------------ | +| symbol | string | Symbol of the stablecoin | + +### priceAssetUSDMint()‌ + +**`function priceAssetUSDMint(address _asset)`**‌‌ + +Returns the exchange rate price of a stable coin specified by the `_asset` parameters used when minting OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Parameter Name | Type | Description | +| -------------- | ------- | -------------------------- | +| \_asset | address | Address of the stablecoin‌ | + +### priceAssetUSDRedeem()‌ + +**`function priceAssetUSDRedeem(address _asset)`**‌‌‌ + +Returns the exchange rate price of a stable coin specified by the `_asset` parameters used when redeeming OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Parameter Name | Type | Description | +| -------------- | ------- | ------------------------- | +| \_asset | address | Address of the stablecoin | diff --git a/fil/smart-contracts/architecture.md b/fil/smart-contracts/architecture.md new file mode 100644 index 000000000..f53eacf24 --- /dev/null +++ b/fil/smart-contracts/architecture.md @@ -0,0 +1,18 @@ +# Architecture + +![](../.gitbook/assets/ousd\_docs\_graphics\_3.png) + +OUSD is made up of a series of smart contracts. Each of these contracts is wrapped in a proxy contract that can be upgraded via the governance protocols. + +Internally, ownership in the vault is tracked using a credits system that represents the percent ownership of the vault for each holder. The [ERC-20](api/erc-20-1.md) contract handles the conversion to USD terms when viewing a balance or initiating a transfer between wallets. + +The [Vault](api/vault.md) is responsible for minting and burning OUSD. It also enforces the percentage of assets that are deployed to each of the supported [Strategies](../core-concepts/supported-strategies/). To optimize gas costs, the vault may maintain a buffer to allow most deposits and redemptions to occur without winding/unwinding assets from strategies. + +The Flipper is a smart contract for users to swap in and out of OUSD cheaply for any of DAI, USDC, or USDT at a fixed 1:1 rate. This contract is used as an alternative way to route user transactions originating from the web app. It's important to note that this contract may be empty on one side (e.g., contain 0 OUSD balance), and thus sometimes provides limited swap routes. While limited in functionality, Flipper uses around 45% less gas than Uniswap v3 due to its simplicity. + +The Harvester contract collects reward tokens earned by the strategies, sells them, and sends the resulting stablecoins to the Dripper to be released to the vault. Anyone can call the harvest and earn 1% of the resulting USDT for doing so. This creates a self-incentivizing system that operates at a known fixed cost. See our [incentivized-harvesting-guide.md](../guides/incentivized-harvesting-guide.md "mention") for details. + +The Dripper contract buffers aproximately one week of reward token sales proceeds and makes it avaiable at a smooth rate to the vault. This keeps OUSD yield from being extremely spiky when harvests come in. The rate is recalculated at least once per day and is the rate that it would take to distribute the current dripper holdings out over a one week period. + + + diff --git a/fil/smart-contracts/erc-20.md b/fil/smart-contracts/erc-20.md new file mode 100644 index 000000000..c3a21d407 --- /dev/null +++ b/fil/smart-contracts/erc-20.md @@ -0,0 +1,12 @@ +# Architecture + +![](../.gitbook/assets/ousd_docs_graphics_3.png) + +OUSD is made up of a series of smart contracts. Each of these contracts is wrapped in a proxy contract that can be upgraded via the governance protocols. + +Internally, ownership in the pool is tracked using a credits system that represents the percent ownership of the pool for each holder. The [ERC-20](api/erc-20-1.md) contract handles the conversion to USD terms when viewing a balance or initiating a transfer between wallets. + +The [Vault](api/vault.md) is responsible for minting and burning OUSD. It also enforces the percentage of assets that are deployed to each of the supported [Strategies](../core-concepts/supported-strategies/). To optimize gas costs, the vault maintains a buffer to allow most deposits and redemptions to occur without winding/unwinding assets from strategies. + + + diff --git a/fil/smart-contracts/registry.md b/fil/smart-contracts/registry.md new file mode 100644 index 000000000..f2d45b7dd --- /dev/null +++ b/fil/smart-contracts/registry.md @@ -0,0 +1,156 @@ +# Registry + +Here is the full registry of OUSD smart contracts that have been deployed to the Ethereum mainnet. + +{% hint style="success" %} +The main ERC20 address for Origin Dollar (OUSD) is: \ +**0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +{% tabs %} +{% tab title="Core" %} +Well-known addresses (proxy wrappers): + + + +| Contract | Address | ENS | +| -------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------- | +| OUSD | [0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86](https://etherscan.io/address/0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86) |

ousd.eth

origindollar.eth

| +| Vault | [0xE75D77B1865Ae93c7eaa3040B038D7aA7BC02F70](https://etherscan.io/address/0xe75d77b1865ae93c7eaa3040b038d7aa7bc02f70) | [originvault.eth](https://etherscan.io/address/originvault.eth) | + + + +Internal implementation contracts. The Vault is split into VaultAdmin and VaultCore to work around the maximum contract size limit on Ethereum: + + + +| Contract | Address | +| ---------- | --------------------------------------------------------------------------------------------------------------------- | +| OUSD | [0x33db8d52d65F75E4cdDA1b02463760c9561A2aa1](https://etherscan.io/address/0x33db8d52d65F75E4cdDA1b02463760c9561A2aa1) | +| VaultAdmin | [0x3EB68D8f4992A0e34aA58cc3dF86A40814078cF6](https://etherscan.io/address/0x3EB68D8f4992A0e34aA58cc3dF86A40814078cF6) | +| VaultCore | [0x226de75867B2f785BA19600e2a7e6eFccD57157B](https://etherscan.io/address/0x226de75867B2f785BA19600e2a7e6eFccD57157B) | +{% endtab %} + +{% tab title="Strategies" %} +Well-known addresses (proxy wrappers): + + + +| Strategy | Address | Auto-Allocation | +| -------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------- | +| Aave | [0x5e3646A1Db86993f73E6b74A57D8640B69F7e259](https://etherscan.io/address/0x5e3646A1Db86993f73E6b74A57D8640B69F7e259) | Manual allocation | +| Compound | [0x9c459eeb3FA179a40329b81C1635525e9A0Ef094](https://etherscan.io/address/0x9c459eeb3FA179a40329b81C1635525e9A0Ef094) | 100% of USDC, USDT and DAI | +| Convex | [0xEA2Ef2e2E5A749D4A66b41Db9aD85a38Aa264cb3](https://etherscan.io/address/0xEA2Ef2e2E5A749D4A66b41Db9aD85a38Aa264cb3#code) | Manual allocation | + + + +Internal implementation contracts: + + + +| Strategy | Address | +| -------- | -------------------------------------------------------------------------------------------------------------------------- | +| Aave | [0xA050eBE34Be464902F7E0F7F451f4B5253d57114](https://etherscan.io/address/0xA050eBE34Be464902F7E0F7F451f4B5253d57114) | +| Compound | [0x47f3eb71b5507df5ab6ac7f8660ef282ab0e560f](https://etherscan.io/address/0x47f3eb71b5507dF5Ab6aC7F8660Ef282Ab0E560f) | +| Convex | [0x08f3a0637851aA1B0E0750aA3d46E0E356f349aC](https://etherscan.io/address/0x08f3a0637851aa1b0e0750aa3d46e0e356f349ac#code) | + + + +Yield harvesting and collection: + + + +| | | +| --------- | -------------------------------------------------------------------------------------------------------------------------- | +| Contract | Address | +| Harvester | [0x21fb5812d70b3396880d30e90d9e5c1202266c89](https://etherscan.io/address/0x21fb5812d70b3396880d30e90d9e5c1202266c89#code) | +| Dripper | [0x80c898ae5e56f888365e235ceb8cea3eb726cb58](https://etherscan.io/address/0x80c898ae5e56f888365e235ceb8cea3eb726cb58#code) | +{% endtab %} + +{% tab title="Oracles" %} +The following Chainlink oracles are used to protect the vault in case a backing stablecoin loses value. They also offer slippage protection when harvesting rewards tokens or executing the OGN buyback. + + + +| Pair | Contract | +| ------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| [USDT/USD](https://data.chain.link/ethereum/mainnet/stablecoins/usdt-usd) | [0x3E7d1eAB13ad0104d2750B8863b489D65364e32D](https://etherscan.io/address/0x3E7d1eAB13ad0104d2750B8863b489D65364e32D) | +| [USDC/USD](https://data.chain.link/ethereum/mainnet/stablecoins/usdc-usd) | [0x8fFfFfd4AfB6115b954Bd326cbe7B4BA576818f6](https://etherscan.io/address/0x8fFfFfd4AfB6115b954Bd326cbe7B4BA576818f6) | +| [DAI/USD](https://data.chain.link/ethereum/mainnet/stablecoins/dai-usd) | [0xAed0c38402a5d19df6E4c03F4E2DceD6e29c1ee9](https://etherscan.io/address/0xAed0c38402a5d19df6E4c03F4E2DceD6e29c1ee9) | +| [COMP/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/comp-usd) | [0xdbd020caef83efd542f4de03e3cf0c28a4428bd5](https://etherscan.io/address/0xdbd020caef83efd542f4de03e3cf0c28a4428bd5) | +| [AAVE/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/aave-usd) | [0x547a514d5e3769680Ce22B2361c10Ea13619e8a9](https://etherscan.io/address/0x547a514d5e3769680Ce22B2361c10Ea13619e8a9) | +| [CRV/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/crv-usd) | [0xcd627aa160a6fa45eb793d19ef54f5062f20f33f](https://etherscan.io/address/0xcd627aa160a6fa45eb793d19ef54f5062f20f33f) | +| [CVX/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/cvx-usd) | [0xd962fC30A72A84cE50161031391756Bf2876Af5D](https://etherscan.io/address/0xd962fC30A72A84cE50161031391756Bf2876Af5D) | +| [OGN/ETH](https://data.chain.link/ethereum/mainnet/crypto-eth/ogn-eth) | [0x2c881b6f3f6b5ff6c975813f87a4dad0b241c15b](https://etherscan.io/address/0x2c881b6f3f6b5ff6c975813f87a4dad0b241c15b) | +{% endtab %} + +{% tab title="Governance" %} + + +| Contract | Address | ENS | +| ------------------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------- | +| 5 of 8 Multisig | [0xbe2AB3d3d8F6a32b96414ebbd865dBD276d3d899](https://etherscan.io/address/0xbe2AB3d3d8F6a32b96414ebbd865dBD276d3d899) | [originprotocol.eth](https://etherscan.io/address/originprotocol.eth) | +| 2 of 9 Multisig | [0xF14BBdf064E3F67f51cd9BD646aE3716aD938FDC](https://etherscan.io/address/0xF14BBdf064E3F67f51cd9BD646aE3716aD938FDC) | [originstrategist.eth](https://etherscan.io/address/originstrategist.eth) | +| Governor / Timelock | [0x72426BA137DEC62657306b12B1E869d43FeC6eC7](https://etherscan.io/address/0x72426BA137DEC62657306b12B1E869d43FeC6eC7) |

origingovernor.eth

origintimelock.eth

| +| OGN Buyback | [0x77314EB392b2be47C014cde0706908b3307Ad6a9](https://etherscan.io/address/0x77314EB392b2be47C014cde0706908b3307Ad6a9) | [originbuyback.eth](https://etherscan.io/address/originbuyback.eth) | +{% endtab %} + +{% tab title="Stablecoins" %} +| Contract | Address | +| ------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| [USDT](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | [0xdac17f958d2ee523a2206206994597c13d831ec7](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | +| [USDC](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | [0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | +| [DAI](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | [0x6b175474e89094c44da98b954eedeac495271d0f](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | +{% endtab %} + +{% tab title="Staking" %} +| Contract | Address | ENS | +| ----------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- | +| OGN Staking | [0x501804B374EF06fa9C427476147ac09F1551B9A0](https://etherscan.io/address/0x501804B374EF06fa9C427476147ac09F1551B9A0) | [originstaking.eth](https://etherscan.io/address/originstaking.eth) | + + + +Internal implementation contracts: + + + +| Contract | Address | +| ----------- | --------------------------------------------------------------------------------------------------------------------- | +| OGN Staking | [0x8cd68a1e0b79150455c5498882d5d5d3df2dde08](https://etherscan.io/address/0x8cd68a1e0b79150455c5498882d5d5d3df2dde08) | + + + +OUSD compensation contract ([details](https://medium.com/originprotocol/origin-delivers-on-compensation-promise-claim-your-ousd-and-ogn-now-a9fa9b840476)): + + + +| Contract | Address | +| ----------------- | --------------------------------------------------------------------------------------------------------------------- | +| OUSD Compensation | [0x9C94df9d594BA1eb94430C006c269C314B1A8281](https://etherscan.io/address/0x9C94df9d594BA1eb94430C006c269C314B1A8281) | +{% endtab %} + +{% tab title="Flipper" %} +Flipper is a gas-optimized way for users to swap in and out of OUSD at a fixed 1:1 rate with other stablecoins. This contract may become empty on one side (e.g., contain 0 OUSD balance), and thus sometimes provides limited swap routes. + + + +| Contract | Address | ENS | +| -------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- | +| Flipper | [0xcecaD69d7D4Ed6D52eFcFA028aF8732F27e08F70](https://etherscan.io/address/0xcecaD69d7D4Ed6D52eFcFA028aF8732F27e08F70) | [originflipper.eth](https://etherscan.io/address/originflipper.eth) | +{% endtab %} + +{% tab title="Wrapped" %} +Wrapped OUSD\ +\ **Well known proxy address:** - [0xD2af830E8CBdFed6CC11Bab697bB25496ed6FA62](https://etherscan.io/address/0xD2af830E8CBdFed6CC11Bab697bB25496ed6FA62) + +Internal implementation address - [0xbf3b9b141cb3629f5bb8f721cba9265c92494539](https://etherscan.io/address/0xbf3b9b141cb3629f5bb8f721cba9265c92494539) +{% endtab %} +{% endtabs %} + + + + + + + + diff --git a/fr/README.md b/fr/README.md new file mode 100644 index 000000000..7c08388ed --- /dev/null +++ b/fr/README.md @@ -0,0 +1,29 @@ +--- +description: The first stablecoin that earns a yield while it's still in your wallet +--- + +# Introduction + +## **A Better Form of Money** + +Origin Dollar (OUSD) is a new stablecoin that was initially launched in September 2020 on the Ethereum network. Its design is superior to existing stablecoins because OUSD captures competitive yields while being passively held in wallets. + +![](.gitbook/assets/origin-dollar-summary.jpeg) + +**Background** + +In 1999, Yu Pan, Origin’s R\&D engineer, and his fellow PayPal co-founders [conceived](https://www.cnbc.com/2017/08/14/david-sacks-cryptocurrency-interview.html) of creating “the new world currency”, complete with interest yielding strategies and debit cards without having to connect to traditional banking systems. Several pivots and an eBay acquisition later, PayPal dropped its ambitions in this area. + +Almost two decades later, Tether introduced the concept of a USD-denominated stablecoin in 2014. Since then, stablecoins have proven themselves as an ideal way of transferring value without exposing users to the price volatility of free-floating currencies. Today, more value is [transferred via Tether](https://www.bloomberg.com/news/articles/2019-10-01/tether-not-bitcoin-likely-the-world-s-most-used-cryptocurrency) than with Bitcoin. Meanwhile, Decentralized Finance (DeFi) has experienced an explosion of growth with [billions of dollars](https://defipulse.com) of capital now locked up in smart contracts that generate yields from lending and trading protocols. + +One of the problems with existing stablecoins is that users have to constantly choose between holding an easily spendable coin and earning yields by locking their tokens up in smart contracts. For example, users that lock up USDC in Aave cannot spend a portion of that USDC simultaneously. Expensive Ethereum gas fees serve as "switching costs" each time those users want to switch between spending mode and earning mode. + +To make matters worse, yields from lending and trading activities change rapidly. Sophisticated DeFi yield earners are familiar with constantly having to rebalance their portfolio of assets across many competing platforms. This is time-consuming and expensive as gas fees once again eat into yields. In addition, it is time-consuming to calculate real ROI as APYs are unstable and constantly fluctuating. There isn't an easy unit of account. As a result, while DeFi is growing extremely rapidly, it still makes it difficult for many cryptocurrency users to participate. + +With OUSD, there’s no need to unwind complicated positions when you want to spend your OUSD. You can transfer it freely without having to pay gas to unlock spendable capital. In addition, OUSD gives you access to some of the highest-earning opportunities across DeFi with none of the hassles. The OUSD smart contract will deploy your underlying capital to a diversified set of yield-earning strategies, rebalancing over time to achieve great yields while diversifying risk. Earnings automatically accrue in your wallet and compound continuously while you hold OUSD. Again, no staking or lockups are required. OUSD also serves as an ideal unit of account. DeFi investors no longer need complicated spreadsheets to calculate their earnings as they can easily see their constantly updated OUSD balances in real-time as their interest compounds automatically. OUSD is an ideal stablecoin for DeFi yield farmers and novice cryptocurrency users alike. + +Created by cryptocurrency and fintech veterans, the Origin Dollar is brought to you by the [team](https://www.originprotocol.com/team) at [Origin Protocol](https://www.originprotocol.com) that includes serial entrepreneurs, early cryptocurrency investors, early employees at YouTube, engineering managers at Google/Dropbox, and one of the Paypal co-founders, Yu Pan. + +For those interested in diving into the technical details of how it works, these docs are a great place to start. We encourage developers to audit and contribute to our [Github](http://www.github.com/OriginProtocol) (100% open-source). Our team hangs out in [Discord](https://www.originprotocol.com/discord) if you have questions or need help getting started. + +Welcome to the future of money. diff --git a/fr/SUMMARY.md b/fr/SUMMARY.md new file mode 100644 index 000000000..a389e6c18 --- /dev/null +++ b/fr/SUMMARY.md @@ -0,0 +1,64 @@ +# Table of contents + +* [Introducing OUSD](README.md) +* [How It Works](how-it-works.md) +* [Getting Started](getting-started.md) +* [Analytics Dashboard](analytics-dashboard.md) +* [FAQ](faq.md) + +## Core Concepts + +* [Elastic Supply](core-concepts/elastic-supply/README.md) + * [Rebasing & Smart Contracts](core-concepts/elastic-supply/rebasing-and-smart-contracts.md) +* [Yield Generation](core-concepts/yield-generation/README.md) + * [Lending](core-concepts/yield-generation/lending.md) + * [Market Making](core-concepts/yield-generation/market-making.md) + * [Rewards](core-concepts/yield-generation/rewards.md) +* [Wrapped OUSD](core-concepts/wrapped-ousd.md) +* [Supported Stablecoins](core-concepts/supported-stablecoins/README.md) + * [USDT](core-concepts/supported-stablecoins/usdt.md) + * [USDC](core-concepts/supported-stablecoins/usdc.md) + * [DAI](core-concepts/supported-stablecoins/dai.md) +* [Supported Strategies](core-concepts/supported-strategies/README.md) + * [Compound](core-concepts/supported-strategies/compound.md) + * [Aave](core-concepts/supported-strategies/aave.md) + * [Curve](core-concepts/supported-strategies/curve.md) + * [Convex](core-concepts/supported-strategies/convex.md) +* [Fund Management](core-concepts/fund-management.md) +* [Price Oracles](core-concepts/price-oracles.md) + +## Governance + +* [Principles](governance/principles.md) +* [Admin Privileges](governance/admin-privileges.md) +* [OGN Staking](governance/ogn-staking.md) +* [Contributing](governance/contributing.md) +* [Vote Delegation](governance/vote-delegation.md) + +## Smart Contracts + +* [Architecture](smart-contracts/architecture.md) +* [Registry](smart-contracts/registry.md) +* [API](smart-contracts/api/README.md) + * [Vault](smart-contracts/api/vault.md) + * [ERC-20](smart-contracts/api/erc-20-1.md) + * [Timelock](smart-contracts/api/timelock.md) + * [Strategies](smart-contracts/api/strategies.md) + +## Security & Risks + +* [Risks](security-and-risks/risks.md) +* [Audits](security-and-risks/audits.md) +* [Insurance](security-and-risks/insurance.md) +* [Bug Bounties](security-and-risks/bug-bounties.md) + +## Guides + +* [Integration Guide For Exchanges](guides/integration-guide-for-exchanges.md) +* [Incentivized Harvesting Guide](guides/incentivized-harvesting-guide.md) + +## Links + +* [Github](https://www.github.com/originprotocol/origin-dollar) +* [Discord](https://www.originprotocol.com/discord) +* [originprotocol.com](https://www.originprotocol.com) diff --git a/fr/analytics-dashboard.md b/fr/analytics-dashboard.md new file mode 100644 index 000000000..9c3e6a577 --- /dev/null +++ b/fr/analytics-dashboard.md @@ -0,0 +1,31 @@ +# Analytics Dashboard + +{% hint style="info" %} +Visit [analytics.ousd.com](https://analytics.ousd.com) to see how funds are allocated, view historical performance data, and track your personal gains. +{% endhint %} + +The [APY dashboard](https://analytics.ousd.com/apy) is primarily intended for consumption by our engineering team, but we went ahead and deployed it since our ethos is "public by default" and everything that we do is [open-source](http://github.com/OriginProtocol). Unfortunately, that often means erring on the side of transparency and not necessarily the side of taking the time to explain things clearly. + +Before diving into the yield calculation, it's important to understand how OUSD works both in terms of [yield generation](https://docs.ousd.com/core-concepts/yield-generation) and [rebasing](https://docs.ousd.com/core-concepts/elastic-supply). You can read all about that in these [docs](https://docs.ousd.com), including [the part about smart contracts being excluded from yield](https://docs.ousd.com/core-concepts/elastic-supply/rebasing-and-smart-contracts). + +To summarize how APY is calculated, it's the annualized rate of change in OUSD's internal accounting of users' balances between two points in time. To understand that, let's break down the columns in the historical APY table (in reverse order). + +**Ratio** + +There are two types of OUSD balances: rebasing (most accounts) and non-rebasing (smart contracts that have not opted in). The OUSD token contract maintains a separate internal accounting for each type of balance using what it calls "credits". The ratio shown here is the rebasing supply of OUSD divided by the rebasing credits, which gives us the exchange rate between the two. + +**Credits** + +Some smart contracts holding OUSD have unique credit balances because their rebasing status has changed at some point in the past (by opting in or out). Here we show the sum of all rebasing credits and non-rebasing credits. When multiplied by the ratio, it gives the difference between backing supply and non-rebasing supply. + +**Non-rebasing** + +This is the portion of supply held in other smart contracts that have not opted in to rebasing. When added to (credits \* ratio), this equals backing supply. Note also that the **%** column shows the percentage of OUSD that is non-rebasing. + +**Boost** + +The APY is effectively "boosted" for rebasing accounts thanks to the fact that some OUSD is non-rebasing. Think about all of the stablecoins that were used as collateral to mint the non-rebasing OUSD. Those stablecoins are still earning through our yield farming strategies, but the gains are accruing only to the rebasing accounts. The result is that the effective APY is higher than it would be without this mechanism. The boost is the measure of this difference. If boost is 100%, then regular OUSD holders are enjoying double the APY that they otherwise would. + +**APR/APY calculation** + +Bringing this full circle, we currently measure yield by measuring the change in the [rebasing credits per token](https://github.com/OriginProtocol/origin-dollar/blob/master/contracts/contracts/token/OUSD.sol#L45) between two points in time. But there are a few other considerations to note. First, we have to make an assumption about how many Ethereum blocks are mined on an average day. We use a [fixed 6,500](https://github.com/OriginProtocol/ousd-analytics/blob/master/eagleproject/core/views.py#L43), but the actual number of blocks per day is variable. Second, we need a reasonable time horizon to measure. We focus on 30 days, which has proven to be a relatively consistent window of time during which a complete sample of yield-generating activities has occurred. Third, we convert APR into APY by assuming [constant daily compounding](https://github.com/OriginProtocol/ousd-analytics/blob/master/eagleproject/core/views.py#L449-L451). In other words, yield is constantly being reinvested into the same strategies. Finally, there is one notable drawback to using the rebase ratio to measure yield. Since rebase events currently occur sporadically (and not very frequently in a world of high gas prices), the APY won't reflect earnings that have not yet been translated to account balances. For example, there could be an interest rate spike in Compound or a volume spike in the Curve 3pool strategy, which would cause OUSD to earn more than it does on an average day. Until [the rebase method](https://github.com/OriginProtocol/origin-dollar/blob/master/contracts/contracts/vault/VaultCore.sol#L365-L370) gets called, the APY will underreport these earnings. In fact, anyone who sells OUSD during that time would be missing out on the "[next rebase](https://analytics.ousd.com)". The good news is that you should be able to observe the change in your balance over one week and it (annualized) should approximately equal our advertised APY. diff --git a/fr/architecture/erc-20-1.md b/fr/architecture/erc-20-1.md new file mode 100644 index 000000000..aaf73c5ed --- /dev/null +++ b/fr/architecture/erc-20-1.md @@ -0,0 +1,19 @@ +# ERC-20 + +{% hint style="success" %} +L'adresse ERC20 principale pour OUSD (Origine Dollar) est +**0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +OUSD est un jeton conforme au standard ERC-20 avec une nouvelle propriété qui est très importante à comprendre. + +{% hint style="warning" %} +Les portesfeuilles et plateformes d'échanges qui ameraient intégrer OUSD n'ont pas à mettre en cache le solde des jetons pour OUSD car sa valeur changera fréquemment, et ce au fur et à mesure que le rendement accumulé par le détenteur changera. +{% endhint %} + +La différence principale entre OUSD et les autres jetons ERC-20 vient du fait que la fonction de balance OUSD `balanceOf()` retournera un solde variable basé sur la valeur totale du pool multipliée par la participation de chaque détenteur dans ce pool. La compréhension de cette différence est vitale, principalement pour les portefeuilles et les plateformes d'échangement qui voudraient intégrer OUSD. Cette valeur doit être récupérée en temps réel au lieu d'être mise en cache car la valeur d'un OUSD changera souvent. + + + + + diff --git a/fr/architecture/erc-20.md b/fr/architecture/erc-20.md new file mode 100644 index 000000000..b5ea4430b --- /dev/null +++ b/fr/architecture/erc-20.md @@ -0,0 +1,12 @@ +# Vue d'ensemble + +![](../.gitbook/assets/ousd_docs_graphics_3.png) + +OUSD est basé sur une séries de contrats intelligents. Chacun de ces contrats est imbriqués dans un contrat auxillière qui peut être mis à jour via le protocole de gouvernance. + +À l'interne, la propriété de ce pool est calculée à l'aide d'un système de crédit au prorata de chaque participants. Le contrat ERC-20 gère la conversion en dollar US lorsque la balance est affichée ou qu'un transfère entre portefeuille est initité. + +La voute est responsable de la création et la destruction des OUSD. En plus, elle détermine le pourcentage d'actifs qui doit être déployés afin de soutenir chacune des [Strategies](../core-concepts/supported-strategies/). Pour optimiser les coûts de transaction, la voute maintien un tampon qui permet la majorité des dépôts et des retraits sans devoir liquider des actifs. + + + diff --git a/fr/architecture/strategies.md b/fr/architecture/strategies.md new file mode 100644 index 000000000..144c42a5a --- /dev/null +++ b/fr/architecture/strategies.md @@ -0,0 +1,14 @@ +# Stratégies + +De nouvelles stratégies peuvents être ajoutées ou retirées n'importe quand pour répondre aux nouvelles réalitées du marché et diversifier le risque. + +Au lancement, OUSD tirera partie d'une seule stratégie et déploira le capital sur la plateforme Compound. Nous avons l'intention de déployer plusieurs autres stratégies peu de temps après. + +Lorsque la migration vers une gouvernance désentralisée sera terminée, il est dans notre intention de laisser la communauté proposer de nouvelles stratégies et de laisser voter les participants sur celle-ci selon le poids qu'ils ont dans le pool. Nous anticipons que la pluspart des détenteurs de OUSD vont préférer avoir une exposition à un rendement supérieur toute en maintenant une approche plus conservatrice pour une partie des fonds. + + + + + + + diff --git a/fr/architecture/timelock.md b/fr/architecture/timelock.md new file mode 100644 index 000000000..cbeccebe0 --- /dev/null +++ b/fr/architecture/timelock.md @@ -0,0 +1,22 @@ +# Verrouillage temporel + +{% hint style="danger" %} +Lorsque tout sera testé, le verrouillage temporel sera ajouté. D'ici là, les contrats seront gouvernées par Origin selon la méthode multi-sig (5 sur 8). Cela permettera une réponse plus rapide si un incident critique devait être découvert. +{% endhint %} + +Le verrouillage temporel du contrat impose une période d'attente de 48 heures avant qu'il ne soit possible d'exécuter quelques changements que ce soit aux contrats OUSD. Le verrouillage temporel peut être appelé par notre multi-sig and est le propriétaore de nos contrats [ERC-20](erc-20.md), [Vault](vault.md), and [Strategies](strategies.md). Les actions d'administration à retardement donne à l'usager la chance de retirer des OUSD si l'administrateur est compromis, malveillant ou s'il entreprend un changement pour lequel l'utilisateur n'est pas d'accord. + +{% hint style="info" %} +Le verrouillage temporel est une mesure de sécurité qui donne aux détenteurs de OUSD 48 heures pour retirer leurs fonds s'ils ont une objections à une proposition de mise à jour du protocole. +{% endhint %} + +OUSD utilise une version légèrement modifiée de [Compound Timelock](https://compound.finance/docs/governance) qui a été auditer par [audited by OpenZeppelin](https://blog.openzeppelin.com/compound-finance-patch-audit/). Les trois différences notoires sont: + +1. OUSD utilisera initialement une prédiode d'attente plus courte (48 heures) que Compound (72 heures) pour permettre une réponse plus rapide si un enjeu survenait. +2. Après le délais de 48 heure, n'importe qui est libre d'exécuter un appel, pas seulement le propriétaire du contrat. +3. Les dépôts (mais pas les retraits ou les transferts) pourront être immédiatement gelés sans le délais nécessaire de 48 heures. Ceci sera utile seulement si une vulnérabilité majeure serait découverte. + + + + + diff --git a/fr/architecture/vault.md b/fr/architecture/vault.md new file mode 100644 index 000000000..b713d2235 --- /dev/null +++ b/fr/architecture/vault.md @@ -0,0 +1,17 @@ +# La voute + +La Voute se situe au coeur du protocole. La voute est responsable de la création et du rachat des jetons OUSD en plus de rebalancer les fonds entre les différentes stratégies et la liquidation des jetons gagnés. + +La fonction appelable la plus importante de la Voute est: + +* `mint()` qui permet la conversion d'une pièce stable (stablecoin) en OUSD +* `mintMultiple()` qui permet de convertir plusieur pièce stable en OUSD en un seul appel +* `redeem()` qui permet d'échanger un nombre spécifique d'OUSD contre une autre pièce stable supportée. +* `redeemAll()` qui permet à l'utilisateur de convertire sa balance en entier d'OUSD en une pièce stable qui est prise en charge. Ceci est particulièerement utile puisque la balance des utilisateurs augmentent constament à mesure que le rendement augmente. +* `rebase()` permet la mise à our de la balance de touts les utilisateur selon les actifs qui sont actuellement stockés dans le pool. +* `allocate()` permet de déplacer certains actifs sous gestion dans une stratégie [Stategies](strategies.md) afin de maximiser le rendement et diversifier le risque. + +Lors du rachat, c'est le protocole et non l'utilisateur qui décide quelle(s) pièce(s) stable(s) sera retourné à l'utilisateur. Cette décision est basée les ratios interne des actifs qui sont détenus dans le pool. + + + diff --git a/fr/core-concepts/elastic-supply.md b/fr/core-concepts/elastic-supply.md new file mode 100644 index 000000000..2cf0fd8ae --- /dev/null +++ b/fr/core-concepts/elastic-supply.md @@ -0,0 +1,18 @@ +# Elastic Supply + +**Elastic Supply. Stable Price.** + +OUSD works differently than most tokens. Instead of the price increasing as the value of the assets under management increase \(as with Compound cTokens or Yearn yTokens\), the value of one OUSD remains constant at approximately $1. Instead, the contracts constantly adjust the monetary supply and automatically updates the balance in every token holder’s wallet to reflect the yield that has been earned by the protocol. + +{% hint style="info" %} +Think of it as interest accruing in your bank account. The unit of account and value for the US dollar doesn’t change. You just get more US dollars over time as you earn interest. +{% endhint %} + +![](../.gitbook/assets/ousd_docs_graphics_4.png) + +This mechanism was inspired by the novel approach taken by [Ampleforth](https://www.ampleforth.org/), but there are some key differences that are worth highlighting: + +1. OUSD is 100% backed by other stablecoins and will not have the same challenge maintaining the peg to the dollar. Given the ease of minting and redeeming OUSD, we can count on arbitrageurs to ensure the peg is maintained. +2. OUSD rebasing should only increase supply since the amount of OUSD minted is tied to the realized gains earned by the underlying strategies. Your principal is protected as long as nothing goes wrong with the underlying lending/AMM and stablecoin protocols. Any decrease in your balance would be an indication of trouble in the system. +3. Unlike Ampleforth, which rebases once a day, the monetary supply of OUSD is constantly being updated in real-time as yield is generated. + diff --git a/fr/core-concepts/elastic-supply/README.md b/fr/core-concepts/elastic-supply/README.md new file mode 100644 index 000000000..05228e069 --- /dev/null +++ b/fr/core-concepts/elastic-supply/README.md @@ -0,0 +1,21 @@ +# Offre élatisque + +**Offre élastique. Prix stable.** + +OUSD fonctionne différemment de la pluspart des autres jetons. Instead of the price increasing as the value of the assets under management increase (as with Compound cTokens or Yearn yTokens), the value of one OUSD remains constant at approximately $1. Instead, the contracts constantly adjust the monetary supply and automatically updates the balance in every token holder’s wallet to reflect the yield that has been earned by the protocol. + +{% hint style="info" %} +Considérez cela comme étant un intérêt couru dans votre compte de banque. L'unité de compte et la valeur d'un dollar américain ne change pas. Vous obtenez simplement plus de dollars US au fur et à mesure que vous générez de l'intérêt. +{% endhint %} + +![](../../.gitbook/assets/ousd\_docs\_graphics\_4.png) + +This mechanism was inspired by the novel approach taken by [Ampleforth](https://www.ampleforth.org), but there are some key differences that are worth highlighting: + +1. OUSD is 100% backed by other stablecoins and does not have the same challenge maintaining the peg to the dollar. Given the ease of minting and redeeming OUSD, we can count on arbitrageurs to ensure the peg is maintained. +2. OUSD rebasing will only increase supply since the amount of OUSD minted is tied to the realized gains earned by the underlying strategies. Votre principal est protégé tant que rien n'impact négativement la stratégie sous-jacente de prêt/AMM et des protocoles de monnaies stables. Your OUSD balance will never decrease, but the value could drop if there's a failure in the underlying systems. +3. Unlike Ampleforth, which only rebases once a day, the monetary supply of OUSD is constantly being updated in real-time as yield is generated. Rebases are triggered regularly as users interact with the OUSD contracts. Chainlink Keepers ensure at least one rebase occurs every day. + +**Manually triggering a rebase** + +Anyone can trigger a rebase at any time by [calling the rebase function on the vault](https://etherscan.io/address/originvault.eth#writeProxyContract). You can do this on Etherscan by connecting a web3 wallet. diff --git a/fr/core-concepts/elastic-supply/rebasing-and-smart-contracts.md b/fr/core-concepts/elastic-supply/rebasing-and-smart-contracts.md new file mode 100644 index 000000000..691da0daa --- /dev/null +++ b/fr/core-concepts/elastic-supply/rebasing-and-smart-contracts.md @@ -0,0 +1,22 @@ +# Rebasement & Contrats intelligents + +Si vous utilisez un portefeuille à signature multiples ou un autre contrat intelligent et que vous souhaitez participer au rebasement de OUSD, vous devez appeler la fonction `rebaseOptIn()`. Ceci s'applique seulement aux contrats intelligents car les portefeuilles avec le standard EOA participent automatiquement. + +{% hint style="info" %} +Les contrats à signatures multiples ou les autres contrats intelligents doivent appeler la fonction `rebaseOptIn()` afin de générer du rendement. +{% endhint %} + +By default, OUSD that is held on smart contracts will not participate in the rebasing nature of the token and will forfeit any yield unless the smart contract explicitly opts-in. This increases the composability of OUSD within DeFi as many protocols weren't designed with the expectation that balances might change. To other DeFi protocols, OUSD works just like any other normal, well-behaved ERC-20 until you ask it to change. This is a particularly useful attribute for automated market makers (AMM’s) like Uniswap which break when the number of tokens they are holding changes unexpectedly. + +![The Gnosis Safe OUSD app will prompt you to opt in to yield](../../.gitbook/assets/ousd-app-in-gnosis-safe.png) + +Smart contracts must explicitly opt-in to receiving yield via the rebasing mechanism. This fixes the issue with the expanding supply on AMM’s while still allowing multi-sig wallets and other smart contracts the opportunity to still participate and earn yield. + +{% hint style="warning" %} +If you are deploying a contract and intend to call`rebaseOptIn()`to earn yield you cannot call it from the contract's constructor. The contract must be deployed before it can be called. +{% endhint %} + +[Gnosis Safe](https://gnosis-safe.io) users are encouraged to use the Origin Dollar app which will prompt you to opt in to receiving yield. If you are using the "Old" [Gnosis Wallet](https://github.com/gnosis/MultiSigWallet) or another contract-based wallet, you will need the [proxy contract address for OUSD](../../smart-contracts/registry.md) and the corresponding [ABI](https://api.etherscan.io/api?module=contract\&action=getabi\&address=0x1ae95dd4eeae7ed03da79856c2d44ffa3318f805). Once you add those, you will be able to call the `rebaseOptIn()` function to opt into receiving yield via rebasing or`rebaseOptOut()` to turn it off again. + + + diff --git a/fr/core-concepts/fund-management.md b/fr/core-concepts/fund-management.md new file mode 100644 index 000000000..d6b1920c5 --- /dev/null +++ b/fr/core-concepts/fund-management.md @@ -0,0 +1,23 @@ +# Fund Management + +The OUSD smart contract aggregates all users' stablecoin deposits into a single pool of assets that are then deployed into earning strategies based on preset allocations. In contrast to Yearn Vaults, TokenSets, or Zapper opportunities, users do not select individual strategies. All deposited stablecoins and consequently all OUSD tokens are fungible. + +The weighting of how assets are distributed between the supported strategies is decided by OGN holders using weekly snapshot voting. These votes happen offchain and do not cost any gas. The results of the weekly poll will then be executed onchain by members of the [Strategist multi-sig](https://etherscan.io/address/0xF14BBdf064E3F67f51cd9BD646aE3716aD938FDC) (known as "Strategists"). + +Ultimately, we believe it should be up to the community to decide what the right balance of risk/reward is appropriate for OUSD. We encourage the community to favor high-yield strategies while still maintaining diversification across multiple strategies to remove single points of failure and minimize risk. + +**How strategy allocation voting works:** + +* New snapshot proposals will open for voting on the [OGN governance portal ](http://vote.originprotocol.com)at midnight Tuesday UTC (7pm eastern Monday). The poll will be open for 48 hours, ending at midnight Thursday UTC (7pm eastern on Wednesday). +* During this time, those interested can discuss allocation changes in a thread in the #governance channel on [Origin's Discord](https://www.originprotocol.com/discord). +* Each proposal will use "weighted voting", with options for each coin/strategy combination and an option to keep the existing allocation unchanged. OGN holders can spread their votes among different listed strategies or the existing allocation. +* After the voting time has ended, Strategists will submit, verify, and execute transactions to change OUSD to the determined allocation percentages for the week. If more than 50% of the weighted votes are cast for the existing allocation, Strategists will take no action. +* Allocations will be executed for strategies that use all stablecoins first (like Convex), then each stablecoin will be allocated to the remaining strategies according to the ratio of votes for that stablecoin / strategy combination. +* If the Strategists deem any of the allocations unsafe to the funds behind OUSD, they may choose to not execute those. In addition, Strategists may decline to execute minor adjustments where the gas costs would be greater than the expected benefits. +* Like all governance proposals, Strategist allocations must meet the minimum quorum requirements (currently 1M OGN) to be considered valid. +* From a security standpoint, it is important to know that while Strategists have the ability to move funds between approved strategies or instantly pause rebasing in the case of an emergency, Strategists do not have the power to add new strategies or withdraw funds without going through the timelock. Community members can use the Strategy Validator tools to more easily [create](https://analytics.ousd.com/strategist/creator) and [decode](https://analytics.ousd.com/strategist) which actions are being performed by the Strategists. +* When voting, please remember it is inefficient to move in and out of the Convex strategy frequently and some funds need to always remain outside of Convex in order to accommodate withdrawals. + + + +**** diff --git a/fr/core-concepts/fund-management/README.md b/fr/core-concepts/fund-management/README.md new file mode 100644 index 000000000..4f6287602 --- /dev/null +++ b/fr/core-concepts/fund-management/README.md @@ -0,0 +1,6 @@ +# Fund Management + +The OUSD smart contract aggregates all users' stablecoin deposits into a single pool of investable assets. Funds are then allocated across one or more [earning strategies](earning-strategies.md) at any given moment in time. The Vault favors high-yield strategies but also seeks to maintain diversification across multiple strategies. Diversification removes single points of failures and mitigates risks. + +In contrast to Yearn Vaults, TokenSets, or Zapper opportunities, users do not select individual strategies. All deposited stablecoins and consequently all OUSD tokens are fungible. + diff --git a/fr/core-concepts/fund-management/diversification.md b/fr/core-concepts/fund-management/diversification.md new file mode 100644 index 000000000..f6353df94 --- /dev/null +++ b/fr/core-concepts/fund-management/diversification.md @@ -0,0 +1,8 @@ +# Diversification + +La première version du contrat intelligent de la Voute OUSD donnera à chaque stratégue valide un poids entre 0% et 100% pour l'allocation simple d'un actif. Ces valeurs changerons fréquemment via des mises à jours par Origin à court terme et par une gouvernance décentralisée à long terme. + +Une diversification à travers plusieurs plates-formes de finance décentralisées [platforms](../supported-strategies/) réduira les différents risques liés aux contrats intelligents et les autres risques systémiques. Le contrat intelligent calculera les valeures APY actuels et espérées dans le but de fournir des rendements compétitifs pour les détenteurs d'OUSD. Avec le temps, le contrat Voute sera mis à jour pour permettre le changement de stratégie intelligemment et automatiquement sans le besoin d'intervention manuelle. Par exemple, la Voute pourra convertir automatiquement entre plusieurs stratégies de prêt pour optimiser le rendement. + +Cependant, il est entendu que certains paramètres de risques ou que certaines décisions concernant les stratégies seront incluses dans le service de décisions automatiques seront faites par des votes de gouvernances. + diff --git a/fr/core-concepts/fund-management/earning-strategies.md b/fr/core-concepts/fund-management/earning-strategies.md new file mode 100644 index 000000000..1149bd50c --- /dev/null +++ b/fr/core-concepts/fund-management/earning-strategies.md @@ -0,0 +1,6 @@ +# Stratégies d'investissement + +Les stratégies d'investissement mettre à contribution le capital à travers différentes plate-formes. La voute détermine quelle stratégie utilisé et quel pourcentage du capital sera utilisé pour chacune d'elles. + +De plus, les stratégies seront être mise à jour au fil du temps. Par exemple, lors du lancement, il y aura une stratégie initial [Compound strategy](../supported-strategies/compound.md). Avec le temps, elle pourra être remplacé par une version 2 ou une version 3 de la stratégie. + diff --git a/fr/core-concepts/price-oracles.md b/fr/core-concepts/price-oracles.md new file mode 100644 index 000000000..1b08c685f --- /dev/null +++ b/fr/core-concepts/price-oracles.md @@ -0,0 +1,38 @@ +- - - +description: OUSD uses Chainlink to secure the protocol from pricing attacks +- - - + +# Price Oracles + +### Stablecoin Pricing + +OUSD is designed to stay pegged at 1 USD and be 1:1 backed with its underlying stablecoins. This is trickier than it sounds because these underlying stablecoins are constantly deviating from their own desired 1 USD pegs. While the majority of daily fluctuations are minor, there have been major swings in price that have occurred in the past and are likely to occur again in the future. + +| Coin | **Low** | **High** | **Delta** | **Source** | +| ---- | ---------------------------------------------------- | ---------------------------------------------------- | --------- | --------------------------------------------------------------------------- | +| USDC |

$0.929222

Mar 13, 2020

|

$1.11

Oct 15, 2018

| $0.180778 | [CoinMarketCap](https://coinmarketcap.com/currencies/usd-coin/) | +| USDC |

$0.924188

Aug 02, 2020

|

$1.17

May 08, 2019

| $0.245812 | [CoinGecko](https://www.coingecko.com/en/coins/usd-coin) | +| DAI |

$0.945505

May 10, 2020

|

$1.11

Mar 13, 2020

| $0.164495 | [CoinMarketCap](https://coinmarketcap.com/currencies/multi-collateral-dai/) | +| DAI |

$0.903243

Nov 25, 2019

|

$1.22

Mar 13, 2020

| $0.316757 | [CoinGecko](https://www.coingecko.com/en/coins/dai) | +| USDT |

$0.849809

Feb 02, 2017

|

$1.21

May 27, 2017

| $0.360191 | [CoinGecko](https://www.coingecko.com/en/coins/tether) | +| USDT |

$0.572521

Mar 02, 2015

|

$1.32

Jul 24, 2018

| $0.747479 | [CoinMarketCap](https://coinmarketcap.com/currencies/tether/) | + +The rebasing function treats 1 stablecoin as 1 OUSD for simplicity and to protect OUSD balances from being affected by the daily fluctuations in the price of the underlying stablecoins. Since the rebase function only counts coins, OUSD balances should only increase. + +In order to mint and redeem the appropriate number of OUSD on entry and exit, the smart contracts need to accurately price the USDT, USDC, and DAI that is entering and exiting the system. + +As an added precaution, OUSD never pays more than a dollar for a stablecoin, nor sells a stablecoin for less than a dollar. Oracles giving wrong prices will not result in a reduction of the number of stablecoins held. Gains that are collected as a result of stablecoins slipping from their peg are redistributed to the remaining holders of OUSD in the form of additional yield. + +As a decentralized protocol, OUSD must rely on non-centralized sources for these prices. OUSD uses Chainlink oracles for pricing data for DAI, USDC and USDT. You can read more about [our decision to work with Chainlink](https://blog.originprotocol.com/how-origin-uses-chainlink-oracles-to-secure-ousd-bff5601e840e) on our blog. Here are the Chainlink oracles we are currently using for stablecoin pricing: + +{% embed url="https://data.chain.link/usdt-usd" %} + +{% embed url="https://data.chain.link/usdc-usd" %} + +{% embed url="https://data.chain.link/dai-usd" %} + +### Reward Token Oracles & Front Running Protection + +When reward tokens from OUSD strategies are sold for additional yield, Chainlink oracles are checked to ensure that the sale price slippage has not exceeded normal bounds. These oracles are listed on our [registry](../smart-contracts/registry.md) page under the "Oracles" tab. + +The same is also true for OGN buybacks from OUSD yield.\ \ When minting and redeeming OUSD, a miniumun required amount can be passed into the contract call to ensure that the entire transaction fails if not enough OUSD or stablecoins would be returned to the user due to changing prices. diff --git a/fr/core-concepts/price-oracles/README.md b/fr/core-concepts/price-oracles/README.md new file mode 100644 index 000000000..58ed68ed4 --- /dev/null +++ b/fr/core-concepts/price-oracles/README.md @@ -0,0 +1,126 @@ +# Price Oracles + +OUSD is designed to stay pegged at 1 USD and be 1:1 backed with its underlying stablecoins. This is trickier than it sounds because these underlying stablecoins are constantly deviating from their own desired 1 USD pegs. While the majority of daily fluctuations are minor, there have been major swings in price that have occurred in the past and are likely to occur again in the future. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CoinLow + High + Delta + Source +
USDC +

$0.929222

+

Mar 13, 2020

+
+

$1.11

+

Oct 15, 2018

+
$0.180778CoinMarketCap +
USDC +

$0.924188

+

Aug 02, 2020

+
+

$1.17

+

May 08, 2019

+
$0.245812CoinGecko +
DAI +

$0.945505

+

May 10, 2020

+
+

$1.11

+

Mar 13, 2020

+
$0.164495CoinMarketCap +
DAI +

$0.903243

+

Nov 25, 2019

+
+

$1.22

+

Mar 13, 2020

+
$0.316757CoinGecko +
USDT +

$0.849809

+

Feb 02, 2017

+
+

$1.21

+

May 27, 2017

+
$0.360191CoinGecko +
USDT +

$0.572521

+

Mar 02, 2015

+
+

$1.32

+

Jul 24, 2018

+
$0.747479CoinMarketCap +
+ +The rebasing function treats 1 stablecoin as 1 OUSD for simplicity and to protect OUSD balances from being affected by the daily fluctuations in the price of the underlying stablecoins. Since the rebase function only counts coins, OUSD balances should only increase. + +In order to mint and redeem the appropriate number of OUSD on entry and exit, the smart contracts need to accurately price the USDT, USDC, and DAI that is entering and exiting the system. As a decentralized protocol, OUSD must rely on non-centralized sources for these prices. + +{% hint style="info" %} +OUSD fetches the price from multiple on-chain oracles and uses the exchange rate that is most advantageous for the vault when minting or redeeming. +{% endhint %} + +In order to prevent malicious attacks and to encourage long-term investors over short-term speculators, the OUSD contract compares price feeds from multiple sources and will use whichever exchange rate benefits the entire vault over the individual. This mechanism protects the vault funds from arbitrageurs and prevents any individual from being able to take advantage of any temporary inefficiencies caused by mispriced oracles to deplete the shared pool of assets. + +This protects the funds in the vault while rewarding long-term holders. Since the safest price depends on the direction of the trade, the Origin oracle exposes both a `priceUSDMint()` and a `priceUSDRedeem()`. + +OUSD uses Chainlink as oracle for DAI, USDC and USDT. + +{% embed url="https://feeds.chain.link/eth-usd" caption="" %} + +The specific smart contract address for each oracle being used are listed on our [registry](../../smart-contracts/registry.md) page. + +It is possible that additional oracles will be added to the protocol over time. Support may also be removed if any of these oracles become unreliable. + diff --git a/fr/core-concepts/price-oracles/untitled.md b/fr/core-concepts/price-oracles/untitled.md new file mode 100644 index 000000000..7a413944b --- /dev/null +++ b/fr/core-concepts/price-oracles/untitled.md @@ -0,0 +1,25 @@ +# Untitled + +## Getting Super Powers + +Becoming a super hero is a fairly straight forward process: + +``` +$ give me super-powers +``` + +{% hint style="info" %} + Super-powers are granted randomly so please submit an issue if you're not happy with yours. +{% endhint %} + +Once you're strong enough, save the world: + +{% code title="hello.sh" %} +```bash +# Ain't no code for that yet, sorry +echo 'You got to trust me on this, I saved the world' +``` +{% endcode %} + + + diff --git a/fr/core-concepts/supported-assets/README.md b/fr/core-concepts/supported-assets/README.md new file mode 100644 index 000000000..56390ccf6 --- /dev/null +++ b/fr/core-concepts/supported-assets/README.md @@ -0,0 +1,20 @@ +# Supported Stablecoins + +**Supported Stablecoins** + +It is important to understand that OUSD is only as strong as the stablecoins that are backing it. Any loss to the underlying assets will cause a similar loss to the value of OUSD. + +Currently, OUSD supports the following stablecoins: + +{% page-ref page="usdt.md" %} + +{% page-ref page="usdc.md" %} + +{% page-ref page="dai.md" %} + +None of these stablecoins are perfect, but we selected them because of their widespread usage. While these stablecoins have lost their USD peg on multiple occasions, they have demonstrated resiliency in eventually getting back to their 1 USD targets. + +It is important to note that all these stablecoins introduce non-trivial counter-party risk. Tether, in particular, has had well-documented banking troubles and regulatory challenges. In addition, both USDT and USDC have backdoors that grant their issuers the power to freeze money in their holder's wallets. While DAI does not have any direct backdoors, it's assets can also be negatively impacted since USDC is accepted as collateral for minting DAI. + +Despite these concerns, there are already billions of dollars betting on the security of these stablecoins. It is possible that additional stablecoins will be added to the protocol over time. Support may also be removed if any of these stablecoins prove to be too unreliable or put OUSD holders funds in jeopardy. + diff --git a/fr/core-concepts/supported-assets/dai.md b/fr/core-concepts/supported-assets/dai.md new file mode 100644 index 000000000..4be5c3788 --- /dev/null +++ b/fr/core-concepts/supported-assets/dai.md @@ -0,0 +1,20 @@ +# DAI + +![](../../.gitbook/assets/dai.png) + +Dai is a fiat-pegged stablecoin launched as a ERC-20 token on the Ethereum blockchain in December 2017. A major upgrade from single-collateral Dai \(SAI\) to multi-collateral Dai \(DAI\) was completed in November 2019. Dai is pegged to the US dollar. + +Dai is minted by users locking up crypto assets such as ETH or USDC as collateral in a collateralized debt position \(CDP\) called a vault. Previously, only ETH was accepted as collateral. The reserves and status of each vault can be viewed on the blockchain in real-time. The health of these vaults and the Dai stablecoin are closely monitored. + +Dai is the world's third-largest stablecoin with over $400 million in circulation. In addition, cDAI and aDAI, synthetic versions of Dai on the lending platforms Compound and Aave, combine for over $600 million in circulation. + +| Key Facts | | +|:------------- |:------------------------------------------------------------------------------------------------------------------- | +| Issued by | MakerDAO | +| Name | Dai | +| Symbol | DAI | +| Address | [0x6b175474e89094c44da98b954eedeac495271d0f](https://etherscan.io/token/0x6b175474e89094c44da98b954eedeac495271d0f) | +| Decimals | 18 | +| Official site | [https://makerdao.com/](https://makerdao.com/) | +| Holders | Over 140k addresses | + diff --git a/fr/core-concepts/supported-assets/usdc.md b/fr/core-concepts/supported-assets/usdc.md new file mode 100644 index 000000000..2647d7c83 --- /dev/null +++ b/fr/core-concepts/supported-assets/usdc.md @@ -0,0 +1,22 @@ +# USDC + +![](../../.gitbook/assets/usdc-coin-bd351fb779%20%281%29.png) + +USD Coin \(USDC\) is a fiat-pegged stablecoin launched as a ERC-20 token on the Ethereum blockchain in October 2018. USDC is pegged to the US dollar and can easily be redeemed for US dollars. + +Each USDC is backed by a 1:1 ratio with the equivalent amount of fiat currency held in custodial accounts by members of Centre, a consortium founded by Circle and Coinbase. Members of Centre are regulated financial institutions based in the US. Monthly audits of reserves are published by Grant Thornton LLP. + +USDC is the world's second-largest stablecoin after USDT and has quickly grown to over $1 billion in circulation. However, USDC remains far behind USDT's $12+ billion in circulation. + +| Key Facts | | +|:------------- |:------------------------------------------------------------------------------------------------------------------- | +| Issued by | Centre | +| Name | USD Coin | +| Symbol | USDC | +| Address | [0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48](https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48) | +| Decimals | 6 | +| Official site | [https://www.centre.io/usdc](https://www.centre.io/usdc) | +| Holders | Over 200k addresses | + + + diff --git a/fr/core-concepts/supported-assets/usdt.md b/fr/core-concepts/supported-assets/usdt.md new file mode 100644 index 000000000..4ae2afe89 --- /dev/null +++ b/fr/core-concepts/supported-assets/usdt.md @@ -0,0 +1,22 @@ +# USDT + +![](../../.gitbook/assets/image%20%281%29.png) + +Tether \(USDT\) is a fiat-pegged stablecoin that was initially built on top of Bitcoin via the Omni Layer Protocol. In September 2017, Tether announced they would be launching additional ERC-20 tokens for United States dollars on the Ethereum blockchain. + +Each Tether issued into circulation is said to be backed by a one-to-one ratio with the equivalent amount of fiat currency held in a custodial account by Tether Limited, a Hong Kong-based company with close ties to the cryptocurrency exchange, Bitfinex. + +Despite the controversy ****around ****the company's failure to provide a promised audit showing adequate reserves backing tether, USDT is still the world's largest stablecoin by market cap and currently the fourth-largest cryptocurrency after BTC, ETH and XRP. + +| Key Facts | | +|:------------- |:---------------------------------------------------------------------------------------------------------------- | +| Issued by | Tether Limited | +| Name | Tether | +| Symbol | USDT | +| Address | [0xdac17f958d2ee523a2206206994597c13d831](https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7) | +| Decimals | 6 | +| Official site | [https://tether.to/ ](https://tether.to/%20) | +| Holders | Over 1.8M addresses | + + + diff --git a/fr/core-concepts/supported-defi-platforms/README.md b/fr/core-concepts/supported-defi-platforms/README.md new file mode 100644 index 000000000..50ee37b6c --- /dev/null +++ b/fr/core-concepts/supported-defi-platforms/README.md @@ -0,0 +1,30 @@ +# Supported DeFi Platforms + +**Supported Platforms** + +OUSD generates yield by depositing stablecoins into lending platforms and market maker liquidity pools. It is important to understand that these platforms do carry technological risk and funds can be lost if there is a major security event. We are choosing to work with the platforms that have had their smart contracts audited and that we feel are most secure. + +Currently, we plan to earn yields from the following platforms: + +{% page-ref page="compound.md" %} + +Integrations are currently planned for the following platforms: + +{% page-ref page="aave.md" %} + +{% page-ref page="dydx.md" %} + +{% page-ref page="uniswap.md" %} + +{% page-ref page="curve.md" %} + +{% page-ref page="balancer.md" %} + +{% page-ref page="yearn.finance.md" %} + +Although DeFi has grown very quickly and there are now billions of dollars worth of value deposited on these platforms, several of these projects are still in beta and are highly experimental. There may be hidden vulnerabilities in the smart contracts that power these platforms, and there have been multi-million dollar losses caused by vulnerabilities in Ethereum applications in the past. + +We closely monitor security events on the platforms we support and will immediately move to secure OUSD holder funds if we identify any threats. + + + diff --git a/fr/core-concepts/supported-defi-platforms/aave.md b/fr/core-concepts/supported-defi-platforms/aave.md new file mode 100644 index 000000000..df02edab3 --- /dev/null +++ b/fr/core-concepts/supported-defi-platforms/aave.md @@ -0,0 +1,25 @@ +# Aave + +{% hint style="info" %} +Coming soon. Aave has not yet been integrated. +{% endhint %} + +Aave is a lending protocol and platform built on Ethereum and launched in January 2020 by the creators of ETHLend. Users on Aave can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and users can choose between a variable interest rate based on supply and demand or a fixed interest rate. + +Collateral balances are represented by ERC-20 aTokens at a 1:1 ratio to the underlying assets they represent. Interest is compounded automatically and paid to lenders with aTokens, meaning lenders will steadily see their aToken balance increase over time. Users can borrow assets against their aTokens. aTokens are freely transferable and can be used on many other DeFi protocols. aTokens can be redeemed for their underlying collateral at any time. + +Aave supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +Aave is currently governed by LEND, an ERC-20 token that was formerly the utility token for ETHLend. Aave has announced a transition to fully decentralized governance that includes a token swap where users exchange LEND for AAVE, a new ERC-20 governance token with staking rewards. Some AAVE will be distributed to users of the platform in a liquidity mining campaign. + +Aave's total value locked \(TVL\) has quickly grown to over $1.2 billion, making it one of the largest DeFi protocols. LEND has a circulating market cap of over $700 million. + +Aave has undergone security audits by OpenZeppelin, Trail of Bits, and Consensys Diligence. Aave maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------------ | +| Official site | [https://aave.com/](https://aave.com/) | +| Developer docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/aave/aave-protocol](https://github.com/aave/aave-protocol) | +| Discord | [https://discordapp.com/invite/AnSqnvV](https://discordapp.com/invite/AnSqnvV) | + diff --git a/fr/core-concepts/supported-defi-platforms/balancer.md b/fr/core-concepts/supported-defi-platforms/balancer.md new file mode 100644 index 000000000..f8d9e3c0a --- /dev/null +++ b/fr/core-concepts/supported-defi-platforms/balancer.md @@ -0,0 +1,27 @@ +# Balancer + +{% hint style="info" %} +Coming soon. Balancer has not yet been integrated. +{% endhint %} + +Balancer is a decentralized liquidity protocol and exchange on Ethereum, launched in March 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Balancer is an Automated Market Maker \(AMM\) that allows for liquidity pools of up to 8 different assets with custom weights. Liquidity pools on Balancer can be thought of as similar to Exchange Traded Funds \(ETFs\) or portfolios with weight targets for specific assets. If trading causes the pool to shift from its target weight distribution, exchange rates between assets in the pool change. Arbitrageurs can execute trades to take advantage of this and act to rebalance the pool back to its target weight distribution. Liquidity can also be shared across pools, unlike other AMMs. + +Balancer supports private pools, where only the owner of the pool can contribute liquidity, shared pools, which are completely public, and smart pools, which are shared pools controlled by a smart contract that can implement automated rules and logic. Liquidity providers are given Balancer Pool Tokens \(BPTs\) that represent their share of a given pool and fees. These tokens are freely transferable and can be redeemed for the assets provided and accrued fees. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Balancer pools. + +Balancer is governed by BAL, an ERC-20 governance token. BAL holders can vote on protocol changes. BAL is continuously awarded to liquidity providers and a large portion of the total supply of BAL was allocated to the team and investors on a continuous vesting schedule. + +Trading volumes on Balancer are often over $25 million daily. Balancer has a Total Value Locked \(TVL\) of over $250 million by liquidity providers at the time of writing. + +Balancer has undergone a security audit by Trail of Bits and has a bug bounty program. However, Balancer has suffered a major exploit in June 2020. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://balancer.finance/](https://balancer.finance/) | +| Developer docs | [https://docs.balancer.finance/](https://docs.balancer.finance/) | +| GitHub | [https://github.com/balancer-labs](https://github.com/balancer-labs) | +| Discord | [https://discord.gg/ARJWaeF](https://discord.gg/ARJWaeF) | + diff --git a/fr/core-concepts/supported-defi-platforms/compound.md b/fr/core-concepts/supported-defi-platforms/compound.md new file mode 100644 index 000000000..a4d2660a1 --- /dev/null +++ b/fr/core-concepts/supported-defi-platforms/compound.md @@ -0,0 +1,19 @@ +# Compound + +Compound is a lending protocol and platform built on Ethereum and launched in September 2018. Users can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and interest rates are adjusted automatically based on supply and demand. + +Collateral balances are represented by ERC-20 cTokens, which automatically accrue interest and increase in value over time relative to the underlying asset they represent. Users can borrow assets against the value of their cTokens. cTokens are freely transferable and can be used on many other DeFi protocols. cTokens can be redeemed for their underlying collateral at any time. + +Compound is governed by COMP, an ERC-20 governance token. COMP holders can propose and vote on protocol changes or delegate their votes to someone else. COMP tokens are awarded pro rata to users of the protocol daily, split equally between borrowers and lenders. A large portion of the COMP token supply was retained by the Compound team, investors, and advisors. + +Compound's total value locked \(TVL\) has quickly grown to nearly $800 million, making it one of the largest DeFi protocols. COMP has a circulating market cap of over $500 million. + +Compound has undergone multiple security audits by OpenZeppelin and Trail of Bits. The Compound protocol was formally verified by CertiK and has undergone economic stress testing by Gauntlet. Compound maintains a bug bounty program. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------------------------------------------------- | +| Official site | [https://compound.finance/](https://compound.finance/) | +| Developer docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/compound-finance/compound-protocol](https://github.com/compound-finance/compound-protocol) | +| Discord | [https://discord.com/invite/cU7vmVW](https://discord.com/invite/cU7vmVW) | + diff --git a/fr/core-concepts/supported-defi-platforms/curve.md b/fr/core-concepts/supported-defi-platforms/curve.md new file mode 100644 index 000000000..021d0041b --- /dev/null +++ b/fr/core-concepts/supported-defi-platforms/curve.md @@ -0,0 +1,25 @@ +# Curve + +{% hint style="info" %} +Coming soon. Curve has not yet been integrated. +{% endhint %} + +Curve is a decentralized liquidity protocol and exchange on Ethereum for stablecoins and wrapped BTC, launched in January 2020. Users can swap between popular ERC-20 stablecoins or between ERC-20 representations of bitcoin. Liquidity providers facilitate trading and earn fees. + +Curve is an Automated Market Maker \(AMM\) where each market has an associated liquidity pool with two or more assets that should have the same value, like USDT, USDC, DAI and TUSD, which are all US dollar pegged stablecoins. The exchange rate between each stablecoin and their relative weights are determined by an algorithm based on supply and demand. Arbitrageurs act to normalize these exchange rates. + +Some of Curve's liquidity pools earn extra fees for liquidity providers on top of the exchange fees from traders. Curve offers stablecoin pools integrated with Compound, yearn.finance, and Synthetix. The assets in each liquidity pool are provided to those platforms to generate additional yield which is passed on to each pool's liquidity providers. Liquidity Provider \(LP\) tokens are given to pool participants and can be redeemed for their initial liquidity supplied plus accrued fees and yield. LP tokens can also transferred for use in other protocols. + +Curve is governed by CRV, an ERC-20 governance token. CRV holders can vote on protocol changes. CRV holders can stake their tokens for additional voting power proportional to time staked. CRV is continuously awarded to liquidity providers and a large portion of the total supply of CRV was allocated to the team and investors on a continuous vesting schedule. + +Trading volumes on Curve are often over $50 million daily. Curve has a Total Value Locked \(TVL\) of over $1 billion by liquidity providers at the time of writing. + +Curve has undergone two audits by Trail of Bits and maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------ | +| Official site | [https://uniswap.org/](https://uniswap.org/) | +| Developer docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/fr/core-concepts/supported-defi-platforms/dydx.md b/fr/core-concepts/supported-defi-platforms/dydx.md new file mode 100644 index 000000000..24f1a895e --- /dev/null +++ b/fr/core-concepts/supported-defi-platforms/dydx.md @@ -0,0 +1,27 @@ +# dYdX + +{% hint style="info" %} +Coming soon. DyDx has not yet been integrated. +{% endhint %} + +dYdX is a trading and lending protocol and platform built on Ethereum and launched in May 2019. Users can trade assets on dYdX's non-custodial, decentralized exchange or participate in borrowing and lending. The lending protocol enables margin and futures trading. Interest rates are adjusted based on supply and demand and only short term loans are offered. + +Liquidity for assets available for borrowing and lending are pooled together by asset type. Interest paid to lenders is accrued automatically and borrowers must put up collateral to take out a loan. + +dYdX also supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +dYdX has around $40 million in total value locked \(TVL\) at the time of this writing. dYdX does not have a native token. + +dYdX has undergone security audits by OpenZeppelin and Bramah Systems. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://dydx.exchange/](https://dydx.exchange/) | +| Developer docs | [https://docs.dydx.exchange/](https://docs.dydx.exchange/) | +| GitHub | [https://github.com/dydxprotocol/](https://github.com/dydxprotocol/) | +| Discord | [https://discord.gg/yah42Rb](https://discord.gg/yah42Rb) | + + + + + diff --git a/fr/core-concepts/supported-defi-platforms/uniswap.md b/fr/core-concepts/supported-defi-platforms/uniswap.md new file mode 100644 index 000000000..012e25e93 --- /dev/null +++ b/fr/core-concepts/supported-defi-platforms/uniswap.md @@ -0,0 +1,27 @@ +# Uniswap + +{% hint style="info" %} +Coming soon. Uniswap has not yet been integrated. +{% endhint %} + +Uniswap is a decentralized liquidity protocol and exchange on Ethereum, launched in November 2018. Uniswap v2 launched in May 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Markets on Uniswap operate as liquidity pools rather than order books. This type of exchange is called an Automated Market Maker \(AMM\). The exchange rate between the two assets is determined by a constant product formula and moves along a price curve depending on the relative weight of each asset in the pool. This encourages arbitrageurs to enter liquidity pools to rebalance the relative weights and normalize the exchange rate. + +Traders can suffer from slippage if there is not enough liquidity in a given pool and may not be protected from unfavorable exchange rates. Liquidity providers may suffer impermanent loss when the pool exchange rate does not match market realities and arbitrageurs execute trades along the pricing curve. + +Pool participants are given Uniswap Liquidity Provider \(LP\) tokens that correspond to their share of liquidity provided in a given pool. These LP tokens are freely transferable. Participants can exit pools at any time by redeeming these tokens for the assets provided and fees accrued. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Uniswap pools. + +Trading volumes on Uniswap now eclipse that of many traditional exchanges and regularly surpass $200 million daily. Uniswap has over $170 million in Total Value Locked \(TVL\) by liquidity providers. Uniswap does not have a native platform or governance token. + +Uniswap has had its smart contracts audited and formally verfied by dapp.org. Uniswap maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------ | +| Official site | [https://uniswap.org/](https://uniswap.org/) | +| Developer docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/fr/core-concepts/supported-defi-platforms/yearn.finance.md b/fr/core-concepts/supported-defi-platforms/yearn.finance.md new file mode 100644 index 000000000..3f23b9fdb --- /dev/null +++ b/fr/core-concepts/supported-defi-platforms/yearn.finance.md @@ -0,0 +1,25 @@ +# Yearn.finance + +{% hint style="info" %} +Coming soon. Yearn.finance has not yet been integrated. +{% endhint %} + +Yearn.finance, formerly iEarn.finance, is a yield aggregation platform built on Ethereum and launched in January 2020 by Andre Cronje. Yearn manages yield farming and rebalancing strategies using a combination of automation and human decision making on behalf of users who have deposited capital. + +Yearn has two yield aggregation products, Earn and Vaults. Earn allows users to deposit stablecoins or wrapped BTC into liquidity pools on Curve to earn fees and governance token rewards. These assets are also lent out on platforms offering high yield and token rewards, adding to the yield earned. + +Vaults offer a more automated and managed experience. Users deposit assets such as LINK, Curve liquidity provider tokens, or stablecoins and the Vault pools these assets together and deploys the highest earning yield farming strategy as deemed safe by the community and Andre Cronje. Governance tokens earned as rewards are sold off for the original asset deposited and combined with other fees and automatically rolled into the Vault to compound yield. Strategies can be changed frequently and pooling assets together saves gas costs for users. + +Yearn is governed by YFI, an ERC-20 governance token. YFI holders can vote on protocol changes after agreeing to lock up their YFI for 3 days. YFI can also be staked for yield in the governance portal. This yield comes from fees charged to users on Yearn products. YFI was distributed entirely to liquidity providers on Curve and Balancer. There was no allocation for team members or investors. + +Yearn's total value locked \(TVL\) has quickly grown to over $800 million, making it one of the largest DeFi platforms. YFI has a circulating market cap of over $400 million. + +Yearn has undergone multiple security and smart contract audits by CertiK, Quantstamp, HackMD, and CryptoManiacs. Yearn has a reputation for launching experimental products very quickly and warns users that their products are in beta. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://yearn.finance/](https://yearn.finance/) | +| Developer docs | [https://docs.yearn.finance/](https://docs.yearn.finance/) | +| GitHub | [https://github.com/iearn-finance](https://github.com/iearn-finance) | +| Discord | [https://discord.gg/uTmHe8r](https://discord.gg/uTmHe8r) | + diff --git a/fr/core-concepts/supported-platforms/README.md b/fr/core-concepts/supported-platforms/README.md new file mode 100644 index 000000000..aa4b89181 --- /dev/null +++ b/fr/core-concepts/supported-platforms/README.md @@ -0,0 +1,32 @@ +# Supported Platforms + +**Supported Platforms** + +OUSD generates yield by depositing stablecoins into lending platforms and market maker liquidity pools. It is important to understand that these platforms do carry technological risk and funds can be lost if there is a major security event. We are choosing to work with the platforms that have had their smart contracts audited and that we feel are most secure. + +Currently, we plan to earn yields from the following platforms: + +{% page-ref page="compound.md" %} + +Integrations are currently planned for the following platforms: + +{% page-ref page="yearn.finance.md" %} + +{% page-ref page="compound.md" %} + +{% page-ref page="aave.md" %} + +{% page-ref page="dydx.md" %} + +{% page-ref page="uniswap.md" %} + +{% page-ref page="curve.md" %} + +{% page-ref page="balancer.md" %} + +Although DeFi has grown very quickly and there are now billions of dollars worth of value deposited on these platforms, several of these projects are still in beta and are highly experimental. There may be hidden vulnerabilities in the smart contracts that power these platforms, and there have been multi-million dollar losses caused by vulnerabilities in Ethereum applications in the past. + +We closely monitor security events on the platforms we support and will immediately move to secure OUSD holder funds if we identify any threats. + + + diff --git a/fr/core-concepts/supported-platforms/aave.md b/fr/core-concepts/supported-platforms/aave.md new file mode 100644 index 000000000..df02edab3 --- /dev/null +++ b/fr/core-concepts/supported-platforms/aave.md @@ -0,0 +1,25 @@ +# Aave + +{% hint style="info" %} +Coming soon. Aave has not yet been integrated. +{% endhint %} + +Aave is a lending protocol and platform built on Ethereum and launched in January 2020 by the creators of ETHLend. Users on Aave can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and users can choose between a variable interest rate based on supply and demand or a fixed interest rate. + +Collateral balances are represented by ERC-20 aTokens at a 1:1 ratio to the underlying assets they represent. Interest is compounded automatically and paid to lenders with aTokens, meaning lenders will steadily see their aToken balance increase over time. Users can borrow assets against their aTokens. aTokens are freely transferable and can be used on many other DeFi protocols. aTokens can be redeemed for their underlying collateral at any time. + +Aave supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +Aave is currently governed by LEND, an ERC-20 token that was formerly the utility token for ETHLend. Aave has announced a transition to fully decentralized governance that includes a token swap where users exchange LEND for AAVE, a new ERC-20 governance token with staking rewards. Some AAVE will be distributed to users of the platform in a liquidity mining campaign. + +Aave's total value locked \(TVL\) has quickly grown to over $1.2 billion, making it one of the largest DeFi protocols. LEND has a circulating market cap of over $700 million. + +Aave has undergone security audits by OpenZeppelin, Trail of Bits, and Consensys Diligence. Aave maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------------ | +| Official site | [https://aave.com/](https://aave.com/) | +| Developer docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/aave/aave-protocol](https://github.com/aave/aave-protocol) | +| Discord | [https://discordapp.com/invite/AnSqnvV](https://discordapp.com/invite/AnSqnvV) | + diff --git a/fr/core-concepts/supported-platforms/balancer.md b/fr/core-concepts/supported-platforms/balancer.md new file mode 100644 index 000000000..f8d9e3c0a --- /dev/null +++ b/fr/core-concepts/supported-platforms/balancer.md @@ -0,0 +1,27 @@ +# Balancer + +{% hint style="info" %} +Coming soon. Balancer has not yet been integrated. +{% endhint %} + +Balancer is a decentralized liquidity protocol and exchange on Ethereum, launched in March 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Balancer is an Automated Market Maker \(AMM\) that allows for liquidity pools of up to 8 different assets with custom weights. Liquidity pools on Balancer can be thought of as similar to Exchange Traded Funds \(ETFs\) or portfolios with weight targets for specific assets. If trading causes the pool to shift from its target weight distribution, exchange rates between assets in the pool change. Arbitrageurs can execute trades to take advantage of this and act to rebalance the pool back to its target weight distribution. Liquidity can also be shared across pools, unlike other AMMs. + +Balancer supports private pools, where only the owner of the pool can contribute liquidity, shared pools, which are completely public, and smart pools, which are shared pools controlled by a smart contract that can implement automated rules and logic. Liquidity providers are given Balancer Pool Tokens \(BPTs\) that represent their share of a given pool and fees. These tokens are freely transferable and can be redeemed for the assets provided and accrued fees. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Balancer pools. + +Balancer is governed by BAL, an ERC-20 governance token. BAL holders can vote on protocol changes. BAL is continuously awarded to liquidity providers and a large portion of the total supply of BAL was allocated to the team and investors on a continuous vesting schedule. + +Trading volumes on Balancer are often over $25 million daily. Balancer has a Total Value Locked \(TVL\) of over $250 million by liquidity providers at the time of writing. + +Balancer has undergone a security audit by Trail of Bits and has a bug bounty program. However, Balancer has suffered a major exploit in June 2020. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://balancer.finance/](https://balancer.finance/) | +| Developer docs | [https://docs.balancer.finance/](https://docs.balancer.finance/) | +| GitHub | [https://github.com/balancer-labs](https://github.com/balancer-labs) | +| Discord | [https://discord.gg/ARJWaeF](https://discord.gg/ARJWaeF) | + diff --git a/fr/core-concepts/supported-platforms/compound.md b/fr/core-concepts/supported-platforms/compound.md new file mode 100644 index 000000000..a4d2660a1 --- /dev/null +++ b/fr/core-concepts/supported-platforms/compound.md @@ -0,0 +1,19 @@ +# Compound + +Compound is a lending protocol and platform built on Ethereum and launched in September 2018. Users can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and interest rates are adjusted automatically based on supply and demand. + +Collateral balances are represented by ERC-20 cTokens, which automatically accrue interest and increase in value over time relative to the underlying asset they represent. Users can borrow assets against the value of their cTokens. cTokens are freely transferable and can be used on many other DeFi protocols. cTokens can be redeemed for their underlying collateral at any time. + +Compound is governed by COMP, an ERC-20 governance token. COMP holders can propose and vote on protocol changes or delegate their votes to someone else. COMP tokens are awarded pro rata to users of the protocol daily, split equally between borrowers and lenders. A large portion of the COMP token supply was retained by the Compound team, investors, and advisors. + +Compound's total value locked \(TVL\) has quickly grown to nearly $800 million, making it one of the largest DeFi protocols. COMP has a circulating market cap of over $500 million. + +Compound has undergone multiple security audits by OpenZeppelin and Trail of Bits. The Compound protocol was formally verified by CertiK and has undergone economic stress testing by Gauntlet. Compound maintains a bug bounty program. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------------------------------------------------- | +| Official site | [https://compound.finance/](https://compound.finance/) | +| Developer docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/compound-finance/compound-protocol](https://github.com/compound-finance/compound-protocol) | +| Discord | [https://discord.com/invite/cU7vmVW](https://discord.com/invite/cU7vmVW) | + diff --git a/fr/core-concepts/supported-platforms/curve.md b/fr/core-concepts/supported-platforms/curve.md new file mode 100644 index 000000000..021d0041b --- /dev/null +++ b/fr/core-concepts/supported-platforms/curve.md @@ -0,0 +1,25 @@ +# Curve + +{% hint style="info" %} +Coming soon. Curve has not yet been integrated. +{% endhint %} + +Curve is a decentralized liquidity protocol and exchange on Ethereum for stablecoins and wrapped BTC, launched in January 2020. Users can swap between popular ERC-20 stablecoins or between ERC-20 representations of bitcoin. Liquidity providers facilitate trading and earn fees. + +Curve is an Automated Market Maker \(AMM\) where each market has an associated liquidity pool with two or more assets that should have the same value, like USDT, USDC, DAI and TUSD, which are all US dollar pegged stablecoins. The exchange rate between each stablecoin and their relative weights are determined by an algorithm based on supply and demand. Arbitrageurs act to normalize these exchange rates. + +Some of Curve's liquidity pools earn extra fees for liquidity providers on top of the exchange fees from traders. Curve offers stablecoin pools integrated with Compound, yearn.finance, and Synthetix. The assets in each liquidity pool are provided to those platforms to generate additional yield which is passed on to each pool's liquidity providers. Liquidity Provider \(LP\) tokens are given to pool participants and can be redeemed for their initial liquidity supplied plus accrued fees and yield. LP tokens can also transferred for use in other protocols. + +Curve is governed by CRV, an ERC-20 governance token. CRV holders can vote on protocol changes. CRV holders can stake their tokens for additional voting power proportional to time staked. CRV is continuously awarded to liquidity providers and a large portion of the total supply of CRV was allocated to the team and investors on a continuous vesting schedule. + +Trading volumes on Curve are often over $50 million daily. Curve has a Total Value Locked \(TVL\) of over $1 billion by liquidity providers at the time of writing. + +Curve has undergone two audits by Trail of Bits and maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------ | +| Official site | [https://uniswap.org/](https://uniswap.org/) | +| Developer docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/fr/core-concepts/supported-platforms/dydx.md b/fr/core-concepts/supported-platforms/dydx.md new file mode 100644 index 000000000..24f1a895e --- /dev/null +++ b/fr/core-concepts/supported-platforms/dydx.md @@ -0,0 +1,27 @@ +# dYdX + +{% hint style="info" %} +Coming soon. DyDx has not yet been integrated. +{% endhint %} + +dYdX is a trading and lending protocol and platform built on Ethereum and launched in May 2019. Users can trade assets on dYdX's non-custodial, decentralized exchange or participate in borrowing and lending. The lending protocol enables margin and futures trading. Interest rates are adjusted based on supply and demand and only short term loans are offered. + +Liquidity for assets available for borrowing and lending are pooled together by asset type. Interest paid to lenders is accrued automatically and borrowers must put up collateral to take out a loan. + +dYdX also supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +dYdX has around $40 million in total value locked \(TVL\) at the time of this writing. dYdX does not have a native token. + +dYdX has undergone security audits by OpenZeppelin and Bramah Systems. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://dydx.exchange/](https://dydx.exchange/) | +| Developer docs | [https://docs.dydx.exchange/](https://docs.dydx.exchange/) | +| GitHub | [https://github.com/dydxprotocol/](https://github.com/dydxprotocol/) | +| Discord | [https://discord.gg/yah42Rb](https://discord.gg/yah42Rb) | + + + + + diff --git a/fr/core-concepts/supported-platforms/uniswap.md b/fr/core-concepts/supported-platforms/uniswap.md new file mode 100644 index 000000000..012e25e93 --- /dev/null +++ b/fr/core-concepts/supported-platforms/uniswap.md @@ -0,0 +1,27 @@ +# Uniswap + +{% hint style="info" %} +Coming soon. Uniswap has not yet been integrated. +{% endhint %} + +Uniswap is a decentralized liquidity protocol and exchange on Ethereum, launched in November 2018. Uniswap v2 launched in May 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Markets on Uniswap operate as liquidity pools rather than order books. This type of exchange is called an Automated Market Maker \(AMM\). The exchange rate between the two assets is determined by a constant product formula and moves along a price curve depending on the relative weight of each asset in the pool. This encourages arbitrageurs to enter liquidity pools to rebalance the relative weights and normalize the exchange rate. + +Traders can suffer from slippage if there is not enough liquidity in a given pool and may not be protected from unfavorable exchange rates. Liquidity providers may suffer impermanent loss when the pool exchange rate does not match market realities and arbitrageurs execute trades along the pricing curve. + +Pool participants are given Uniswap Liquidity Provider \(LP\) tokens that correspond to their share of liquidity provided in a given pool. These LP tokens are freely transferable. Participants can exit pools at any time by redeeming these tokens for the assets provided and fees accrued. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Uniswap pools. + +Trading volumes on Uniswap now eclipse that of many traditional exchanges and regularly surpass $200 million daily. Uniswap has over $170 million in Total Value Locked \(TVL\) by liquidity providers. Uniswap does not have a native platform or governance token. + +Uniswap has had its smart contracts audited and formally verfied by dapp.org. Uniswap maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------ | +| Official site | [https://uniswap.org/](https://uniswap.org/) | +| Developer docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/fr/core-concepts/supported-platforms/yearn.finance.md b/fr/core-concepts/supported-platforms/yearn.finance.md new file mode 100644 index 000000000..3f23b9fdb --- /dev/null +++ b/fr/core-concepts/supported-platforms/yearn.finance.md @@ -0,0 +1,25 @@ +# Yearn.finance + +{% hint style="info" %} +Coming soon. Yearn.finance has not yet been integrated. +{% endhint %} + +Yearn.finance, formerly iEarn.finance, is a yield aggregation platform built on Ethereum and launched in January 2020 by Andre Cronje. Yearn manages yield farming and rebalancing strategies using a combination of automation and human decision making on behalf of users who have deposited capital. + +Yearn has two yield aggregation products, Earn and Vaults. Earn allows users to deposit stablecoins or wrapped BTC into liquidity pools on Curve to earn fees and governance token rewards. These assets are also lent out on platforms offering high yield and token rewards, adding to the yield earned. + +Vaults offer a more automated and managed experience. Users deposit assets such as LINK, Curve liquidity provider tokens, or stablecoins and the Vault pools these assets together and deploys the highest earning yield farming strategy as deemed safe by the community and Andre Cronje. Governance tokens earned as rewards are sold off for the original asset deposited and combined with other fees and automatically rolled into the Vault to compound yield. Strategies can be changed frequently and pooling assets together saves gas costs for users. + +Yearn is governed by YFI, an ERC-20 governance token. YFI holders can vote on protocol changes after agreeing to lock up their YFI for 3 days. YFI can also be staked for yield in the governance portal. This yield comes from fees charged to users on Yearn products. YFI was distributed entirely to liquidity providers on Curve and Balancer. There was no allocation for team members or investors. + +Yearn's total value locked \(TVL\) has quickly grown to over $800 million, making it one of the largest DeFi platforms. YFI has a circulating market cap of over $400 million. + +Yearn has undergone multiple security and smart contract audits by CertiK, Quantstamp, HackMD, and CryptoManiacs. Yearn has a reputation for launching experimental products very quickly and warns users that their products are in beta. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://yearn.finance/](https://yearn.finance/) | +| Developer docs | [https://docs.yearn.finance/](https://docs.yearn.finance/) | +| GitHub | [https://github.com/iearn-finance](https://github.com/iearn-finance) | +| Discord | [https://discord.gg/uTmHe8r](https://discord.gg/uTmHe8r) | + diff --git a/fr/core-concepts/supported-stablecoins/README.md b/fr/core-concepts/supported-stablecoins/README.md new file mode 100644 index 000000000..1c4b60eb5 --- /dev/null +++ b/fr/core-concepts/supported-stablecoins/README.md @@ -0,0 +1,25 @@ +# Supported Stablecoins + +**Supported Stablecoins** + +It is important to understand that OUSD is only as strong as the stablecoins that are backing it. Any loss to the underlying assets will cause a similar loss to the value of OUSD. + +Currently, OUSD supports the following stablecoins: + +{% content-ref url="usdt.md" %} +[usdt.md](usdt.md) +{% endcontent-ref %} + +{% content-ref url="usdc.md" %} +[usdc.md](usdc.md) +{% endcontent-ref %} + +{% content-ref url="dai.md" %} +[dai.md](dai.md) +{% endcontent-ref %} + +None of these stablecoins are perfect, but we selected them because of their widespread usage. While these stablecoins have lost their USD peg on multiple occasions, they have demonstrated resiliency in eventually getting back to their 1 USD targets. + +It is important to note that all these stablecoins introduce non-trivial counter-party risk. Tether, in particular, has had well-documented banking troubles and regulatory challenges. In addition, both USDT and USDC have backdoors that grant their issuers the power to freeze money in their holder's wallets. While DAI does not have any direct backdoors, its assets can also be negatively impacted since USDC and USDT are accepted as collateral for minting DAI. + +Despite these concerns, there are already billions of dollars betting on the security of these stablecoins. It is possible that additional stablecoins will be added to the protocol over time. Support may also be removed if any of these stablecoins prove to be too unreliable or put OUSD holder's funds in jeopardy. diff --git a/fr/core-concepts/supported-stablecoins/dai.md b/fr/core-concepts/supported-stablecoins/dai.md new file mode 100644 index 000000000..b80269d11 --- /dev/null +++ b/fr/core-concepts/supported-stablecoins/dai.md @@ -0,0 +1,19 @@ +# DAI + +![](../../.gitbook/assets/dai.png) + +Dai is a fiat-pegged stablecoin launched as a ERC-20 token on the Ethereum blockchain in December 2017. A major upgrade from single-collateral Dai (SAI) to multi-collateral Dai (DAI) was completed in November 2019. Dai is pegged to the US dollar. + +Dai is minted by users locking up crypto assets such as ETH or USDC as collateral in a collateralized debt position (CDP) called a vault. Previously, only ETH was accepted as collateral. The reserves and status of each vault can be viewed on the blockchain in real-time. The health of these vaults and the Dai stablecoin are closely monitored. + +Dai is the world's third-largest stablecoin with over $400 million in circulation. In addition, cDAI and aDAI, synthetic versions of Dai on the lending platforms Compound and Aave, combine for over $600 million in circulation. + +| Key Facts | | +| ------------- | ------------------------------------------------------------------------------------------------------------------- | +| Issued by | MakerDAO | +| Name | Dai | +| Symbol | DAI | +| Address | [0x6b175474e89094c44da98b954eedeac495271d0f](https://etherscan.io/token/0x6b175474e89094c44da98b954eedeac495271d0f) | +| Decimals | 18 | +| Official site | [https://makerdao.com/](https://makerdao.com) | +| Holders | Over 380k addresses | diff --git a/fr/core-concepts/supported-stablecoins/usdc.md b/fr/core-concepts/supported-stablecoins/usdc.md new file mode 100644 index 000000000..e47385909 --- /dev/null +++ b/fr/core-concepts/supported-stablecoins/usdc.md @@ -0,0 +1,20 @@ +# USDC + +![](../../.gitbook/assets/usdc-coin-bd351fb779 (1).png) + +USD Coin (USDC) is a fiat-pegged stablecoin launched as a ERC-20 token on the Ethereum blockchain in October 2018. USDC is pegged to the US dollar and can easily be redeemed for US dollars. + +Each USDC is backed by a 1:1 ratio with the equivalent amount of fiat currency held in custodial accounts by members of Centre, a consortium founded by Circle and Coinbase. Members of Centre are regulated financial institutions based in the US. Monthly audits of reserves are published by Grant Thornton LLP. + +USDC is the world's second-largest stablecoin after USDT and has quickly grown to over $1 billion in circulation. However, USDC remains far behind USDT's $12+ billion in circulation. + +| Key Facts | | +| ------------- | ------------------------------------------------------------------------------------------------------------------- | +| Issued by | Centre | +| Name | USD Coin | +| Symbol | USDC | +| Address | [0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48](https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48) | +| Decimals | 6 | +| Official site | [https://www.centre.io/usdc](https://www.centre.io/usdc) | +| Holders | Over 1M addresses | + diff --git a/fr/core-concepts/supported-stablecoins/usdt.md b/fr/core-concepts/supported-stablecoins/usdt.md new file mode 100644 index 000000000..4f07af957 --- /dev/null +++ b/fr/core-concepts/supported-stablecoins/usdt.md @@ -0,0 +1,20 @@ +# USDT + +![](../../.gitbook/assets/image (1).png) + +Tether (USDT) is a fiat-pegged stablecoin that was initially built on top of Bitcoin via the Omni Layer Protocol. In September 2017, Tether announced they would be launching additional ERC-20 tokens for United States dollars on the Ethereum blockchain. + +Each Tether issued into circulation is said to be backed by a one-to-one ratio with the equivalent amount of fiat currency held in a custodial account by Tether Limited, a Hong Kong-based company with close ties to the cryptocurrency exchange, Bitfinex. + +Despite the controversy **** around **** the company's failure to provide a promised audit showing adequate reserves backing tether, USDT is still the world's largest stablecoin by market cap and currently the fourth-largest cryptocurrency after BTC, ETH and XRP. + +| Key Facts | | +| ------------- | ---------------------------------------------------------------------------------------------------------------- | +| Issued by | Tether Limited | +| Name | Tether | +| Symbol | USDT | +| Address | [0xdac17f958d2ee523a2206206994597c13d831](https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7) | +| Decimals | 6 | +| Official site | [https://tether.to/ ](https://tether.to) | +| Holders | Over 3.4M addresses | + diff --git a/fr/core-concepts/supported-strategies/README.md b/fr/core-concepts/supported-strategies/README.md new file mode 100644 index 000000000..b1bb5828c --- /dev/null +++ b/fr/core-concepts/supported-strategies/README.md @@ -0,0 +1,27 @@ +# Supported Strategies + +**Supported DeFi Platforms** + +OUSD generates yield by depositing stablecoins into lending platforms and market maker liquidity pools. It is important to understand that these platforms do carry technological risk and funds can be lost if there is a major security event. We are choosing to work with the platforms that have had their smart contracts audited and that we feel are most secure. + +Currently, OUSD earns yield from the following platform(s): + +{% content-ref url="compound.md" %} +[compound.md](compound.md) +{% endcontent-ref %} + +{% content-ref url="aave.md" %} +[aave.md](aave.md) +{% endcontent-ref %} + +{% content-ref url="curve.md" %} +[curve.md](curve.md) +{% endcontent-ref %} + +{% content-ref url="convex.md" %} +[convex.md](convex.md) +{% endcontent-ref %} + +Although DeFi has grown very quickly and there are now billions of dollars worth of value deposited on these platforms, several of these projects are still in beta and are highly experimental. There may be hidden vulnerabilities in the smart contracts that power these platforms, and there have been multi-million dollar losses caused by vulnerabilities in Ethereum applications in the past. + +We closely monitor security events on the platforms we support and will immediately move to secure OUSD holder funds if we identify any threats. diff --git a/fr/core-concepts/supported-strategies/aave.md b/fr/core-concepts/supported-strategies/aave.md new file mode 100644 index 000000000..cf77e0ffb --- /dev/null +++ b/fr/core-concepts/supported-strategies/aave.md @@ -0,0 +1,20 @@ +# Aave + +Aave is a lending protocol and platform built on Ethereum and launched in January 2020 by the creators of ETHLend. Users on Aave can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and users can choose between a variable interest rate based on supply and demand or a fixed interest rate. + +Collateral balances are represented by ERC-20 aTokens at a 1:1 ratio to the underlying assets they represent. Interest is compounded automatically and paid to lenders with aTokens, meaning lenders will steadily see their aToken balance increase over time. Users can borrow assets against their aTokens. aTokens are freely transferable and can be used on many other DeFi protocols. aTokens can be redeemed for their underlying collateral at any time. + +Aave supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +Aave's governance token was formerly called LEND which was the utility token for ETHLend. As part of their transition to fully decentralized governance, LEND holders were able to exchange LEND for AAVE, a new ERC-20 governance token with staking rewards. Some AAVE tokens have been distributed to users of the platform in a liquidity mining campaign. + +Aave's total value locked (TVL) has quickly grown to over $15.5 billion, making it the largest DeFi protocol at the time of writing. LEND has a circulating market cap of over $5.3 billion. + +Aave has undergone security audits by OpenZeppelin, Trail of Bits, and Consensys Diligence. Aave maintains a bug bounty program. + +| Resources | | +| -------------- | ------------------------------------------------------------------------------ | +| Official site | [https://aave.com/](https://aave.com) | +| Developer docs | [http://docs.aave.com/](http://docs.aave.com) | +| GitHub | [https://github.com/aave/aave-protocol](https://github.com/aave/aave-protocol) | +| Discord | [https://aave.com/discord](https://aave.com/discord) | diff --git a/fr/core-concepts/supported-strategies/balancer.md b/fr/core-concepts/supported-strategies/balancer.md new file mode 100644 index 000000000..f8d9e3c0a --- /dev/null +++ b/fr/core-concepts/supported-strategies/balancer.md @@ -0,0 +1,27 @@ +# Balancer + +{% hint style="info" %} +Coming soon. Balancer has not yet been integrated. +{% endhint %} + +Balancer is a decentralized liquidity protocol and exchange on Ethereum, launched in March 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Balancer is an Automated Market Maker \(AMM\) that allows for liquidity pools of up to 8 different assets with custom weights. Liquidity pools on Balancer can be thought of as similar to Exchange Traded Funds \(ETFs\) or portfolios with weight targets for specific assets. If trading causes the pool to shift from its target weight distribution, exchange rates between assets in the pool change. Arbitrageurs can execute trades to take advantage of this and act to rebalance the pool back to its target weight distribution. Liquidity can also be shared across pools, unlike other AMMs. + +Balancer supports private pools, where only the owner of the pool can contribute liquidity, shared pools, which are completely public, and smart pools, which are shared pools controlled by a smart contract that can implement automated rules and logic. Liquidity providers are given Balancer Pool Tokens \(BPTs\) that represent their share of a given pool and fees. These tokens are freely transferable and can be redeemed for the assets provided and accrued fees. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Balancer pools. + +Balancer is governed by BAL, an ERC-20 governance token. BAL holders can vote on protocol changes. BAL is continuously awarded to liquidity providers and a large portion of the total supply of BAL was allocated to the team and investors on a continuous vesting schedule. + +Trading volumes on Balancer are often over $25 million daily. Balancer has a Total Value Locked \(TVL\) of over $250 million by liquidity providers at the time of writing. + +Balancer has undergone a security audit by Trail of Bits and has a bug bounty program. However, Balancer has suffered a major exploit in June 2020. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://balancer.finance/](https://balancer.finance/) | +| Developer docs | [https://docs.balancer.finance/](https://docs.balancer.finance/) | +| GitHub | [https://github.com/balancer-labs](https://github.com/balancer-labs) | +| Discord | [https://discord.gg/ARJWaeF](https://discord.gg/ARJWaeF) | + diff --git a/fr/core-concepts/supported-strategies/compound.md b/fr/core-concepts/supported-strategies/compound.md new file mode 100644 index 000000000..77e40733e --- /dev/null +++ b/fr/core-concepts/supported-strategies/compound.md @@ -0,0 +1,18 @@ +# Compound + +Compound is a lending protocol and platform built on Ethereum and launched in September 2018. Users can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and interest rates are adjusted automatically based on supply and demand. + +Collateral balances are represented by ERC-20 cTokens, which automatically accrue interest and increase in value over time relative to the underlying asset they represent. Users can borrow assets against the value of their cTokens. cTokens are freely transferable and can be used on many other DeFi protocols. cTokens can be redeemed for their underlying collateral at any time. + +Compound is governed by COMP, an ERC-20 governance token. COMP holders can propose and vote on protocol changes or delegate their votes to someone else. COMP tokens are awarded pro-rata to users of the protocol daily, split equally between borrowers and lenders. A large portion of the COMP token supply was retained by the Compound team, investors, and advisors. + +Compound's total value locked (TVL) has quickly grown to over $10 billion, making it one of the largest DeFi protocols. COMP has a circulating market cap of over $2.5 billion. + +Compound has undergone multiple security audits by OpenZeppelin and Trail of Bits. The Compound protocol was formally verified by CertiK and has undergone economic stress testing by Gauntlet. Compound maintains a bug bounty program. + +| Resources | | +| -------------- | -------------------------------------------------------------------------------------------------------------- | +| Official site | [https://compound.finance/](https://compound.finance) | +| Developer docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/compound-finance/compound-protocol](https://github.com/compound-finance/compound-protocol) | +| Discord | [https://discord.com/invite/cU7vmVW](https://discord.com/invite/cU7vmVW) | diff --git a/fr/core-concepts/supported-strategies/convex.md b/fr/core-concepts/supported-strategies/convex.md new file mode 100644 index 000000000..771280a68 --- /dev/null +++ b/fr/core-concepts/supported-strategies/convex.md @@ -0,0 +1,18 @@ +# Convex + +Convex is an aggregation platform for Curve that launched in May 2021. Convex allows liquidity providers on Curve to earn boosted CRV rewards without having to vote-lock CRV. Convex vote-locks CRV on behalf of users and distributes boosted CRV rewards to them. Convex passes on trading fees earned on Curve to users as well. + +Convex also rewards users with their own ERC-20 governance token, CVX. Convex supports both CRV and CVX staking for additional rewards. Vote-locking CVX is required to participate in Convex governance. + +Convex is one of the few protocols whitelisted to participate in Curve governance and controls a huge amount of vote-locked CRV, making them one of the biggest players in Curve governance. A large proportion of liquidity provided on Curve is now done through Convex. Convex has a Total Value Locked (TVL) of over $15.4 billion in deposits at the time of writing. + +Convex has been audited by MixBytes. + +| | | +| -------------- | ---------------------------------------------------------------- | +| Resources | | +| Official site | [https://www.convexfinance.com](https://www.convexfinance.com) | +| Developer docs | [https://docs.convexfinance.com](https://docs.convexfinance.com) | +| GitHub | [https://github.com/convex-eth](https://github.com/convex-eth) | +| Discord | [https://discord.gg/uAwvZfs9qU](https://discord.gg/uAwvZfs9qU) | + diff --git a/fr/core-concepts/supported-strategies/curve.md b/fr/core-concepts/supported-strategies/curve.md new file mode 100644 index 000000000..40d2aade6 --- /dev/null +++ b/fr/core-concepts/supported-strategies/curve.md @@ -0,0 +1,20 @@ +# Curve + +Curve is a decentralized liquidity protocol and exchange on Ethereum for stablecoins and wrapped BTC, launched in January 2020. Users can swap between popular ERC-20 stablecoins or between ERC-20 representations of bitcoin. Liquidity providers facilitate trading and earn fees. + +Curve is an Automated Market Maker (AMM) where each market has an associated liquidity pool with two or more assets that should have the same value, like USDT, USDC, DAI and TUSD, which are all US dollar pegged stablecoins. The exchange rate between each stablecoin and their relative weights are determined by an algorithm based on supply and demand. Arbitrageurs act to normalize these exchange rates. + +Some of Curve's liquidity pools earn extra fees for liquidity providers on top of the exchange fees from traders. Curve offers stablecoin pools integrated with Compound, yearn.finance, and Synthetix. The assets in each liquidity pool are provided to those platforms to generate additional yield which is passed on to each pool's liquidity providers. Liquidity Provider (LP) tokens are given to pool participants and can be redeemed for their initial liquidity supplied plus accrued fees and yield. LP tokens can also transferred for use in other protocols. + +Curve is governed by CRV, an ERC-20 governance token. CRV holders can vote on protocol changes. CRV holders can stake or "vote-lock" their tokens for additional voting power proportional to time staked. Vote-locking CRV also significantly boosts liquidity provider rewards. CRV is continuously awarded to liquidity providers and a large portion of the total supply of CRV was allocated to the team and investors on a continuous vesting schedule. + +Curve has a Total Value Locked (TVL) of over $20.4 billion by liquidity providers at the time of writing. Hundreds of millions of dollars of trading volume are generated on Curve every day. + +Curve has undergone two audits by Trail of Bits and maintains a bug bounty program. + +| Resources | | +| -------------- | ------------------------------------------------------------------------ | +| Official site | [https://www.curve.fi/](https://www.curve.fi) | +| Developer docs | [https://www.curve.fi/devdocs](https://www.curve.fi/devdocs) | +| GitHub | [https://github.com/curvefi](https://github.com/curvefi) | +| Discord | [https://discord.com/invite/9uEHakc](https://discord.com/invite/9uEHakc) | diff --git a/fr/core-concepts/supported-strategies/dydx.md b/fr/core-concepts/supported-strategies/dydx.md new file mode 100644 index 000000000..24f1a895e --- /dev/null +++ b/fr/core-concepts/supported-strategies/dydx.md @@ -0,0 +1,27 @@ +# dYdX + +{% hint style="info" %} +Coming soon. DyDx has not yet been integrated. +{% endhint %} + +dYdX is a trading and lending protocol and platform built on Ethereum and launched in May 2019. Users can trade assets on dYdX's non-custodial, decentralized exchange or participate in borrowing and lending. The lending protocol enables margin and futures trading. Interest rates are adjusted based on supply and demand and only short term loans are offered. + +Liquidity for assets available for borrowing and lending are pooled together by asset type. Interest paid to lenders is accrued automatically and borrowers must put up collateral to take out a loan. + +dYdX also supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +dYdX has around $40 million in total value locked \(TVL\) at the time of this writing. dYdX does not have a native token. + +dYdX has undergone security audits by OpenZeppelin and Bramah Systems. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://dydx.exchange/](https://dydx.exchange/) | +| Developer docs | [https://docs.dydx.exchange/](https://docs.dydx.exchange/) | +| GitHub | [https://github.com/dydxprotocol/](https://github.com/dydxprotocol/) | +| Discord | [https://discord.gg/yah42Rb](https://discord.gg/yah42Rb) | + + + + + diff --git a/fr/core-concepts/supported-strategies/uniswap.md b/fr/core-concepts/supported-strategies/uniswap.md new file mode 100644 index 000000000..012e25e93 --- /dev/null +++ b/fr/core-concepts/supported-strategies/uniswap.md @@ -0,0 +1,27 @@ +# Uniswap + +{% hint style="info" %} +Coming soon. Uniswap has not yet been integrated. +{% endhint %} + +Uniswap is a decentralized liquidity protocol and exchange on Ethereum, launched in November 2018. Uniswap v2 launched in May 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Markets on Uniswap operate as liquidity pools rather than order books. This type of exchange is called an Automated Market Maker \(AMM\). The exchange rate between the two assets is determined by a constant product formula and moves along a price curve depending on the relative weight of each asset in the pool. This encourages arbitrageurs to enter liquidity pools to rebalance the relative weights and normalize the exchange rate. + +Traders can suffer from slippage if there is not enough liquidity in a given pool and may not be protected from unfavorable exchange rates. Liquidity providers may suffer impermanent loss when the pool exchange rate does not match market realities and arbitrageurs execute trades along the pricing curve. + +Pool participants are given Uniswap Liquidity Provider \(LP\) tokens that correspond to their share of liquidity provided in a given pool. These LP tokens are freely transferable. Participants can exit pools at any time by redeeming these tokens for the assets provided and fees accrued. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Uniswap pools. + +Trading volumes on Uniswap now eclipse that of many traditional exchanges and regularly surpass $200 million daily. Uniswap has over $170 million in Total Value Locked \(TVL\) by liquidity providers. Uniswap does not have a native platform or governance token. + +Uniswap has had its smart contracts audited and formally verfied by dapp.org. Uniswap maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------ | +| Official site | [https://uniswap.org/](https://uniswap.org/) | +| Developer docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/fr/core-concepts/supported-strategies/yearn.finance.md b/fr/core-concepts/supported-strategies/yearn.finance.md new file mode 100644 index 000000000..3f23b9fdb --- /dev/null +++ b/fr/core-concepts/supported-strategies/yearn.finance.md @@ -0,0 +1,25 @@ +# Yearn.finance + +{% hint style="info" %} +Coming soon. Yearn.finance has not yet been integrated. +{% endhint %} + +Yearn.finance, formerly iEarn.finance, is a yield aggregation platform built on Ethereum and launched in January 2020 by Andre Cronje. Yearn manages yield farming and rebalancing strategies using a combination of automation and human decision making on behalf of users who have deposited capital. + +Yearn has two yield aggregation products, Earn and Vaults. Earn allows users to deposit stablecoins or wrapped BTC into liquidity pools on Curve to earn fees and governance token rewards. These assets are also lent out on platforms offering high yield and token rewards, adding to the yield earned. + +Vaults offer a more automated and managed experience. Users deposit assets such as LINK, Curve liquidity provider tokens, or stablecoins and the Vault pools these assets together and deploys the highest earning yield farming strategy as deemed safe by the community and Andre Cronje. Governance tokens earned as rewards are sold off for the original asset deposited and combined with other fees and automatically rolled into the Vault to compound yield. Strategies can be changed frequently and pooling assets together saves gas costs for users. + +Yearn is governed by YFI, an ERC-20 governance token. YFI holders can vote on protocol changes after agreeing to lock up their YFI for 3 days. YFI can also be staked for yield in the governance portal. This yield comes from fees charged to users on Yearn products. YFI was distributed entirely to liquidity providers on Curve and Balancer. There was no allocation for team members or investors. + +Yearn's total value locked \(TVL\) has quickly grown to over $800 million, making it one of the largest DeFi platforms. YFI has a circulating market cap of over $400 million. + +Yearn has undergone multiple security and smart contract audits by CertiK, Quantstamp, HackMD, and CryptoManiacs. Yearn has a reputation for launching experimental products very quickly and warns users that their products are in beta. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://yearn.finance/](https://yearn.finance/) | +| Developer docs | [https://docs.yearn.finance/](https://docs.yearn.finance/) | +| GitHub | [https://github.com/iearn-finance](https://github.com/iearn-finance) | +| Discord | [https://discord.gg/uTmHe8r](https://discord.gg/uTmHe8r) | + diff --git a/fr/core-concepts/wrapped-ousd.md b/fr/core-concepts/wrapped-ousd.md new file mode 100644 index 000000000..bea00ee4b --- /dev/null +++ b/fr/core-concepts/wrapped-ousd.md @@ -0,0 +1,31 @@ +# Wrapped OUSD + +Wrapped OUSD provides a non-rebasing version of OUSD that still earns yield. This makes it easier to use OUSD as a building block for other contracts and it may provide tax benefits in some jurisdictions. + +![Two flavors, up only](https://cdn-images-1.medium.com/max/1600/1\*cqRG-8-64XYx9QChoMxk3g.png) + +### How wrapped OUSD works + +When you wrap OUSD, you get back a fixed number of wOUSD tokens. This number will not go up - you will have the same number of wOUSD tokens tomorrow as you have today. However, the number of OUSD tokens that you can unwrap will go up over time. + +For example, if you wrap 10,000 OUSD, you might receive 9,423 wOUSD. If you hold for a while, you will still have 9,423 wOUSD, but when you unwrap the wOUSD, you receive 11,500 OUSD. + +Both OUSD and wOUSD earn at the same rate and can be transferred just like any other ERC-20 token. wOUSD is one of the first implementations of [EIP-4626](https://eips.ethereum.org/EIPS/eip-4626), which is an extension on ERC-20 that provides basic functionality for depositing and withdrawing tokens and reading balances on a tokenized vault. wOUSD was independently [audited by Solidified](https://github.com/OriginProtocol/security/blob/3dc8c1dec2f6fbf4f7d0bdf92408f79262624647/audits/Solidified%20-%20OGV,%20wOUSD,%20and%20ERC721a%20-%20May%202022.pdf) in May 2022 and is ready for production use. + +### Wrapping + +If you don’t already have OUSD, you can buy it from Gate.io, KuCoin, Curve, Uniswap, or [get it directly from the OUSD DApp](https://www.youtube.com/watch?v=UabjvL-7iu4). + +Once you have OUSD in your wallet, visit [ousd.com/wrap](https://ousd.com/wrap) and follow these steps: + +1. Connect your wallet +2. Enter the amount of OUSD that you want to wrap +3. Submit the allowance for the wOUSD contract to use your OUSD +4. Submit the transaction to wrap your OUSD + +![ousd.com/wrap](https://cdn-images-1.medium.com/max/1600/1\*57fSZSSlzebhpIl8R4UqUQ.png) + +### Unwrapping + +Unwrapping your OUSD does not require any approvals since you already hold the wOUSD in your wallet. There's also no minimum term or lock-up period. You can use the same form shown above and just click the arrow to flip it to unwrap mode. This form calls the `redeem` function to unwrap a spcific amount of wOUSD. You can also [use Etherscan](https://etherscan.io/address/0xd2af830e8cbdfed6cc11bab697bb25496ed6fa62#writeProxyContract) to call the `withdraw` function if you prefer to specify the amount of OUSD that you want to be taken out. + diff --git a/fr/core-concepts/yield-generation/README.md b/fr/core-concepts/yield-generation/README.md new file mode 100644 index 000000000..b1d3861bc --- /dev/null +++ b/fr/core-concepts/yield-generation/README.md @@ -0,0 +1,30 @@ +# Yield Generation + +**Automated Yield Farming** + +While the Cambrian explosion of new lending and automated market maker pools has fueled total value locked (TVL), it has also made it increasingly challenging for yield farmers to manually allocate capital in efficient and optimal ways. + +[Yearn](https://yearn.finance) has demonstrated that smart contracts can automate the rebalancing of funds across various strategies to optimally earn lending interest, market-making fees, and rewards tokens. Over time, new strategies will be deployed that maximize returns while minimizing risk and dependencies. + +![Automated yield farming on the OUSD protocol](../../.gitbook/assets/ousd_earnings_graphic.png) + +OUSD uses the following high-level strategies for generating yield: + +{% content-ref url="lending.md" %} +[lending.md](lending.md) +{% endcontent-ref %} + +{% content-ref url="market-making.md" %} +[market-making.md](market-making.md) +{% endcontent-ref %} + +{% content-ref url="rewards.md" %} +[rewards.md](rewards.md) +{% endcontent-ref %} + +OUSD is able to generate higher yields than competing protocols due to a combination of important design decisions that amplify the rewards that are returned to OUSD holders: + +* Exit fees are returned to the pool, rewarding long term holders +* Price oracles favor the collective over the individual, again rewarding long term holders +* Smart contracts must manually opt-in to earn yield. This allows the protocol to put more capital to work than would be otherwise possible. +* Smart strategies balance risk and reward more effectively than deploying capital in any single underlying strategy. diff --git a/fr/core-concepts/yield-generation/lending.md b/fr/core-concepts/yield-generation/lending.md new file mode 100644 index 000000000..fa7607781 --- /dev/null +++ b/fr/core-concepts/yield-generation/lending.md @@ -0,0 +1,26 @@ +# Lending + +**Unbank the Banked** + +DeFi lending platforms let users lend and borrow crypto assets without any middlemen. Both lenders and borrowers get more value from their crypto. Lenders earn interest, while borrowers deposit crypto as collateral to gain access to credit without traditional banking headaches. DeFi lending platforms currently provide far superior returns for lenders than are generally available in the traditional markets. + +OUSD integrates with DeFi lending platforms that provide over-collateralized loans. Over-collateralization, combined with smart rules around liquidations, provide a reasonable level of security for lenders. Aave also additionally secures their lending pools with AAVE tokens respectively, further lowering risk. + +OUSD integrates with leading lending providers that have a proven track record, audited smart contracts, and have successfully lent hundreds of millions of dollars without issue. We are currently integrated with the following lending platforms: + +{% content-ref url="../supported-strategies/compound.md" %} +[compound.md](../supported-strategies/compound.md) +{% endcontent-ref %} + +{% content-ref url="../supported-strategies/aave.md" %} +[aave.md](../supported-strategies/aave.md) +{% endcontent-ref %} + + + + + + + + + diff --git a/fr/core-concepts/yield-generation/market-making.md b/fr/core-concepts/yield-generation/market-making.md new file mode 100644 index 000000000..464b5f13e --- /dev/null +++ b/fr/core-concepts/yield-generation/market-making.md @@ -0,0 +1,22 @@ +# Market Making + +**Own your Stake in Decentralized Exchanges** + +Automated market makers (AMMs) have quickly risen as the preferred form of decentralized exchange on the Ethereum network. This is in part due to the difficulty of supporting order book DEXes on Ethereum 1.0 that can rival the instant and low-slippage experiences on centralized exchanges. Further, AMMs like Uniswap are relatively user-friendly and gas-efficient to use. + +AMMs can only enable new markets when liquidity providers supply liquidity (e.g. multiple tokens for given trading pairs or pools). In return for providing liquidity, liquidity providers are rewarded with trading fees when other users swap tokens. For example, when traders swap two tokens on Uniswap v3, they are currently charged anywhere between 0.05% and 1% on top of the gas fees. These fees are distributed pro-rata to liquidity providers of the pair based on the percentage of total liquidity that they have provided. + +{% hint style="info" %} +[Impermanent loss](https://medium.com/@pintail/uniswap-a-good-deal-for-liquidity-providers-104c0b6816f2) is an important risk factor to understand, but this concern is largely mitigated by OUSD only providing liquidity for stablecoins of approximately equal value. +{% endhint %} + +The OUSD protocol routes USDT, USDC, and DAI to highly-performing liquidity pools as determined by trading volume and rewards tokens (e.g. Curve rewards CRV tokens to liquidity providers). Yields are then passed on to OUSD holders. + +We are currently integrated with the following automated market maker: + +{% content-ref url="../supported-strategies/curve.md" %} +[curve.md](../supported-strategies/curve.md) +{% endcontent-ref %} + + + diff --git a/fr/core-concepts/yield-generation/rewards.md b/fr/core-concepts/yield-generation/rewards.md new file mode 100644 index 000000000..f598afe7c --- /dev/null +++ b/fr/core-concepts/yield-generation/rewards.md @@ -0,0 +1,12 @@ +# Rewards + +**Collecting Rewards** + +In addition to collecting interest from lending and fees from market making, we intend to automatically claim and convert the bonus incentives that are being distributed by many of the DeFi protocols. For example, Compound gives away COMP tokens and Curve gives away CRV tokens. These bonus rewards will be regularly converted into stablecoins, deployed in the market, and distributed to OUSD holders in the form of additional yield. + +{% hint style="info" %} +While the vault safely stores any unexpected rewards that it receives, custom strategies will need to be written and deployed to decide when and how the protocol should convert them to stablecoins. +{% endhint %} + +Today, rewards are a significant factor for yield farmers as they represent a large percentage of their returns. We anticipate that the OUSD protocol will be upgraded over time to take advantage of the most attractive yields available across the DeFi landscape. The protocol will factor in the market value of the various rewards being offered when deciding how to best allocate resources. + diff --git a/fr/faq.md b/fr/faq.md new file mode 100644 index 000000000..6d47859ae --- /dev/null +++ b/fr/faq.md @@ -0,0 +1,33 @@ +# FAQ + +**Where can I buy OUSD?** + +Check out [Getting Started](https://docs.ousd.com/getting-started) to see a variety of options. + +**What are the costs to mint and redeem OUSD?** + +As with any Ethereum transaction, you will need Ether to interact with the OUSD smart contract. We have taken measures to reduce gas usage where possible, but these costs can vary. + +Anytime you mint or redeem OUSD, there will be an exchange rate applied to your stablecoins deposited or withdrawn. You can read more about this in [Price Oracles](https://docs.ousd.com/core-concepts/price-oracles). + +To encourage long-term holding of OUSD and to protect the protocol from attackers, an exit fee of 0.25% is charged on all redeems. You can read more about this in [How It Works](https://docs.ousd.com/how-it-works). + +**How soon will my balance increase once I have OUSD?** + +The amount of OUSD in your wallet will grow each time there is a positive rebase event. You can read more about this in [Elastic Supply](https://docs.ousd.com/core-concepts/elastic-supply). The supply is currently rebased several times per day and is usually correlated with how many people are minting and redeeming OUSD. + +**Why does OUSD not grow when it's held in Uniswap, SushiSwap, etc?** + +By default, rebase events don't affect the supply of OUSD that is sitting in smart contracts. These contracts can opt in to receiving additional OUSD if they are capable of handling elastic supply tokens. You can read more about this in [Rebasing & Smart Contracts](https://docs.ousd.com/core-concepts/elastic-supply/rebasing-and-smart-contracts). + +**How is it possible for the APY to be so high?** + +You can read about our various strategies in [Yield Generation](https://docs.ousd.com/core-concepts/yield-generation). We currently get most of the yield from harvesting rewards tokens (namely COMP and CRV). Additionally, the yield increases as more OUSD is held in smart contracts that do not opt into rebasing since the underlying collateral continues to earn for the average OUSD holder. + +**Why is my balance increasing at a slower rate than the advertised APY?** + +OUSD balances increase when the supply is rebased. But the size of each rebase varies wildly depending on how much the vault has earned since the last rebase. And while most rebases collect a small amount earnings from lending strategies, other rebases involve liquidating rewards tokens or collecting fees. As a result, the yield will vary significantly during short time periods. + +**What about the hack? Is OUSD safe?** + +On November 7th 2020, OUSD was exploited for 7M USD due to a previously undetected reentrancy bug. You can read more [details about the hack](https://medium.com/originprotocol/urgent-ousd-has-hacked-and-there-has-been-a-loss-of-funds-7b8c4a7d534c) on our blog as well as the [detailed compensation plan](https://medium.com/originprotocol/origin-dollar-ousd-detailed-compensation-plan-faa73f87442e) for taking care of the affected users. Origin Dollar was relaunched in December after completing multiple audits and security upgrades. You can learn more about the steps taken to secure the protocol in our [relaunch announcement](https://medium.com/originprotocol/origin-dollar-ousd-is-back-b8ee0c601dad). diff --git a/fr/getting-started.md b/fr/getting-started.md new file mode 100644 index 000000000..a02770326 --- /dev/null +++ b/fr/getting-started.md @@ -0,0 +1,71 @@ +# Getting Started + +These docs are intended to explain how OUSD works, communicate the potential risks and benefits, and provide a guide for developers who wish to contribute to our codebase or integrate OUSD into their products. Here are a few ways for you to dive in and get started. + +**Buying OUSD** + +{% hint style="info" %} +The [Origin Dollar DApp](https://ousd.com/swap) will intelligently route your transaction to get you the best rate. +{% endhint %} + +The [Origin Dollar DApp](https://ousd.com/swap) allows anyone to buy or sell OUSD using a web-3 enabled cryptocurrency wallet like [Metamask](https://www.metamask.io), [Ledger](https://www.ledger.com), or [Gnosis Safe](https://gnosis-safe.io). This is the native way to get OUSD, especially if you want a large amount that could risk moving the market on other exchanges. The DApp will intelligently decide whether to create or trade-in OUSD tokens using the vault or help you complete the trade on whichever AMM is currently offering the best rate. + +**Decentralized Exchanges** + +OUSD is currently available on the following decentralized exchanges. These are listed here for reference only. We recommend using the [Origin Dollar DApp](https://ousd.com/swap) to ensure you always get the best rate. + +* [Buy OUSD on 1inch](https://app.1inch.io/#/1/swap/USDT/OUSD) +* [Buy OUSD on Curve](https://curve.fi/factory/9) +* [Buy OUSD on Uniswap v3](https://app.uniswap.org/#/swap?inputCurrency=0xdac17f958d2ee523a2206206994597c13d831ec7\&outputCurrency=0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86) +* [Buy OUSD on Uniswap v2](https://app.uniswap.org/#/swap?inputCurrency=0xdac17f958d2ee523a2206206994597c13d831ec7\&outputCurrency=0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86\&use=v2) +* [Buy OUSD on Sushiswap](https://exchange.sushiswapclassic.org/#/swap?inputCurrency=0xdac17f958d2ee523a2206206994597c13d831ec7\&outputCurrency=0x2a8e1e676ec238d8a992307b495b45b3feaa5e86) + +**Centralized Exchanges** + +OUSD is currently available on the following centralized exchanges. Be sure to check on how they are handling the yield that is being generated by the protocol. Depending on the exchange, there may be additional steps you need to take to participate in the yield while it's being held in their custody. + +* Buy OUSD on KuCoin + * [OUSD/USDT](https://trade.kucoin.com/OUSD-USDT) + * [OUSD/BTC](https://trade.kucoin.com/OUSD-BTC) +* Buy OUSD on Gate.io + * [OUSD/USDT](https://www.gate.io/trade/OUSD\_USDT) +* Buy OUSD on Virgox + * [OUSD/USDT](https://virgox.com/exchange/141) +* [Buy OUSD on Dharma App](https://www.dharma.io) (US only) + +We're continuing to work on making OUSD available on additional centralized exchanges. + +**Adding OUSD to Your Wallet** + +{% hint style="success" %} +The main ERC20 address for Origin Dollar (OUSD) is: \ +**0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +If your OUSD does not automatically show up in your wallet, you should be able to add it manually using the address above. If you are planning on [storing your OUSD in a multi-sig wallet](core-concepts/elastic-supply/rebasing-and-smart-contracts.md), be sure to opt-in to receive yield. We want to have OUSD supported by as many wallets as possible and included on all the various lists of well-known tokens. We would greatly appreciate any help you can offer in this area. + +**Integrating OUSD** + +OUSD is a non-standard ERC-20 token that requires custom integration work for most applications that wish to support it. In particular, it is important for developers to understand how our elastic supply works as this can easily cause unexpected behavior. + +If you are a wallet provider or crypto exchange that is interested in supporting OUSD, please refer to the following guides: + +{% content-ref url="core-concepts/elastic-supply/rebasing-and-smart-contracts.md" %} +[rebasing-and-smart-contracts.md](core-concepts/elastic-supply/rebasing-and-smart-contracts.md) +{% endcontent-ref %} + +{% content-ref url="smart-contracts/architecture.md" %} +[architecture.md](smart-contracts/architecture.md) +{% endcontent-ref %} + +{% content-ref url="smart-contracts/api/" %} +[api](smart-contracts/api/) +{% endcontent-ref %} + +**Developer Analytics** + +Our internal developer dashboard is available at [analytics.ousd.com](https://analytics.ousd.com). The dashboard shows the current circulating supply, the assets under management in the vault, and the current allocations between each of the stablecoins and strategies. + +**Getting Help** + +Please join the Origin Dollar #engineering room in Origin's [Discord](https://www.originprotocol.com/discord) server. Our team and members of our community look forward to helping you build. Your questions help us improve, so please don't hesitate to ask if you can't find what you are looking for here. diff --git a/fr/governance/admin-privileges.md b/fr/governance/admin-privileges.md new file mode 100644 index 000000000..30ed8065a --- /dev/null +++ b/fr/governance/admin-privileges.md @@ -0,0 +1,32 @@ +# Admin Privileges + +The OUSD smart contracts are designed to be owner upgradable. The Origin team uses two different Gnosis multisig wallet contracts in order to make changes to the protocol. These multisig wallets have been [audited by OpenZeppelin](https://blog.openzeppelin.com/gnosis-multisig-wallet-audit-d702ff0e2b1e/), [ConsenSys Dilligence](https://blog.gnosis.pm/the-gnosis-multisig-wallet-and-our-commitment-to-security-ce9aca0d17f6), Origin’s team, and others. + +{% hint style="info" %} +Time-delayed admin actions gives users a chance to exit OUSD if its admins become malicious, are compromised, or make a change that the users do not like. +{% endhint %} + +### Admin + +The primary admin is a 5 of 8 multisig contract which is required to make any code changes to the protocol. OUSD can only be upgraded from this 5 of 8 multi-sig wallet. The keys to this multi-sig are held by individuals with close ties to the company, and not even the Origin founders acting together have enough control to execute owner functions on their own. In addition, the OUSD contracts are owned by a [timelock](../smart-contracts/api/timelock.md) which places a 48 hour time delay before any changes to the protocol can be made. + +### Strategist + +Some functionality, such as rebalancing funds between strategies or pausing deposits, can be triggered without the timelock and with far fewer signers. This allows the Origin team to react more quickly to market conditions or security threats. These signers, known as Strategists, have the ability to execute a limited number of functions __ with only 2 of 9 signers. + +The strategist multisig can do the following actions on the vault: + +* reallocate - move funds between strategies +* setVaultBuffer - adjust the amount of funds held outside strategies for cheaper redeems. +* setAssetDefaultStrategy - which strategy mints and redeems pull from for a particular strategy +* withdrawAllFromStrategy - remove funds from a single strategy and send them to the vault +* withdrawAllFromStrategies - remove funds from all active strategies and send them to the vault +* pauseRebase - pause all rebases +* pauseCapital - pause all mints and redeems +* unpauseCapital - allow all mints and redeems + +### Future + +Having these admin privileges is necessary in the early days to ensure that the protocol is secure and optimized for earning yields while minimizing risks. We expect to release multiple iterations of our smart contracts in the first several months of the protocol's existence. + +Once several upgrade cycles have been completed, we intend to transfer ownership from our company control to a decentralized governance contract, thereby allowing the community to vote and participate in future protocol updates. diff --git a/fr/governance/contributing.md b/fr/governance/contributing.md new file mode 100644 index 000000000..5b63d22c7 --- /dev/null +++ b/fr/governance/contributing.md @@ -0,0 +1,103 @@ +# Contributing + +**100% Open-source** + +OUSD is an entirely open-source project and we welcome contributions of all sorts. There are many ways to help, from reporting issues, contributing code, and helping us improve our community. + +{% content-ref url="broken-reference" %} +[Broken link](broken-reference) +{% endcontent-ref %} + +We work in public and our company Discord is open to all. If you have questions or need help getting started, our [Discord OUSD channels](https://discord.gg/jyxpUSe) are the best place to get assistance from our team and community. + +{% content-ref url="broken-reference" %} +[Broken link](broken-reference) +{% endcontent-ref %} + +**Developer Analytics** + +Our internal developer dashboard is available at [analytics.ousd.com](https://analytics.ousd.com). The dashboard shows the current circulating supply, the assets under management in the vault, and the current allocations between each of the stablecoins and strategies. Various other developer tools can be found at [ousd.com/dashboard](https://ousd.com/dashboard). + +#### Development Process + +Our branching strategy is similar to [GitFlow](http://nvie.com/posts/a-successful-git-branching-model/), but we do all of our development in the `master` branch and have a `stable` branch for code that has been released. + +Your development flow should look like: + +1. Find an interesting issue and communicate! Please let the `#engineering` [Discord](https://discord.gg/jyxpUSe) channel know what you want to work on. +2. Ping a [core team member](https://github.com/orgs/OriginProtocol/teams/core/members) member on Discord and ask to be added to our [contributors team](https://github.com/orgs/OriginProtocol/teams/contributors). Otherwise, you’ll need to fork the relevant repository and push feature branches to your own fork. +3. Add a comment to the issue or self-assign so we don’t have multiple contributors unintentionally working on the same task. +4. Start with the `master` branch and check out a new feature branch unless you’re contributing to an existing feature. +5. Write some awesome code. +6. Pull the latest commits from `master` and confirm that your code works with any other work that has been merged since you started. +7. Push your branch to the upstream repository (i.e. https://github.com/OriginProtocol/\[repo]) so that other contributors can easily work off of it if necessary. +8. Please request a review in the PR by clicking on the gear icon next to “Reviewers” in the right column. + +For critical smart contract code to be merged it must pass the following checklist: + +* Code reviewed by 2 reviewers +* Unit tests pass +* Slither tests pass with no warning +* Echidna tests pass + +The `master` branch is locked so that only members of the [core team](https://github.com/orgs/OriginProtocol/teams/core) are able to merge your pull requests. Pull requests that are peer-reviewed by other trusted contributors will be fast-tracked and merged faster! Check in the `#engineering` Discord channel for appropriate reviewers. + +#### Coding Style + +We use a variety of programming languages in our repositories. When contributing, please follow existing coding conventions and refer to the CONTRIBUTING.md file in the repository, if one exists. + +For JavaScript, we use [NPM’s style](https://docs.npmjs.com/misc/coding-style), which is automatically enforced via [prettier](https://prettier.io). + +For Solidity, we use two-space indents. + +#### Protocol Design + +When considering protocol or implementation design proposals, we are looking for: + +* A description of the problem this design proposal solves +* Discussion of the trade-offs involved +* Review of other existing solutions +* Links to relevant literature (RFCs, papers, etc) +* Discussion of the proposed solution + +Please note that protocol design is hard and meticulous work. You may need to review existing literature and think through generalized use cases. + +#### Community Guidelines + +We want to keep the Origin community awesome, growing and collaborative. We need your help to keep it that way. To help with this we’ve come up with some general guidelines for the community as a whole: + +* Be nice: Be courteous, respectful and polite to fellow community members: no regional, racial, gender, or other abuse will be tolerated. We like nice people way better than mean ones! +* Encourage diversity and participation: Make everyone in our community feel welcome, regardless of their background and the extent of their contributions, and do everything possible to encourage participation in our community. +* Keep it legal: Basically, don’t get anybody in trouble. Share only content that you own, do not share private or sensitive information, and don’t break laws. +* Stay on topic: Make sure that you are posting to the correct channel and avoid off-topic discussions. Remember when you update an issue or respond to an email you are potentially sending to a large number of people. Please consider this before you update. Also remember that nobody likes spam. + +#### Reporting Issues + +If you find bugs, mistakes or inconsistencies in Origin’s code or documents, please let us know by filing a GitHub issue. No issue is too small. Help us fix our tpyos! + +#### Security Issues + +OUSD is still in early development, which means there may be problems with the protocol or in our implementations. We take security vulnerabilities very seriously. If you discover a security issue, please bring it to our attention right away! + +If you find a security vulnerability please send your report privately to [security@originprotocol.com](mailto:security@originprotocol.com) or send an encrypted message to [@joshfraser on Keybase](https://keybase.io/joshfraser). Please DO NOT file a public issue. Be sure to review our guidelines for responsible disclosure and eligibility for bug bounties. + +{% content-ref url="../security-and-risks/bug-bounties.md" %} +[bug-bounties.md](../security-and-risks/bug-bounties.md) +{% endcontent-ref %} + +#### **Community Improvement** + +Origin is just as much about community as it is about our technology. + +We need constant help in improving our documentation, building new tools to interface with our platform, spreading the word to new users, helping new users getting setup and much more. + +Please get in touch if you would like to help out. Our `discussion` channel on [Discord](https://www.originprotocol.com/discord) is a great place to share ideas and volunteer to help. + +#### Full-Time Positions + +Origin occasionally hires developers for part-time or full-time positions. + +We have a strong preference for hiring people who have already started contributing to the project. If you want a full-time position on our team, your best shot is to engage with our team and start contributing code. It is very unlikely that we would offer you a full-time position on our engineering team unless you’ve had at least a few pull requests merged. + +If you are interested, check out [the Origin Protocol job listings](https://angel.co/originprotocol/jobs). If you’d like to help in other ways, please propose your ideas in [our Discord channel](https://www.originprotocol.com/discord). + diff --git a/fr/governance/governance.md b/fr/governance/governance.md new file mode 100644 index 000000000..eea11a787 --- /dev/null +++ b/fr/governance/governance.md @@ -0,0 +1,26 @@ +# Principles + +**Progressive Decentralization** + +OUSD is designed to be a decentralized protocol governed by many stakeholders all over the world. We believe that the minters and holders of OUSD should collectively determine important protocol decisions as soon as possible. + +That being said, in the very early days, it is imperative that the core engineering team can act quickly and decisively to build the foundational parts of the protocol. + +Decentralization will progress across four phases rapidly over the next few months. It is our intent to relinquish control and governance to the community as soon as possible. + +![](../.gitbook/assets/ousd_docs_graphics_2%20%283%29.png) + +**Timelock** + +Prior to full decentralized governance, we will implement a [timelock](../smart-contracts/api/timelock-1.md) in front of all admin function calls, giving OUSD users time \(48 hours\) to withdraw their funds if they have objections to our proposed upgrades. This timelock will be added shortly after launch. + +**New and Existing Stakeholders** + +OUSD is a new project founded by Origin Protocol [team](www.originprotocol.com/team) and will be supported by the existing Origin community as well as many new stakeholders that choose to mint, hold, use, and provide liquidity for OUSD. + +In addition, we also want to ensure high participation from our existing Origin Token \(OGN\) holders, community of close to 500,000 members, and buyers/sellers on the Platform. Existing OGN holders will be able to stake their OGN to participate in governance and earn incentives for driving value to OUSD. More details will be provided in the near future. + +The strong connection between OUSD and the rest of the Origin commerce platform will fuel growth in both initiatives. + + + diff --git a/fr/governance/ogn-staking.md b/fr/governance/ogn-staking.md new file mode 100644 index 000000000..e7a3e0bc2 --- /dev/null +++ b/fr/governance/ogn-staking.md @@ -0,0 +1,18 @@ +# OGN Staking + +Origin Token (OGN) is intended as the governance token for OUSD and OGN will play an increasingly important role as the Origin Platform becomes more decentralized. Today, users can stake their OGN tokens to earn additional OGN after a chosen staking period has elapsed. + +{% hint style="info" %} +Visit the [OUSD DApp](https://www.ousd.com/stake) in a web3-enabled browser to stake your OGN. +{% endhint %} + +The initial staking program offers three staking periods and respective yields: + +* 30-day staking period: Earn 7.5% annualized interest +* 90-day staking period: Earn 12.5% annualized interest +* 365-day staking period: Earn 25% annualized interest + +Staked tokens will be locked for the duration of the staking period. After each staking period ends, you will be able to claim both your initial OGN (principal) and yield. + +OGN is currently trading on top exchanges like [Coinbase](https://www.coinbase.com/price/origin-token), [Binance](https://www.binance.com/en/register?ref=NPPYAEAE), [Huobi](https://www.huobi.com/en-us/exchange/ogn_usdt/), [Upbit](https://upbit.com/exchange?code=CRIX.UPBIT.BTC-OGN), [Bittrex Global](https://global.bittrex.com/Market/Index?MarketName=BTC-OGN), and [dozens more](https://coinmarketcap.com/currencies/origin-protocol/markets/). Visit the Origin website to [learn more about OGN](https://www.originprotocol.com/ogn-token) or check out the [OGN Dashboard](https://www.originprotocol.com/dashboard) to track important token metrics. + diff --git a/fr/governance/phases.md b/fr/governance/phases.md new file mode 100644 index 000000000..4b45be826 --- /dev/null +++ b/fr/governance/phases.md @@ -0,0 +1,6 @@ +# Phases + +Progressive decentralization will follow four phases as outlined below. + +![](../.gitbook/assets/ousd_docs_graphics_2%20%282%29.png) + diff --git a/fr/governance/principles.md b/fr/governance/principles.md new file mode 100644 index 000000000..b809ce66f --- /dev/null +++ b/fr/governance/principles.md @@ -0,0 +1,30 @@ +# Principles + +**Governance Portal** + +OGN holders are encouraged to participate in creating and voting on proposals that impact the protocol in the [OGN governance portal](https://vote.originprotocol.com). Anyone with at least 1,000 OGN in their wallet or staked in our OGN Staking contract can create a new proposal using Snapshot. All OGN holders are able to vote for proposals. Our desire is for our community to have a strong impact on the direction of Origin’s products, open-source codebase, and to have a voice in key business decisions and the overall direction of the project. + +OGN holders can also [delegate votes](vote-delegation.md) to another account. + +**Progressive Decentralization** + +OUSD is designed to be a decentralized protocol governed by many stakeholders all over the world. We believe that the holders of OUSD should collectively determine important protocol decisions as soon as possible. + +That being said, in the very early days, it is imperative that the core engineering team can act quickly and decisively to build the foundational parts of the protocol. + +Decentralization will progress across four phases rapidly over the next few months. It is our intent to relinquish control and governance to the community as soon as possible. + +![](../.gitbook/assets/ousd\_docs\_graphics\_2 (2).png) + +**Timelock** + +Prior to full decentralized governance, we will implement a [timelock](../smart-contracts/api/timelock.md) in front of all admin function calls, giving OUSD users time to withdraw their funds if they have objections to our proposed upgrades. + +**New and Existing Stakeholders** + +OUSD is a new project founded by Origin Protocol [team](https://www.originprotocol.com/team) and will be supported by the existing Origin community as well as many new stakeholders that choose to mint, hold, use, and provide liquidity for OUSD. + +In addition, we also want to ensure high participation from our existing Origin Token (OGN) holders and the millions of people in our community. Existing OGN holders are able to [stake their OGN](ogn-staking.md) to participate in governance and earn incentives for driving value to OUSD. + +The strong connection between OUSD and the rest of the Origin commerce platform will fuel growth in both initiatives. + diff --git a/fr/governance/vote-delegation.md b/fr/governance/vote-delegation.md new file mode 100644 index 000000000..9a8149d2f --- /dev/null +++ b/fr/governance/vote-delegation.md @@ -0,0 +1,18 @@ +# Vote Delegation + +OGN holders can forward their voting power on the [Governance Portal](https://vote.originprotocol.com/#/) to another Ethereum address. Choosing this option does not strip the delegator of their voting power. The delegatee receives the extra voting power only on proposals the delegator has not voted on. + +This is convenient when users want someone they trust or even one of Origin's team members to make governance decisions regarding Origin's ecosystem. It is also useful when users have OGN stored more safely in a hardware wallet and don’t want to go through the hassle of connecting it to the computer. A more accessible Ethereum wallet e.g. Metamask can be used to vote by having voting power delegated to it from the hardware wallet.\ + + +**How to Delegate** + +* Go to: [https://snapshot.org/#/delegate](https://snapshot.org/#/delegate). +* Type in the address or ENS name you want to delegate to. +* There is an option to limit the delegation power to only Origin’s products by selecting _Limit delegation to a specific space_ and typing in “origingov.eth”. +* Click confirm to save your delegation.\ + + +![](../.gitbook/assets/Screenshot 2022-03-20 at 10.47.43.png) + +After completing these steps, the OGN voting power is successfully delegated to the address specified. diff --git a/fr/guides/incentivized-harvesting-guide.md b/fr/guides/incentivized-harvesting-guide.md new file mode 100644 index 000000000..a24597e9c --- /dev/null +++ b/fr/guides/incentivized-harvesting-guide.md @@ -0,0 +1,46 @@ +# Incentivized Harvesting Guide + +The OUSD Harvester contract collects reward tokens earned by the OUSD strategies, sells them, and sends them on to increase protocol yield. **Anyone can call the harvest and earn 1% of the resulting USDT** for doing so. This creates a self-incentivizing system that operates at a known cost to the protocol. + +### When to call + +You'll want to call this contract when it is profitable to do so. You gain the 1% harvest USDT given by the contract, and spend the gas cost to send the transaction. + +The simplest way to calculate both of these is to simulate the transaction. You can then look at the resulting transfers to know the income received, and you can look at the gas amount used, the current gas prices, and the current cost of ETH, to find out the cost. + +Alternatively you can precompute the gas used for a given strategy's harvest, look up the pending reward tokens using various online services, then do your calculations without using the blockchain. + +The amount of rewards increases at a fairly steady, predictable rate. The primary variation is in gas prices, which will make a much bigger minute to minute difference on when you should call this. + +When calculating profitability, remember to account for the cost to swap back to ETH from USDT. + +### How to call + +When you call the harvest, **you will want to use some form of MEV protection**. Otherwise bots will see that your transaction is profitable, and execute it ahead of you, leaving you no gain and only gas fees. + +To harvest, you call `harvester.harvestAndSwap(strategyAddress, rewardTo)`. + +The harvester address and strategyAddresses can be found in the strategy tab of the [contract registry](../smart-contracts/registry.md). The `rewardTo` address is the account that will receive the USDT funds as a reward for calling the function - use your own address for it. + +Below is the harvestAndSwap ABI: + +``` +[{ + "inputs": [ + { + "internalType": "address", + "name": "_strategyAddr", + "type": "address" + }, + { + "internalType": "address", + "name": "_rewardTo", + "type": "address" + } + ], + "name": "harvestAndSwap", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" +}] +``` diff --git a/fr/guides/integration-guide-for-exchanges.md b/fr/guides/integration-guide-for-exchanges.md new file mode 100644 index 000000000..cda6f2cd1 --- /dev/null +++ b/fr/guides/integration-guide-for-exchanges.md @@ -0,0 +1,34 @@ +# Integration Guide For Exchanges + +Centralized exchanges will play an important role in helping us reach our goal of making OUSD ubiquitous. We are happy to help any exchange that wants to make OUSD available to its users. We believe OUSD will make a great addition to any exchange that wants to offer both a superior stablecoin and a new high-yield opportunity for their users. + +These docs are a great starting point for understanding how OUSD works. Here are some important questions for exchanges that wish to integrate OUSD to consider: + +**Do you want to participate in the yield that is generated?** + +We're assuming the answer will be yes and we highly encourage this as well! However, there may be some instances where you would prefer to move fast and list OUSD without participating in the [rebasing nature of OUSD](../core-concepts/elastic-supply/rebasing-and-smart-contracts.md) since it's the fastest and simplest integration. For exchanges that want to list OUSD, but are strapped for engineering resources, you may want to launch the non-rebasing version first while your engineers make whatever changes are necessary. To make OUSD non-rebasing you can call `rebaseOptOut()` from each EOA wallet that holds OUSD, or do nothing if you are storing OUSD on smart contracts. Non-rebasing OUSD behaves just like any other ERC-20 token. + +**Are you storing customer balances on smart contracts (ie. multi-sigs) or EOA wallets?** + +Any smart contract that is holding OUSD needs to manually opt-in to receive the yield by calling `rebaseOptIn()`. This is due to the [elastic supply](../core-concepts/elastic-supply/) and the [rebasing nature of OUSD](../core-concepts/elastic-supply/rebasing-and-smart-contracts.md). Many exchanges sweep customer funds into a multi-sig wallet for cold storage. If you do this, you'll want to make sure that you opt-in to rebasing so that you are always earning. + +**Are you caching user balances?** + +OUSD dynamically updates the value returned by the `balanceOf()` function on our ERC20 contract. Users' balances will update at unpredictable times as new yield is generated by the protocol. As long as you aren't caching this value, users will always see the correct amount of OUSD that they are holding. + +It's important to note that while OUSD is a rebasing token, user balances will only rebase in a positive direction (your balance will never go down). This makes things a lot simpler than integrating with other rebasing coins like AMPL or other algo-stables. + +**Are you comingling user funds?** + +If you are comingling funds, you'll want to be sure that each user gets their pro-rata amount of the yield that is generated by the protocol. Probably the easiest way to do this is to track each user's balance as a percentage of a pool instead of as a fixed amount. + +**Are you planning to provide liquidity?** + +The Origin team is often willing to provide a market maker and initial liquidity for exchanges that wish to integrate OUSD. There are also 9 figures worth of liquidity available on decentralized exchanges like [Curve](https://curve.fi/factory/9). + +If you are interested in using OUSD to power your own staking or earning program, you will probably want to be able to access OUSD on demand. OUSD can always be minted or redeemed using the [Origin Dollar DApp](https://www.ousd.com), or directly from the OUSD [smart contracts](../smart-contracts/registry.md). If you are planning on providing liquidity yourself, you should be aware that the exact amount of OUSD you will receive in exchange for your USDT, USDC, or DAI depends on the current exchange rates as determined by the [oracles.](../core-concepts/price-oracles.md) If you are planning on redeeming OUSD for the underlying stablecoins, you should know there is a 0.25% exit fee and OUSD will return a basket of stable coins in proportion to the backing stablecoins in the pool. We encourage exchanges to leverage existing pools of liquidity to avoid those fees. If possible, mints or redeems should be done in large batches for maximum efficiency. + +#### Do you have other questions? + +The best way to get help from both our engineering and business teams is usually on [Discord](https://www.originprotocol.com/discord). + diff --git a/fr/how-it-works.md b/fr/how-it-works.md new file mode 100644 index 000000000..061ececf6 --- /dev/null +++ b/fr/how-it-works.md @@ -0,0 +1,39 @@ +# How It Works + +#### 100% Backed and Stable + +Origin Dollar (OUSD) is an ERC-20 compliant token for the Ethereum network. + +OUSD is a stable currency that is backed 1:1 by other stablecoins like USDT, USDC and DAI. As a result, 1 OUSD should always be very close to 1 USD in value. + +{% hint style="success" %} +1 OUSD = 1 USD +{% endhint %} + +#### Buying OUSD + +Users can convert their existing stablecoins (currently USDT, USDC, and DAI) to OUSD at the official [Origin Dollar DApp](https://www.ousd.com). Received OUSD begins accruing compounding yield immediately. + +The Origin DApp will intelligently route user's transactions to give them the best available price while taking slippage and gas costs into consideration. This means that the DApp will sometimes encourage users to buy OUSD that is already in circulation versus minting fresh OUSD from the vault. The OUSD DApp will choose from multiple sources of liquidity and will suggest the option that gives the user the best possible rate. + +**Selling OUSD** + +Users can convert their OUSD back into other stablecoins at any time using the [Origin Dollar DApp](https://www.ousd.com). The Origin DApp will intelligently route user's transactions to give them the best available price while taking slippage, gas costs, and the vault's exit fee into consideration. This means that the DApp will often help users sell their OUSD on AMM's instead of redeeming OUSD with the vault and incurring the protocol's exit fee. + +A 0.25% exit fee is charged upon redemption with the vault. This fee is distributed as additional yield to the remaining participants in the vault (ie. other OUSD holders). The fee serves as a security feature to make it difficult for attackers to take advantage of lagging oracles, preventing them from siphoning stablecoins from the vault in the event of mispriced underlying assets. The fee exists to incentivize long-term holders over short-term speculators. + +Upon redemption, the vault will determine which stablecoin(s) to return to the user. In the current implementation, the vault will return coins in the same ratio as the current holdings. This lack of user optionality also protects the vault as a whole in the event that any of the supported stablecoins loses its peg to the dollar. + +{% hint style="warning" %} +Redemptions on the OUSD vault incur a **0.25% exit fee** and the user doesn't get to pick which stablecoins they receive. Users can often avoid this fee by selling to an AMM instead. +{% endhint %} + +#### A**utomated Yield Farming** + +OUSD generates yields by deploying the underlying stablecoins that were deposited to the OUSD smart contract to other DeFi protocols such as Compound, Aave, and Curve. There may be new diversified strategies added to the vault in the future. Collected interest, trading fees, and rewards tokens are pooled and converted to stablecoins to produce OUSD-denominated yields. Over time, the protocol will move assets in and out of different liquidity pools in order to provide the best yield to the holders of OUSD. + +#### **Elastic Supply** + +The generated returns are passed on to the holders of OUSD via constant rebasing of the money supply. OUSD constantly adjusts the money supply in response to the yield the protocol has generated. This allows the price of OUSD to stay pegged at $1 while the balances in token holders' wallets adjust in real-time to reflect yields that have been earned by the protocol. + +The end result is a stablecoin that is easy to spend, earns outsized yields automatically, and is more desirable to hold than existing stablecoins. diff --git a/fr/security-and-risks/asset-risk.md b/fr/security-and-risks/asset-risk.md new file mode 100644 index 000000000..92140f5ed --- /dev/null +++ b/fr/security-and-risks/asset-risk.md @@ -0,0 +1,33 @@ +# Bug Bounties + +**Bug Bounties** + +Bug bounties are granted at the full discretion of Origin Protocol. The rewards range in size from **$100** for minor issues to **$250,000** for major vulnerabilities. Currently, the bounty program only applies to OUSD and not other products from Origin. + +{% hint style="warning" %} +In order to be eligible for a bug bounty, you must follow the rules of Responsible Disclosure outlined below. +{% endhint %} + +**Responsible Disclosure** + +Security is our top priority and we've taken every effort to make sure our code is secure and works as intended. However, it's completely possible that vulnerabilities both large and small may have gone undetected. + +In case you discover a vulnerability, we would like to know about it immediately so we can take steps to address it as quickly as possible. + +If you discover a vulnerability, please do the following: + +* Report your findings to [security@originprotocol.com](mailto:security@originprotcol.com) or contact [Josh Fraser on Keybase](https://keybase.io/joshfraser) +* Do not take advantage of the vulnerability or problem you have discovered +* Do not reveal the problem to others until it has been resolved +* Do not use attacks on physical security, social engineering, distributed denial of service, spam or applications of third parties +* Do provide sufficient information to reproduce the problem, so we will be able to resolve it as quickly as possible. Complex vulnerabilities may require further explanation so we might ask you for additional information. + +In return, we promise: + +* We will respond to your report within 3 business days with our evaluation of the report and an expected resolution date +* If you have followed the instructions above, we will not take any legal action against you in regard to the report +* We will handle your report with strict confidentiality, and not pass on your personal details to third parties without your permission +* If you so wish we will keep you informed of the progress towards resolving the problem +* In the public information concerning the problem reported, we will give your name as the discoverer of the problem \(unless you desire otherwise\) +* As a token of our gratitude for your assistance, we offer a reward for every report of a security problem that was not yet known to us. The amount of the reward will be determined based on the severity of the leak, the quality of the report, and any additional assistance you provide. + diff --git a/fr/security-and-risks/audits.md b/fr/security-and-risks/audits.md new file mode 100644 index 000000000..8d5402c70 --- /dev/null +++ b/fr/security-and-risks/audits.md @@ -0,0 +1,40 @@ +# Audits + +**The OUSD Vault, ERC-20, and Overall System** + +OUSD has been audited by multiple, well-respected security firms. We have worked with [OpenZeppelin](https://openzeppelin.com), [Trail of Bits](https://www.trailofbits.com), [Solidified](https://solidified.io), and [Certora](https://www.certora.com) to audit all of the code that powers Origin Dollar. Their findings are available below: + +* [Trail of Bits, OUSD Audit, December 2020](https://github.com/OriginProtocol/security/blob/master/audits/Trail%20of%20Bits%20-%20Origin%20Dollar%20-%20Dec%202020.pdf) +* [Solidified, OUSD Audit, December 2020](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20Origin%20Dollar%20-%20Dec%202020.pdf) +* [Solidified, OGN Staking Audit, December 2020](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20OGN%20Staking%20-%20Dec%202020.pdf) +* [Certora, OUSD Formal Verification Audit, January 2021](https://www.certora.com/pubs/OriginFeb2021.pdf) +* [OpenZeppelin, OUSD Audit, August 2021](https://github.com/OriginProtocol/security/blob/master/audits/OpenZeppelin%20-%20Origin%20Dollar%20-%20October%202021.pdf) +* [Solidified, wOUSD, ERC721a, Governance, Harvester & Dripper Audit, May 2022](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20OGV%2C%20wOUSD%2C%20and%20ERC721a%20-%20May%202022.pdf) + +Both our initial and future governance tokens have been audited as well: + +* [Trail of Bits, OGN Audit, November 2018](https://github.com/OriginProtocol/security/blob/master/audits/Trail%20of%20Bits%20-%20Origin%20Marketplace%20and%20OGN%20Token%20-%20Nov%202018.pdf) +* [Solidified, OGV Audit, May 2022](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20OGV%2C%20wOUSD%2C%20and%20ERC721a%20-%20May%202022.pdf) + +In addition, the underlying strategies and dependencies that OUSD utilizes have been thoroughly audited by various firms. + +{% hint style="info" %} +OUSD only integrates strategies that have been carefully audited and battle-tested with significant capital over an extended period of time. +{% endhint %} + +**Compound Strategy and Open Price Feed** + +Compound has been audited by [Trail of Bits](https://www.trailofbits.com) and [OpenZeppelin](https://openzeppelin.com) and formally verified by [Certora](https://www.certora.com). Visit the Compound website for their [full list of audits](https://compound.finance/docs/security#audits) including the original code for the modified [Timelock](../smart-contracts/api/timelock.md) that OUSD is using. + +**Aave Strategy** + +Aave has been audited by [Trail of Bits](https://www.trailofbits.com), [OpenZeppelin](https://openzeppelin.com), [ConsenSys Diligence](https://consensys.net/diligence/), [Certik](https://certik.io), [MixBytes](https://mixbytes.io), and [PeckShield](https://peckshield.com). They have also been formally verified by [Certora](https://www.certora.com). Visit the Aave website for [their full list of audits](https://docs.aave.com/developers/security-and-audits). + +**Curve Strategy** + +Curve has been audited by [Trail of Bits](https://www.trailofbits.com) and [Quantstamp](https://quantstamp.com). Visit the Curve website for [their full list of audits](https://www.curve.fi/audits). + +**Chainlink Oracles** + +Chainlink has been audited by [Quantstamp](https://github.com/smartcontractkit/chainlink/tree/bafa91c), [SigmaPrime](https://github.com/smartcontractkit/chainlink/tree/cee356), [Callisto](https://gist.github.com/yuriy77k/c3a70d212a7f9ecda715252e45073158), and [Nick Johnson](https://github.com/smartcontractkit/chainlink/tree/5327f9). + diff --git a/fr/security-and-risks/bug-bounties.md b/fr/security-and-risks/bug-bounties.md new file mode 100644 index 000000000..d6e21196f --- /dev/null +++ b/fr/security-and-risks/bug-bounties.md @@ -0,0 +1,32 @@ +# Bug Bounties + +**Bug Bounties** + +Bug bounties are granted at the full discretion of Origin Protocol. The rewards range in size from **$100 OUSD** for minor issues to **$250,000 OUSD** for major vulnerabilities. Currently, the bounty program only applies to OUSD and not other products from Origin. + +{% hint style="warning" %} +In order to be eligible for a bug bounty, you must follow the rules of Responsible Disclosure outlined below. +{% endhint %} + +**Responsible Disclosure** + +Security is our top priority and we've taken every effort to make sure our code is secure and works as intended. However, it's completely possible that vulnerabilities both large and small may have gone undetected. + +In case you discover a vulnerability, we would like to know about it immediately so we can take steps to address it as quickly as possible. + +If you discover a vulnerability, please do the following: + +* Report your findings to [security@originprotocol.com](mailto:security@originprotocol.com) or contact [Josh Fraser on Keybase](https://keybase.io/joshfraser). Here is an example of a [well written disclosure](https://gist.github.com/DanielVF/66f459da88804d1fd917c47576c68523). +* Do not take advantage of the vulnerability or problem you have discovered +* Do not reveal the problem to others until it has been resolved +* Do not use attacks on physical security, social engineering, distributed denial of service, spam or applications of third parties +* Do provide sufficient information to reproduce the problem, so we will be able to resolve it as quickly as possible. Complex vulnerabilities may require further explanation so we might ask you for additional information. + +In return, we promise: + +* We will respond to your report within 3 business days with our evaluation of the report and an expected resolution date +* If you have followed the instructions above, we will not take any legal action against you in regard to the report +* We will handle your report with strict confidentiality, and not pass on your personal details to third parties without your permission +* If you so wish we will keep you informed of the progress towards resolving the problem +* In the public information concerning the problem reported, we will give your name as the discoverer of the problem (unless you desire otherwise) +* As a token of our gratitude for your assistance, we offer a reward for every report of a security problem that was not yet known to us. The amount of the reward will be determined based on the severity of the leak, the quality of the report, and any additional assistance you provide. diff --git a/fr/security-and-risks/contributing.md b/fr/security-and-risks/contributing.md new file mode 100644 index 000000000..6937c347d --- /dev/null +++ b/fr/security-and-risks/contributing.md @@ -0,0 +1,95 @@ +# Contributing + +**100% Open-source** + +OUSD is an entirely open-source project and we welcome contributions of all sorts. There are many ways to help, from reporting issues, contributing code, and helping us improve our community. + +We work in public and our company Discord is open to all. If you have questions or need help getting started, our Discord OUSD channels are the best place to get assistance from our team and community. + +**Developer Analytics** + +Our internal developer dashboard is available at [analytics.ousd.com](https://analytics.ousd.com). The dashboard shows the current circulating supply, the assets under management in the vault, and the current allocations between each of the stablecoins and strategies. + +#### Development Process + +Our branching strategy is similar to [GitFlow](http://nvie.com/posts/a-successful-git-branching-model/), but we do all of our development in the `master` branch and have a `stable` branch for code that has been released. + +Your development flow should look like: + +1. Find an interesting issue and communicate! Please let the `#engineering` [Discord](https://discord.gg/jyxpUSe) channel know what you want to work on. +2. Ping a [core team member](https://github.com/orgs/OriginProtocol/teams/core/members) member on Discord and ask to be added to our [contributors team](https://github.com/orgs/OriginProtocol/teams/contributors). Otherwise, you’ll need to fork the relevant repository and push feature branches to your own fork. +3. Add a comment to the issue or self-assign so we don’t have multiple contributors unintentionally working on the same task. +4. Start with the `master` branch and check out a new feature branch unless you’re contributing to an existing feature. +5. Follow the appropriate [coding style](https://docs.originprotocol.com/guides/getting_started/contributing.html#contributing-email-coding-style) and write some awesome code. +6. Pull the latest commits from `master` and confirm that your code works with any other work that has been merged since you started. +7. Push your branch to the upstream repository \(i.e. https://github.com/OriginProtocol/\[repo\]\) so that other contributors can easily work off of it if necessary. +8. Please request a review in the PR by clicking on the gear icon next to “Reviewers” in the right column. + +For critical smart contract code to be merged it must pass the following checklist: + +* Code reviewed by 2 reviewers +* Unit tests pass +* Slither tests pass with no warning +* Echidna tests pass + +The `master` branch is locked so that only members of the [core team](https://github.com/orgs/OriginProtocol/teams/core) are able to merge your pull requests. Pull requests that are peer-reviewed by other trusted contributors will be fast-tracked and merged faster! Check in the `#engineering` Discord channel for appropriate reviewers. + +#### Coding Style + +We use a variety of programming languages in our repositories. When contributing, please follow existing coding conventions and refer to the CONTRIBUTING.md file in the repository, if one exists. + +For JavaScript, we use [NPM’s style](https://docs.npmjs.com/misc/coding-style), which is automatically enforced via [prettier](https://prettier.io/). + +For Solidity, we use two-space indents. + +#### Protocol Design + +When considering protocol or implementation design proposals, we are looking for: + +* A description of the problem this design proposal solves +* Discussion of the trade-offs involved +* Review of other existing solutions +* Links to relevant literature \(RFCs, papers, etc\) +* Discussion of the proposed solution + +Please note that protocol design is hard and meticulous work. You may need to review existing literature and think through generalized use cases. + +#### Community Guidelines + +We want to keep the Origin community awesome, growing and collaborative. We need your help to keep it that way. To help with this we’ve come up with some general guidelines for the community as a whole: + +* Be nice: Be courteous, respectful and polite to fellow community members: no regional, racial, gender, or other abuse will be tolerated. We like nice people way better than mean ones! +* Encourage diversity and participation: Make everyone in our community feel welcome, regardless of their background and the extent of their contributions, and do everything possible to encourage participation in our community. +* Keep it legal: Basically, don’t get anybody in trouble. Share only content that you own, do not share private or sensitive information, and don’t break laws. +* Stay on topic: Make sure that you are posting to the correct channel and avoid off-topic discussions. Remember when you update an issue or respond to an email you are potentially sending to a large number of people. Please consider this before you update. Also remember that nobody likes spam. + +#### Reporting Issues + +If you find bugs, mistakes or inconsistencies in Origin’s code or documents, please let us know by filing a GitHub issue. No issue is too small. Help us fix our tpyos! + +#### Security Issues + +OUSD is still in early development, which means there may be problems with the protocol or in our implementations. We take security vulnerabilities very seriously. If you discover a security issue, please bring it to our attention right away! + +If you find a security vulnerability please send your report privately to [security@originprotocol.com](mailto:security@originprotocol.com) or send an encrypted message to [@joshfraser on Keybase](https://keybase.io/joshfraser). Please DO NOT file a public issue. Be sure to review our guidelines for responsible disclosure and eligibility for bug bounties. + +{% page-ref page="bug-bounties.md" %} + +#### **Community Improvement** + +Origin is just as much about community as it is about our technology. + +We need constant help in improving our documentation, building new tools to interface with our platform, spreading the word to new users, helping new users getting setup and much more. + +Please get in touch if you would like to help out. Our `general` channel on [Discord](https://www.originprotocol.com/discord) is a great place to share ideas and volunteer to help. + +#### Full-Time Positions + +Origin occasionally hires developers for part-time or full-time positions. + +We have a strong preference for hiring people who have already started contributing to the project. If you want a full time position on our team, your best shot is to engage with our team and start contributing code. It is very unlikely that we would offer you a full-time position on our engineering team unless you’ve had at least a few pull requests merged. + +If you are interested, check out [the Origin Protocol job listings](https://angel.co/originprotocol/jobs). If you’d like to help in other ways, please propose your ideas in [our Discord channel](https://www.originprotocol.com/discord). + + + diff --git a/fr/security-and-risks/insurance.md b/fr/security-and-risks/insurance.md new file mode 100644 index 000000000..f805d14f1 --- /dev/null +++ b/fr/security-and-risks/insurance.md @@ -0,0 +1,15 @@ +# Insurance + +OUSD holders can buy smart contract insurance to cover any losses that might result from any bugs or vulnerabilities in the OUSD contracts, including economic exploits (such as flash loans attacks). In addition, anyone who wants to make a financial bet on the security of our contracts can earn a yield by providing coverage. + +DeFi coverage for OUSD is currently available via[ Nexus Mutual](https://nexusmutual.io) and [InsurAce Protocol](https://www.insurace.io). These partnerships allow for more effective risk management by OUSD holders while creating new opportunities for coverage providers to profit. + +Read our [announcement post](https://medium.com/originprotocol/origin-partners-with-nexus-mutual-to-offer-defi-insurance-for-origin-dollar-ousd-6eb3432ee042) to learn how to [buy coverage](https://app.nexusmutual.io/cover/buy/get-quote?address=0xE75D77B1865Ae93c7eaa3040B038D7aA7BC02F70), [provide coverage](https://app.nexusmutual.io/staking), or [participate in shield mining campaigns](https://app.nexusmutual.io/rewards) with Nexus Mutual. You can learn more about InsurAce and how to buy coverage on their [user guide](https://docs.insurace.io/landing-page/documentation-1/user-guide) or [documentation](https://docs.insurace.io/landing-page/). + +**Nexus Mutual Coverage** + +Read our[ announcement post](https://medium.com/originprotocol/origin-partners-with-nexus-mutual-to-offer-defi-insurance-for-origin-dollar-ousd-6eb3432ee042) to learn how to[ buy coverage](https://app.nexusmutual.io/cover/buy/get-quote?address=0x0000000000000000000000000000000000000016),[ provide coverage](https://app.nexusmutual.io/staking), and[ participate in shield mining campaigns](https://app.nexusmutual.io/rewards) with Nexus Mutual. + +**InsurAce Protocol Coverage** + +Read InsurAce Protocol’s [User Guide](https://docs.insurace.io/landing-page/documentation-1/user-guide) to learn how to [buy coverage](https://docs.insurace.io/landing-page/documentation-1/user-guide/dashboard) and participate in [underwriting mining](https://docs.insurace.io/landing-page/documentation-1/user-guide/how-to-stake) for OUSD. diff --git a/fr/security-and-risks/risks.md b/fr/security-and-risks/risks.md new file mode 100644 index 000000000..64dc13dc0 --- /dev/null +++ b/fr/security-and-risks/risks.md @@ -0,0 +1,44 @@ +# Risks + +{% hint style="danger" %} +Use at your own risk. Do not deploy more capital than you are willing to lose. +{% endhint %} + +As with any yield-generating DeFi product, there are associated risks with holding OUSD that are important to understand. These risks can be broadly classified into 3 categories: + +* OUSD smart contract risk +* Underlying third-party platform risk +* Underlying stablecoin risk + +**OUSD smart contract risk** + +Our smart contracts have been [audited](audits.md) by multiple, well-respected security firms. However, it is important to note that even with formal audits, it is still possible for there to be logic errors that could lead to the loss of funds for OUSD holders. The contracts involve complex math and logic. While we have taken every precaution to ensure the safety and security of our smart contracts, users are reminded to use at their own risk. Origin Protocol will not be held responsible for any loss of funds, regardless of who is at fault. + +**Third-party platform risk** + +OUSD is built on top of other DeFi platforms like Aave, Compound, and Curve that add additional smart contract risk. We are choosing to work with platforms that have literally billions of dollars of assets under management and have made a reasonable efforts to ensure the security of their protocols. However, there are no guarantees that the underlying third-party platforms will continue to work as intended, and any failure in an underlying strategy would potentially lead to a loss of funds for OUSD holders. + +**Stablecoin risks** + +It is important to understand that OUSD is only as strong as the stablecoins that are backing it. Any loss of value to an underlying stablecoin asset will cause a similar loss to the value of OUSD. While OUSD is designed to maintain a 1:1 relationship between supply and number of backing stablecoins, it does not guarantee which stablecoins will make up that backing nor the value of those coins. + +It is important to note that each of the supported stablecoins introduces non-trivial counter-party risk. Tether, in particular, has had well-documented banking troubles and regulatory challenges. In addition, both USDT and USDC have backdoors that grant their issuers the power to freeze money in their holder's wallets. While DAI does not have any direct backdoors, its assets can also be negatively impacted since USDC and USDT are accepted as collateral for minting DAI. + +**Risk mitigation** + +While it's impossible to guarantee our contracts are 100% safe, we have taken every step possible to mitigate the chance of losing funds: + +We regularly have our work [audited ](audits.md)by the top auditors in the industry. + +[DeFi insurance](insurance.md) is availble to offer smart contract coverage as an optional add-on service for OUSD holders. + +We have retained [Certora](https://www.certora.com) to formally verify the various security properties of our contracts. They helped us establish automated verifications that will run anytime we update our contract code. We have automated checking for common errors with [Slither](https://github.com/crytic/slither) and [Echidna](https://github.com/crytic/echidna) tests. Together, these alert our team to common security issues in addition to our own test suite. + +Code reviews involving our smart contracts are incredibly rigorous. We require at least two engineers to review each change with a detailed checklist and we prioritize security reviews over new feature development. + +Finally, we have formalized an engineering [rotation](https://github.com/OriginProtocol/security/blob/master/incidents/ROTATION.md) for reviewing [attacks on other projects](https://github.com/OriginProtocol/security/tree/master/incidents) as well as ensuring we deep dive into each of these reviews, including reviewing the affected contracts' source code ourselves. We've observed that attackers often exploit the same fundamental vulnerability on multiple different projects. By reviewing other project's vulnerabilities, we force ourselves to stay up to date on the latest security threats in our industry and are constantly learning from their mistakes. + +**Actions speak louder than words** + +You should also know that many members of the Origin team, including both founders, are holding a significant portion of their personal wealth in OUSD. Origin Protocol's corporate treasury is also holding millions of dollars in OUSD. We have skin in the game and are willing to put our own money at risk with the code we have written. + diff --git a/fr/security-and-risks/untitled.md b/fr/security-and-risks/untitled.md new file mode 100644 index 000000000..21b692090 --- /dev/null +++ b/fr/security-and-risks/untitled.md @@ -0,0 +1,20 @@ +# Audits + +{% hint style="danger" %} +The OUSD smart contracts have not yet been audited. We strongly recommend reviewing our smart contracts before depositing significant amounts of capital. +{% endhint %} + +**OUSD** + +Audits have already been scheduled with the respected security firm, [Trail of Bits](https://www.trailofbits.com/), for early October 2020. Their audit results will be publicly released as soon as they are available. + +**Supported Strategies** + +Multiple audits for Compound have already been completed and are available on their website. This includes the original code for the modified [Timelock](../smart-contracts/api/timelock-1.md) that OUSD is using. + +{% page-ref page="untitled.md" %} + + + + + diff --git a/fr/smart-contracts/api/README.md b/fr/smart-contracts/api/README.md new file mode 100644 index 000000000..ff400f20f --- /dev/null +++ b/fr/smart-contracts/api/README.md @@ -0,0 +1,9 @@ +# API + +Documentation of contracts API used by the protocol: + +* [Vault](vault.md) +* [ERC-20](erc-20-1.md) +* [Timelock](timelock.md) +* [Stategies](strategies.md) + diff --git a/fr/smart-contracts/api/erc-20-1.md b/fr/smart-contracts/api/erc-20-1.md new file mode 100644 index 000000000..164343cc0 --- /dev/null +++ b/fr/smart-contracts/api/erc-20-1.md @@ -0,0 +1,16 @@ +# ERC-20 + +{% hint style="success" %} +The main ERC20 address for Origin Dollar (OUSD) is: \ **0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +OUSD is an ERC-20 compliant token with one novel property (elastic supply) that is important to understand. + +{% hint style="warning" %} +Wallets and exchanges that wish to integrate OUSD should not cache token balances for OUSD as this value will change frequently as yield is accrued to token holders. +{% endhint %} + +The biggest difference separating OUSD from your average ERC-20 token is the way OUSD's`balanceOf()` function will return a variable amount based on the total value of the vault multiplied by the holder's stake in the vault. This difference is vital to understand, particularly for wallets and exchanges that wish to integrate the OUSD token. This value should be fetched in real-time instead of being cached since OUSD rebases frequently. + + + diff --git a/fr/smart-contracts/api/oracle.md b/fr/smart-contracts/api/oracle.md new file mode 100644 index 000000000..c67e3f74f --- /dev/null +++ b/fr/smart-contracts/api/oracle.md @@ -0,0 +1,7 @@ +# Oracles + +{% hint style="info" %} +La documentation suivera sous peu. +{% endhint %} + +OUSD uses Chainlink [oracles](../../core-concepts/price-oracles.md) to secure the protocol from pricing attacks. You can [read more about our decision to work with Chainlink](https://blog.originprotocol.com/how-origin-uses-chainlink-oracles-to-secure-ousd-bff5601e840e) on the Origin blog. diff --git a/fr/smart-contracts/api/ousd.md b/fr/smart-contracts/api/ousd.md new file mode 100644 index 000000000..8d6981144 --- /dev/null +++ b/fr/smart-contracts/api/ousd.md @@ -0,0 +1,8 @@ +# OUSD + +{% hint style="info" %} +Documentation coming soon. +{% endhint %} + + + diff --git a/fr/smart-contracts/api/strategies.md b/fr/smart-contracts/api/strategies.md new file mode 100644 index 000000000..a275b76e6 --- /dev/null +++ b/fr/smart-contracts/api/strategies.md @@ -0,0 +1,14 @@ +# Strategies + +{% hint style="info" %} +Documentation coming soon. +{% endhint %} + +New strategies can be added or removed at any time to respond to new market realities and diversify risk. + +Once we migrate to decentralized governance, it is our intent for the community to propose new strategies and to vote on the appropriate weight for each strategy in the pool. We anticipate that most OUSD holders will value having some exposure to higher yield opportunities while maintaining more conservative positions for a portion of the funds. + + + + + diff --git a/fr/smart-contracts/api/timelock-1.md b/fr/smart-contracts/api/timelock-1.md new file mode 100644 index 000000000..88954aca7 --- /dev/null +++ b/fr/smart-contracts/api/timelock-1.md @@ -0,0 +1,22 @@ +# Timelock + +{% hint style="danger" %} +The timelock will be added soon after everything is verified as working. Until then, the contracts will be governed by Origin's 5 of 8 multi-sig. This allows for a faster response if any critical issues are discovered. +{% endhint %} + +The timelock contract enforces a 48 hour wait period before any changes to the OUSD contracts can be executed. The timelock can be called by our multi-sig and is the owner of our [ERC-20](../architecture.md), [Vault](vault.md), and [Strategies](strategies.md) contracts. Time-delaying admin actions gives users a chance to exit OUSD if its admins become malicious, are compromised, or make a change that the users do not like. + +{% hint style="info" %} +The timelock is a safety measure that gives OUSD holders 48 hours to withdraw their funds if they have objections to any proposed upgrades to the protocol. +{% endhint %} + +OUSD is using a slightly modified version of the [Compound Timelock](https://compound.finance/docs/governance) which has been [audited by OpenZeppelin](https://blog.openzeppelin.com/compound-finance-patch-audit/). The 3 notable differences are: + +1. OUSD will initially use a shorter wait period \(48 hours\) than Compound \(72 hours\) to allow for a faster response if any issues are discovered. +2. Once the 48 hours have passed, anyone is free to execute the call, not just the owner of the contract. +3. Deposits \(but not withdrawals or transfers\) can be immediately frozen without requiring the 48 waiting period. This is in case a major vulnerability is discovered. + + + + + diff --git a/fr/smart-contracts/api/timelock.md b/fr/smart-contracts/api/timelock.md new file mode 100644 index 000000000..2273ddad7 --- /dev/null +++ b/fr/smart-contracts/api/timelock.md @@ -0,0 +1,15 @@ +# Timelock + +The timelock contract enforces a 48 hour wait period before any changes to the OUSD contracts can be executed. The timelock can be called by our multi-sig and is the owner of our [ERC-20](../architecture.md), [Vault](vault.md), and [Strategies](strategies.md) contracts. Time-delaying admin actions gives users a chance to exit OUSD if its admins become malicious, are compromised, or make a change that the users do not like. + +{% hint style="info" %} +The timelock is a safety measure that gives OUSD holders 48 hours to withdraw their funds if they have objections to any proposed upgrades to the protocol. +{% endhint %} + +OUSD is using a slightly modified version of the [Compound Timelock](https://compound.finance/docs/governance) which has been [audited by OpenZeppelin](https://blog.openzeppelin.com/compound-finance-patch-audit/). The two notable differences are: + +1. OUSD will initially use a shorter wait period (48 hours) than Compound (72 hours) to allow for a faster response if any issues are discovered. +2. Some actions, such as reallocating funds between existing strategies and freezing deposits can be called immediately by a multisig wallet without requiring the 48 waiting period. This is in case a major vulnerability is discovered. + + + diff --git a/fr/smart-contracts/api/vault.md b/fr/smart-contracts/api/vault.md new file mode 100644 index 000000000..13a7a8601 --- /dev/null +++ b/fr/smart-contracts/api/vault.md @@ -0,0 +1,184 @@ +--- +description: >- + The vault is the main contract of the protocol. The vault is responsible for minting/redeeming OUSD tokens, rebalancing funds between the various supported strategies, and liquidating rewards tokens. +--- + +# Vault + +## Units + +All OUSD amounts passed or returned by the Vault methods use 18 decimal places. For example, 1 OUSD is expressed as 1000000000000000000. + +For other stable coins, the number of decimal places varies. DAI uses 18 decimal places while USDC and USDT use only 6. + +The protocol was updated in November are [currently underway](https://github.com/OriginProtocol/origin-dollar/issues/590) to increase the resolution of rebasing calculations from 18 decimals to 27 decimals. The OUSD token itself will still retain 18 decimals of precision and user balances should not change. + +## Methods‌ + +### mint() + +**`function mint(address _asset, uint256 _amount, uint256 _minimumOusdAmount)`**‌ + +Mints OUSD in exchange for a deposit of a certain `_amount` of stablecoin specified by the `_asset` parameter. The caller receives a certain amount of OUSD depending on the **exchange rate**. + +| Parameter Name | Type | Description | +| --------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | +| \_asset | address | Address of the [supported](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/core-concepts/supported-assets) stablecoin | +| \_amount | uint256 | Amount deposited, expressed in decimal units | +| \_minimumOusdAmount | uint256 | Minimum amount of OUSD the caller is willing to receive. The call to mint() reverts if the minimum is not met. | + +### mintMultiple() + +**`function mintMultiple(address[] _assets, uint256[] _amounts, uint256 _minimumOusdAmount)`**‌ + +Mints OUSD in exchange for a deposit of multiple stablecoins in a single call. Stablecoins are specified by the `_assets` array parameter and the amounts by the `_amounts` array parameter. The caller receives a certain amount of OUSD depending on the **exchange rate**. + +| Parameter Name | Type | Description | +| --------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| \_assets | address\[] | Addresses of the [supported](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/core-concepts/supported-assets) stablecoins | +| \_amounts | uint256\[] | Amounts deposited, expressed in decimal units | +| \_minimumOusdAmount | uint256 | Minimum amount of OUSD the caller is willing to receive. The call to mint() reverts if the minimum is not met. | + +{% hint style="warning" %} +On redemptions, it is the protocol and not the user that decides which stablecoin(s) are returned to the user. This decision of which coin(s) to return is based on the internal ratios of the assets that are being held in the vault.‌ +{% endhint %} + +### redeem() + +**`function redeem(uint256 _amount)`**‌ + +OUSD specified by the `_amount` parameter is redeemed in exchange for one or multiple supported stablecoins. Amount of stablecoins received depends on the **exchange rate**. + +| Parameter Name | Type | Description | +| -------------- | ------- | ----------------------------------------- | +| \_amount | uint256 | amount of OUSD expressed in decimal units | + +### redeemAll()‌ + +**`function redeemAll()`**‌ + +All OUSD in user's possession is redeemed in exchange for one or multiple supported stablecoins. Amount of stablecoins received depends on the **exchange rate**. + +### rebase() + +**`function rebase()`**‌ + +Updates the balances for all users based on the value of the assets currently stored in the vault. Returns total value of the underlying assets and strategies represented by `uint256` type.‌ + +### allocate() + +**`function allocate()`**‌ + +Moves the assets under management into their prescribed [Stategies](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/architecture/strategies) to maximize yield and diversify risk.‌ + +### totalValue() + +**`function totalValue()`**‌ + +Returns total value of underlying assets and strategies. + +| `return` name | Type | Description | +| ------------- | ------- | ------------------------------------------------ | +| value | uint256 | total value of underlying assets and strategies. | + +### checkBalance() + +**`function checkBalance(address _asset)`**‌ + +Returns the balance of an asset specified by the`_asset` parameter held in Vault and all strategies represented by `uint256` type. + +| Parameter Name | Type | Description | +| -------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | +| \_asset | address | Address of the [supported](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/core-concepts/supported-assets) stablecoin | + +### calculateRedeemOutputs() + +**`function calculateRedeemOutputs(uint256 _amount)`**‌ + +Calculate the mix of stablecoins that a `redeem` function would return when redeeming certain amount of OUSD specified by the `_amount` parameter. Returns an array of stablecoin values. + +To attribute the stablecoin values to the correct stablecoin currency this call should be used in conjunction with `getAllAssets` function that returns an array of stablecoin addresses. + +The index of an array that is returned by the `calculateRedeemOutputs` corresponds to the stablecoin address with the same index in an array returned by the `getAllAssets` function. + +| Parameter Name | Type | Description | +| -------------- | ------- | ----------------------------------------- | +| \_amount | uint256 | amount of OUSD expressed in decimal units | + +| `return` name | Type | Description | +| ------------- | ----------- | --------------------------------------------------------------------------- | +| outputs | uint256\[] | array of the amount of the stablecoin assets `redeem` function would return | + +### getAssetCount() + +**`function getAssetCount()`**‌ + +Return the number of supported stablecoin assets represented by `uint256` type.‌ + +### getAllAssets() + +**`function getAllAssets()`**‌ + +Return all assets addresses of supported stablecoin assets in order represented by `uint256` type.‌ + +### getStrategyCount()‌ + +**`function getStrategyCount()`**‌ + +Return the number of strategies active on the Vault represented by `uint256` type.‌ + +### getAPR() + +**`function getAPR()`**‌ + +Return the total annual percentage yield (APR) of the Vault and all Strategies represented by `uint256` type. Resulting number has 18 decimal places.‌ + +### isSupportedAsset() + +**`function isSupportedAsset(address _asset)`**‌ + +Return the boolean that is true if the asset specified by the `_asset` parameter is supported by the Vault. + +| Parameter Name | Type | Description | +| -------------- | ------- | ------------------------- | +| \_asset | address | Address of the stablecoin | + +### priceUSDMint() + +**`function priceUSDMint(string symbol)`**‌‌ + +Returns the exchange rate price of a stable coin specified by the `symbol` parameters used when minting OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Parameter Name | Type | Description | +| -------------- | ------ | ------------------------ | +| symbol | string | Symbol of the stablecoin | + +### priceUSDRedeem() + +**`function priceUSDRedeem(string symbol)`**‌‌ + +Returns the exchange rate price of a stable coin specified by the `symbol` parameters used when redeeming OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Parameter Name | Type | Description | +| -------------- | ------ | ------------------------ | +| symbol | string | Symbol of the stablecoin | + +### priceAssetUSDMint()‌ + +**`function priceAssetUSDMint(address _asset)`**‌‌ + +Returns the exchange rate price of a stable coin specified by the `_asset` parameters used when minting OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Parameter Name | Type | Description | +| -------------- | ------- | -------------------------- | +| \_asset | address | Address of the stablecoin‌ | + +### priceAssetUSDRedeem()‌ + +**`function priceAssetUSDRedeem(address _asset)`**‌‌‌ + +Returns the exchange rate price of a stable coin specified by the `_asset` parameters used when redeeming OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Parameter Name | Type | Description | +| -------------- | ------- | ------------------------- | +| \_asset | address | Address of the stablecoin | diff --git a/fr/smart-contracts/architecture.md b/fr/smart-contracts/architecture.md new file mode 100644 index 000000000..f53eacf24 --- /dev/null +++ b/fr/smart-contracts/architecture.md @@ -0,0 +1,18 @@ +# Architecture + +![](../.gitbook/assets/ousd\_docs\_graphics\_3.png) + +OUSD is made up of a series of smart contracts. Each of these contracts is wrapped in a proxy contract that can be upgraded via the governance protocols. + +Internally, ownership in the vault is tracked using a credits system that represents the percent ownership of the vault for each holder. The [ERC-20](api/erc-20-1.md) contract handles the conversion to USD terms when viewing a balance or initiating a transfer between wallets. + +The [Vault](api/vault.md) is responsible for minting and burning OUSD. It also enforces the percentage of assets that are deployed to each of the supported [Strategies](../core-concepts/supported-strategies/). To optimize gas costs, the vault may maintain a buffer to allow most deposits and redemptions to occur without winding/unwinding assets from strategies. + +The Flipper is a smart contract for users to swap in and out of OUSD cheaply for any of DAI, USDC, or USDT at a fixed 1:1 rate. This contract is used as an alternative way to route user transactions originating from the web app. It's important to note that this contract may be empty on one side (e.g., contain 0 OUSD balance), and thus sometimes provides limited swap routes. While limited in functionality, Flipper uses around 45% less gas than Uniswap v3 due to its simplicity. + +The Harvester contract collects reward tokens earned by the strategies, sells them, and sends the resulting stablecoins to the Dripper to be released to the vault. Anyone can call the harvest and earn 1% of the resulting USDT for doing so. This creates a self-incentivizing system that operates at a known fixed cost. See our [incentivized-harvesting-guide.md](../guides/incentivized-harvesting-guide.md "mention") for details. + +The Dripper contract buffers aproximately one week of reward token sales proceeds and makes it avaiable at a smooth rate to the vault. This keeps OUSD yield from being extremely spiky when harvests come in. The rate is recalculated at least once per day and is the rate that it would take to distribute the current dripper holdings out over a one week period. + + + diff --git a/fr/smart-contracts/erc-20.md b/fr/smart-contracts/erc-20.md new file mode 100644 index 000000000..c3a21d407 --- /dev/null +++ b/fr/smart-contracts/erc-20.md @@ -0,0 +1,12 @@ +# Architecture + +![](../.gitbook/assets/ousd_docs_graphics_3.png) + +OUSD is made up of a series of smart contracts. Each of these contracts is wrapped in a proxy contract that can be upgraded via the governance protocols. + +Internally, ownership in the pool is tracked using a credits system that represents the percent ownership of the pool for each holder. The [ERC-20](api/erc-20-1.md) contract handles the conversion to USD terms when viewing a balance or initiating a transfer between wallets. + +The [Vault](api/vault.md) is responsible for minting and burning OUSD. It also enforces the percentage of assets that are deployed to each of the supported [Strategies](../core-concepts/supported-strategies/). To optimize gas costs, the vault maintains a buffer to allow most deposits and redemptions to occur without winding/unwinding assets from strategies. + + + diff --git a/fr/smart-contracts/registry.md b/fr/smart-contracts/registry.md new file mode 100644 index 000000000..f2d45b7dd --- /dev/null +++ b/fr/smart-contracts/registry.md @@ -0,0 +1,156 @@ +# Registry + +Here is the full registry of OUSD smart contracts that have been deployed to the Ethereum mainnet. + +{% hint style="success" %} +The main ERC20 address for Origin Dollar (OUSD) is: \ +**0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +{% tabs %} +{% tab title="Core" %} +Well-known addresses (proxy wrappers): + + + +| Contract | Address | ENS | +| -------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------- | +| OUSD | [0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86](https://etherscan.io/address/0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86) |

ousd.eth

origindollar.eth

| +| Vault | [0xE75D77B1865Ae93c7eaa3040B038D7aA7BC02F70](https://etherscan.io/address/0xe75d77b1865ae93c7eaa3040b038d7aa7bc02f70) | [originvault.eth](https://etherscan.io/address/originvault.eth) | + + + +Internal implementation contracts. The Vault is split into VaultAdmin and VaultCore to work around the maximum contract size limit on Ethereum: + + + +| Contract | Address | +| ---------- | --------------------------------------------------------------------------------------------------------------------- | +| OUSD | [0x33db8d52d65F75E4cdDA1b02463760c9561A2aa1](https://etherscan.io/address/0x33db8d52d65F75E4cdDA1b02463760c9561A2aa1) | +| VaultAdmin | [0x3EB68D8f4992A0e34aA58cc3dF86A40814078cF6](https://etherscan.io/address/0x3EB68D8f4992A0e34aA58cc3dF86A40814078cF6) | +| VaultCore | [0x226de75867B2f785BA19600e2a7e6eFccD57157B](https://etherscan.io/address/0x226de75867B2f785BA19600e2a7e6eFccD57157B) | +{% endtab %} + +{% tab title="Strategies" %} +Well-known addresses (proxy wrappers): + + + +| Strategy | Address | Auto-Allocation | +| -------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------- | +| Aave | [0x5e3646A1Db86993f73E6b74A57D8640B69F7e259](https://etherscan.io/address/0x5e3646A1Db86993f73E6b74A57D8640B69F7e259) | Manual allocation | +| Compound | [0x9c459eeb3FA179a40329b81C1635525e9A0Ef094](https://etherscan.io/address/0x9c459eeb3FA179a40329b81C1635525e9A0Ef094) | 100% of USDC, USDT and DAI | +| Convex | [0xEA2Ef2e2E5A749D4A66b41Db9aD85a38Aa264cb3](https://etherscan.io/address/0xEA2Ef2e2E5A749D4A66b41Db9aD85a38Aa264cb3#code) | Manual allocation | + + + +Internal implementation contracts: + + + +| Strategy | Address | +| -------- | -------------------------------------------------------------------------------------------------------------------------- | +| Aave | [0xA050eBE34Be464902F7E0F7F451f4B5253d57114](https://etherscan.io/address/0xA050eBE34Be464902F7E0F7F451f4B5253d57114) | +| Compound | [0x47f3eb71b5507df5ab6ac7f8660ef282ab0e560f](https://etherscan.io/address/0x47f3eb71b5507dF5Ab6aC7F8660Ef282Ab0E560f) | +| Convex | [0x08f3a0637851aA1B0E0750aA3d46E0E356f349aC](https://etherscan.io/address/0x08f3a0637851aa1b0e0750aa3d46e0e356f349ac#code) | + + + +Yield harvesting and collection: + + + +| | | +| --------- | -------------------------------------------------------------------------------------------------------------------------- | +| Contract | Address | +| Harvester | [0x21fb5812d70b3396880d30e90d9e5c1202266c89](https://etherscan.io/address/0x21fb5812d70b3396880d30e90d9e5c1202266c89#code) | +| Dripper | [0x80c898ae5e56f888365e235ceb8cea3eb726cb58](https://etherscan.io/address/0x80c898ae5e56f888365e235ceb8cea3eb726cb58#code) | +{% endtab %} + +{% tab title="Oracles" %} +The following Chainlink oracles are used to protect the vault in case a backing stablecoin loses value. They also offer slippage protection when harvesting rewards tokens or executing the OGN buyback. + + + +| Pair | Contract | +| ------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| [USDT/USD](https://data.chain.link/ethereum/mainnet/stablecoins/usdt-usd) | [0x3E7d1eAB13ad0104d2750B8863b489D65364e32D](https://etherscan.io/address/0x3E7d1eAB13ad0104d2750B8863b489D65364e32D) | +| [USDC/USD](https://data.chain.link/ethereum/mainnet/stablecoins/usdc-usd) | [0x8fFfFfd4AfB6115b954Bd326cbe7B4BA576818f6](https://etherscan.io/address/0x8fFfFfd4AfB6115b954Bd326cbe7B4BA576818f6) | +| [DAI/USD](https://data.chain.link/ethereum/mainnet/stablecoins/dai-usd) | [0xAed0c38402a5d19df6E4c03F4E2DceD6e29c1ee9](https://etherscan.io/address/0xAed0c38402a5d19df6E4c03F4E2DceD6e29c1ee9) | +| [COMP/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/comp-usd) | [0xdbd020caef83efd542f4de03e3cf0c28a4428bd5](https://etherscan.io/address/0xdbd020caef83efd542f4de03e3cf0c28a4428bd5) | +| [AAVE/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/aave-usd) | [0x547a514d5e3769680Ce22B2361c10Ea13619e8a9](https://etherscan.io/address/0x547a514d5e3769680Ce22B2361c10Ea13619e8a9) | +| [CRV/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/crv-usd) | [0xcd627aa160a6fa45eb793d19ef54f5062f20f33f](https://etherscan.io/address/0xcd627aa160a6fa45eb793d19ef54f5062f20f33f) | +| [CVX/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/cvx-usd) | [0xd962fC30A72A84cE50161031391756Bf2876Af5D](https://etherscan.io/address/0xd962fC30A72A84cE50161031391756Bf2876Af5D) | +| [OGN/ETH](https://data.chain.link/ethereum/mainnet/crypto-eth/ogn-eth) | [0x2c881b6f3f6b5ff6c975813f87a4dad0b241c15b](https://etherscan.io/address/0x2c881b6f3f6b5ff6c975813f87a4dad0b241c15b) | +{% endtab %} + +{% tab title="Governance" %} + + +| Contract | Address | ENS | +| ------------------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------- | +| 5 of 8 Multisig | [0xbe2AB3d3d8F6a32b96414ebbd865dBD276d3d899](https://etherscan.io/address/0xbe2AB3d3d8F6a32b96414ebbd865dBD276d3d899) | [originprotocol.eth](https://etherscan.io/address/originprotocol.eth) | +| 2 of 9 Multisig | [0xF14BBdf064E3F67f51cd9BD646aE3716aD938FDC](https://etherscan.io/address/0xF14BBdf064E3F67f51cd9BD646aE3716aD938FDC) | [originstrategist.eth](https://etherscan.io/address/originstrategist.eth) | +| Governor / Timelock | [0x72426BA137DEC62657306b12B1E869d43FeC6eC7](https://etherscan.io/address/0x72426BA137DEC62657306b12B1E869d43FeC6eC7) |

origingovernor.eth

origintimelock.eth

| +| OGN Buyback | [0x77314EB392b2be47C014cde0706908b3307Ad6a9](https://etherscan.io/address/0x77314EB392b2be47C014cde0706908b3307Ad6a9) | [originbuyback.eth](https://etherscan.io/address/originbuyback.eth) | +{% endtab %} + +{% tab title="Stablecoins" %} +| Contract | Address | +| ------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| [USDT](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | [0xdac17f958d2ee523a2206206994597c13d831ec7](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | +| [USDC](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | [0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | +| [DAI](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | [0x6b175474e89094c44da98b954eedeac495271d0f](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | +{% endtab %} + +{% tab title="Staking" %} +| Contract | Address | ENS | +| ----------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- | +| OGN Staking | [0x501804B374EF06fa9C427476147ac09F1551B9A0](https://etherscan.io/address/0x501804B374EF06fa9C427476147ac09F1551B9A0) | [originstaking.eth](https://etherscan.io/address/originstaking.eth) | + + + +Internal implementation contracts: + + + +| Contract | Address | +| ----------- | --------------------------------------------------------------------------------------------------------------------- | +| OGN Staking | [0x8cd68a1e0b79150455c5498882d5d5d3df2dde08](https://etherscan.io/address/0x8cd68a1e0b79150455c5498882d5d5d3df2dde08) | + + + +OUSD compensation contract ([details](https://medium.com/originprotocol/origin-delivers-on-compensation-promise-claim-your-ousd-and-ogn-now-a9fa9b840476)): + + + +| Contract | Address | +| ----------------- | --------------------------------------------------------------------------------------------------------------------- | +| OUSD Compensation | [0x9C94df9d594BA1eb94430C006c269C314B1A8281](https://etherscan.io/address/0x9C94df9d594BA1eb94430C006c269C314B1A8281) | +{% endtab %} + +{% tab title="Flipper" %} +Flipper is a gas-optimized way for users to swap in and out of OUSD at a fixed 1:1 rate with other stablecoins. This contract may become empty on one side (e.g., contain 0 OUSD balance), and thus sometimes provides limited swap routes. + + + +| Contract | Address | ENS | +| -------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- | +| Flipper | [0xcecaD69d7D4Ed6D52eFcFA028aF8732F27e08F70](https://etherscan.io/address/0xcecaD69d7D4Ed6D52eFcFA028aF8732F27e08F70) | [originflipper.eth](https://etherscan.io/address/originflipper.eth) | +{% endtab %} + +{% tab title="Wrapped" %} +Wrapped OUSD\ +\ **Well known proxy address:** - [0xD2af830E8CBdFed6CC11Bab697bB25496ed6FA62](https://etherscan.io/address/0xD2af830E8CBdFed6CC11Bab697bB25496ed6FA62) + +Internal implementation address - [0xbf3b9b141cb3629f5bb8f721cba9265c92494539](https://etherscan.io/address/0xbf3b9b141cb3629f5bb8f721cba9265c92494539) +{% endtab %} +{% endtabs %} + + + + + + + + diff --git a/hi/README.md b/hi/README.md new file mode 100644 index 000000000..7c08388ed --- /dev/null +++ b/hi/README.md @@ -0,0 +1,29 @@ +--- +description: The first stablecoin that earns a yield while it's still in your wallet +--- + +# Introduction + +## **A Better Form of Money** + +Origin Dollar (OUSD) is a new stablecoin that was initially launched in September 2020 on the Ethereum network. Its design is superior to existing stablecoins because OUSD captures competitive yields while being passively held in wallets. + +![](.gitbook/assets/origin-dollar-summary.jpeg) + +**Background** + +In 1999, Yu Pan, Origin’s R\&D engineer, and his fellow PayPal co-founders [conceived](https://www.cnbc.com/2017/08/14/david-sacks-cryptocurrency-interview.html) of creating “the new world currency”, complete with interest yielding strategies and debit cards without having to connect to traditional banking systems. Several pivots and an eBay acquisition later, PayPal dropped its ambitions in this area. + +Almost two decades later, Tether introduced the concept of a USD-denominated stablecoin in 2014. Since then, stablecoins have proven themselves as an ideal way of transferring value without exposing users to the price volatility of free-floating currencies. Today, more value is [transferred via Tether](https://www.bloomberg.com/news/articles/2019-10-01/tether-not-bitcoin-likely-the-world-s-most-used-cryptocurrency) than with Bitcoin. Meanwhile, Decentralized Finance (DeFi) has experienced an explosion of growth with [billions of dollars](https://defipulse.com) of capital now locked up in smart contracts that generate yields from lending and trading protocols. + +One of the problems with existing stablecoins is that users have to constantly choose between holding an easily spendable coin and earning yields by locking their tokens up in smart contracts. For example, users that lock up USDC in Aave cannot spend a portion of that USDC simultaneously. Expensive Ethereum gas fees serve as "switching costs" each time those users want to switch between spending mode and earning mode. + +To make matters worse, yields from lending and trading activities change rapidly. Sophisticated DeFi yield earners are familiar with constantly having to rebalance their portfolio of assets across many competing platforms. This is time-consuming and expensive as gas fees once again eat into yields. In addition, it is time-consuming to calculate real ROI as APYs are unstable and constantly fluctuating. There isn't an easy unit of account. As a result, while DeFi is growing extremely rapidly, it still makes it difficult for many cryptocurrency users to participate. + +With OUSD, there’s no need to unwind complicated positions when you want to spend your OUSD. You can transfer it freely without having to pay gas to unlock spendable capital. In addition, OUSD gives you access to some of the highest-earning opportunities across DeFi with none of the hassles. The OUSD smart contract will deploy your underlying capital to a diversified set of yield-earning strategies, rebalancing over time to achieve great yields while diversifying risk. Earnings automatically accrue in your wallet and compound continuously while you hold OUSD. Again, no staking or lockups are required. OUSD also serves as an ideal unit of account. DeFi investors no longer need complicated spreadsheets to calculate their earnings as they can easily see their constantly updated OUSD balances in real-time as their interest compounds automatically. OUSD is an ideal stablecoin for DeFi yield farmers and novice cryptocurrency users alike. + +Created by cryptocurrency and fintech veterans, the Origin Dollar is brought to you by the [team](https://www.originprotocol.com/team) at [Origin Protocol](https://www.originprotocol.com) that includes serial entrepreneurs, early cryptocurrency investors, early employees at YouTube, engineering managers at Google/Dropbox, and one of the Paypal co-founders, Yu Pan. + +For those interested in diving into the technical details of how it works, these docs are a great place to start. We encourage developers to audit and contribute to our [Github](http://www.github.com/OriginProtocol) (100% open-source). Our team hangs out in [Discord](https://www.originprotocol.com/discord) if you have questions or need help getting started. + +Welcome to the future of money. diff --git a/hi/SUMMARY.md b/hi/SUMMARY.md new file mode 100644 index 000000000..a389e6c18 --- /dev/null +++ b/hi/SUMMARY.md @@ -0,0 +1,64 @@ +# Table of contents + +* [Introducing OUSD](README.md) +* [How It Works](how-it-works.md) +* [Getting Started](getting-started.md) +* [Analytics Dashboard](analytics-dashboard.md) +* [FAQ](faq.md) + +## Core Concepts + +* [Elastic Supply](core-concepts/elastic-supply/README.md) + * [Rebasing & Smart Contracts](core-concepts/elastic-supply/rebasing-and-smart-contracts.md) +* [Yield Generation](core-concepts/yield-generation/README.md) + * [Lending](core-concepts/yield-generation/lending.md) + * [Market Making](core-concepts/yield-generation/market-making.md) + * [Rewards](core-concepts/yield-generation/rewards.md) +* [Wrapped OUSD](core-concepts/wrapped-ousd.md) +* [Supported Stablecoins](core-concepts/supported-stablecoins/README.md) + * [USDT](core-concepts/supported-stablecoins/usdt.md) + * [USDC](core-concepts/supported-stablecoins/usdc.md) + * [DAI](core-concepts/supported-stablecoins/dai.md) +* [Supported Strategies](core-concepts/supported-strategies/README.md) + * [Compound](core-concepts/supported-strategies/compound.md) + * [Aave](core-concepts/supported-strategies/aave.md) + * [Curve](core-concepts/supported-strategies/curve.md) + * [Convex](core-concepts/supported-strategies/convex.md) +* [Fund Management](core-concepts/fund-management.md) +* [Price Oracles](core-concepts/price-oracles.md) + +## Governance + +* [Principles](governance/principles.md) +* [Admin Privileges](governance/admin-privileges.md) +* [OGN Staking](governance/ogn-staking.md) +* [Contributing](governance/contributing.md) +* [Vote Delegation](governance/vote-delegation.md) + +## Smart Contracts + +* [Architecture](smart-contracts/architecture.md) +* [Registry](smart-contracts/registry.md) +* [API](smart-contracts/api/README.md) + * [Vault](smart-contracts/api/vault.md) + * [ERC-20](smart-contracts/api/erc-20-1.md) + * [Timelock](smart-contracts/api/timelock.md) + * [Strategies](smart-contracts/api/strategies.md) + +## Security & Risks + +* [Risks](security-and-risks/risks.md) +* [Audits](security-and-risks/audits.md) +* [Insurance](security-and-risks/insurance.md) +* [Bug Bounties](security-and-risks/bug-bounties.md) + +## Guides + +* [Integration Guide For Exchanges](guides/integration-guide-for-exchanges.md) +* [Incentivized Harvesting Guide](guides/incentivized-harvesting-guide.md) + +## Links + +* [Github](https://www.github.com/originprotocol/origin-dollar) +* [Discord](https://www.originprotocol.com/discord) +* [originprotocol.com](https://www.originprotocol.com) diff --git a/hi/analytics-dashboard.md b/hi/analytics-dashboard.md new file mode 100644 index 000000000..9c3e6a577 --- /dev/null +++ b/hi/analytics-dashboard.md @@ -0,0 +1,31 @@ +# Analytics Dashboard + +{% hint style="info" %} +Visit [analytics.ousd.com](https://analytics.ousd.com) to see how funds are allocated, view historical performance data, and track your personal gains. +{% endhint %} + +The [APY dashboard](https://analytics.ousd.com/apy) is primarily intended for consumption by our engineering team, but we went ahead and deployed it since our ethos is "public by default" and everything that we do is [open-source](http://github.com/OriginProtocol). Unfortunately, that often means erring on the side of transparency and not necessarily the side of taking the time to explain things clearly. + +Before diving into the yield calculation, it's important to understand how OUSD works both in terms of [yield generation](https://docs.ousd.com/core-concepts/yield-generation) and [rebasing](https://docs.ousd.com/core-concepts/elastic-supply). You can read all about that in these [docs](https://docs.ousd.com), including [the part about smart contracts being excluded from yield](https://docs.ousd.com/core-concepts/elastic-supply/rebasing-and-smart-contracts). + +To summarize how APY is calculated, it's the annualized rate of change in OUSD's internal accounting of users' balances between two points in time. To understand that, let's break down the columns in the historical APY table (in reverse order). + +**Ratio** + +There are two types of OUSD balances: rebasing (most accounts) and non-rebasing (smart contracts that have not opted in). The OUSD token contract maintains a separate internal accounting for each type of balance using what it calls "credits". The ratio shown here is the rebasing supply of OUSD divided by the rebasing credits, which gives us the exchange rate between the two. + +**Credits** + +Some smart contracts holding OUSD have unique credit balances because their rebasing status has changed at some point in the past (by opting in or out). Here we show the sum of all rebasing credits and non-rebasing credits. When multiplied by the ratio, it gives the difference between backing supply and non-rebasing supply. + +**Non-rebasing** + +This is the portion of supply held in other smart contracts that have not opted in to rebasing. When added to (credits \* ratio), this equals backing supply. Note also that the **%** column shows the percentage of OUSD that is non-rebasing. + +**Boost** + +The APY is effectively "boosted" for rebasing accounts thanks to the fact that some OUSD is non-rebasing. Think about all of the stablecoins that were used as collateral to mint the non-rebasing OUSD. Those stablecoins are still earning through our yield farming strategies, but the gains are accruing only to the rebasing accounts. The result is that the effective APY is higher than it would be without this mechanism. The boost is the measure of this difference. If boost is 100%, then regular OUSD holders are enjoying double the APY that they otherwise would. + +**APR/APY calculation** + +Bringing this full circle, we currently measure yield by measuring the change in the [rebasing credits per token](https://github.com/OriginProtocol/origin-dollar/blob/master/contracts/contracts/token/OUSD.sol#L45) between two points in time. But there are a few other considerations to note. First, we have to make an assumption about how many Ethereum blocks are mined on an average day. We use a [fixed 6,500](https://github.com/OriginProtocol/ousd-analytics/blob/master/eagleproject/core/views.py#L43), but the actual number of blocks per day is variable. Second, we need a reasonable time horizon to measure. We focus on 30 days, which has proven to be a relatively consistent window of time during which a complete sample of yield-generating activities has occurred. Third, we convert APR into APY by assuming [constant daily compounding](https://github.com/OriginProtocol/ousd-analytics/blob/master/eagleproject/core/views.py#L449-L451). In other words, yield is constantly being reinvested into the same strategies. Finally, there is one notable drawback to using the rebase ratio to measure yield. Since rebase events currently occur sporadically (and not very frequently in a world of high gas prices), the APY won't reflect earnings that have not yet been translated to account balances. For example, there could be an interest rate spike in Compound or a volume spike in the Curve 3pool strategy, which would cause OUSD to earn more than it does on an average day. Until [the rebase method](https://github.com/OriginProtocol/origin-dollar/blob/master/contracts/contracts/vault/VaultCore.sol#L365-L370) gets called, the APY will underreport these earnings. In fact, anyone who sells OUSD during that time would be missing out on the "[next rebase](https://analytics.ousd.com)". The good news is that you should be able to observe the change in your balance over one week and it (annualized) should approximately equal our advertised APY. diff --git a/hi/architecture/erc-20-1.md b/hi/architecture/erc-20-1.md new file mode 100644 index 000000000..a9caff400 --- /dev/null +++ b/hi/architecture/erc-20-1.md @@ -0,0 +1,19 @@ +# ERC-20 + +{% hint style="success" %} +The main ERC20 address for Origin Dollar \(OUSD\) is: +**0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +OUSD is an ERC-20 compliant token with one novel property that is important to understand. + +{% hint style="warning" %} +Wallets and exchanges that wish to integrate OUSD should not cache token balances for OUSD as this value will change frequently as yield is accrued to token holders. +{% endhint %} + +The biggest difference separating OUSD from your average ERC-20 token is the way OUSD's`balanceOf()` function will return a variable amount based on the total value of the pool multiplied by the holder's stake in the pool. This difference is vital to understand, particularly for wallets and exchanges that wish to integrate the OUSD token. This value should be fetched in real-time instead of being cached since OUSD rebases frequently. + + + + + diff --git a/hi/architecture/erc-20.md b/hi/architecture/erc-20.md new file mode 100644 index 000000000..9a789241b --- /dev/null +++ b/hi/architecture/erc-20.md @@ -0,0 +1,12 @@ +# Overview + +![](../.gitbook/assets/ousd_docs_graphics_3.png) + +OUSD is made up of a series of smart contracts. Each of these contracts is wrapped in a proxy contract that can be upgraded via the governance protocols. + +Internally, ownership in the pool is tracked using a credits system that represents the percent ownership of the pool for each holder. The ERC-20 contract handles the conversion to USD terms when viewing a balance or initiating a transfer between wallets. + +The Vault is responsible for minting and burning OUSD. It also enforces the percentage of assets that are deployed to each of the supported [Strategies](../core-concepts/supported-strategies/). To optimize gas costs, the vault maintains a buffer to allow most deposits and redemptions to occur without winding/unwinding assets from strategies. + + + diff --git a/hi/architecture/strategies.md b/hi/architecture/strategies.md new file mode 100644 index 000000000..3133d5b03 --- /dev/null +++ b/hi/architecture/strategies.md @@ -0,0 +1,14 @@ +# Strategies + +New strategies can be added or removed at any time to respond to new market realities and diversify risk. + +At launch, OUSD will take advantage of a single strategy and deploy deposited capital to Compound. We intend to deploy many other strategies soon thereafter. + +Once we migrate to decentralized governance, it is our intent for the community to propose new strategies and to vote on the appropriate weight for each strategy in the pool. We anticipate that most OUSD holders will value having some exposure to higher yield opportunities while maintaining more conservative positions for a portion of the funds. + + + + + + + diff --git a/hi/architecture/timelock.md b/hi/architecture/timelock.md new file mode 100644 index 000000000..b26b30f1c --- /dev/null +++ b/hi/architecture/timelock.md @@ -0,0 +1,22 @@ +# Timelock + +{% hint style="danger" %} +The timelock will be added soon after everything is verified as working. Until then, the contracts will be governed by Origin's 5 of 8 multi-sig. This allows for a faster response if any critical issues are discovered. +{% endhint %} + +The timelock contract enforces a 48 hour wait period before any changes to the OUSD contracts can be executed. The timelock can be called by our multi-sig and is the owner of our [ERC-20](erc-20.md), [Vault](vault.md), and [Strategies](strategies.md) contracts. Time-delaying admin actions gives users a chance to exit OUSD if its admins become malicious, are compromised, or make a change that the users do not like. + +{% hint style="info" %} +The timelock is a safety measure that gives OUSD holders 48 hours to withdraw their funds if they have objections to any proposed upgrades to the protocol. +{% endhint %} + +OUSD is using a slightly modified version of the [Compound Timelock](https://compound.finance/docs/governance) which has been [audited by OpenZeppelin](https://blog.openzeppelin.com/compound-finance-patch-audit/). The 3 notable differences are: + +1. OUSD will initially use a shorter wait period \(48 hours\) than Compound \(72 hours\) to allow for a faster response if any issues are discovered. +2. Once the 48 hours have passed, anyone is free to execute the call, not just the owner of the contract. +3. Deposits \(but not withdrawals or transfers\) can be immediately frozen without requiring the 48 waiting period. This is in case a major vulnerability is discovered. + + + + + diff --git a/hi/architecture/vault.md b/hi/architecture/vault.md new file mode 100644 index 000000000..ebb2a96dc --- /dev/null +++ b/hi/architecture/vault.md @@ -0,0 +1,17 @@ +# Vault + +The vault is at the core of the protocol. The vault is responsible for minting/redeeming OUSD tokens, rebalancing funds between the various supported strategies, and liquidating rewards tokens. + +The most important publicly callable functions on the Vault are: + +* `mint()`allows a single supported stablecoin to be converted to OUSD +* `mintMultiple()`allows multiple supported stablecoins to be converted to OUSD in a single call +* `redeem()`allows a specified amount of OUSD to be redeemed for other supported stablecoins. +* `redeemAll()`allows a user to redeem their entire balance of OUSD for other supported stablecoins. This is particularly useful since user balances are constantly growing as yield is accrued. +* `rebase()`updates the balances for all users based on the value of the assets currently stored in the pool. +* `allocate()`moves the assets under management into their prescribed [Stategies](strategies.md) to maximize yield and diversify risk. + +On redemptions, it is the protocol and not the user that decides which stablecoin\(s\) to return to the user. This decision of which coin\(s\) to return is based on the internal ratios of the assets that are being held in the pool. + + + diff --git a/hi/core-concepts/elastic-supply.md b/hi/core-concepts/elastic-supply.md new file mode 100644 index 000000000..2cf0fd8ae --- /dev/null +++ b/hi/core-concepts/elastic-supply.md @@ -0,0 +1,18 @@ +# Elastic Supply + +**Elastic Supply. Stable Price.** + +OUSD works differently than most tokens. Instead of the price increasing as the value of the assets under management increase \(as with Compound cTokens or Yearn yTokens\), the value of one OUSD remains constant at approximately $1. Instead, the contracts constantly adjust the monetary supply and automatically updates the balance in every token holder’s wallet to reflect the yield that has been earned by the protocol. + +{% hint style="info" %} +Think of it as interest accruing in your bank account. The unit of account and value for the US dollar doesn’t change. You just get more US dollars over time as you earn interest. +{% endhint %} + +![](../.gitbook/assets/ousd_docs_graphics_4.png) + +This mechanism was inspired by the novel approach taken by [Ampleforth](https://www.ampleforth.org/), but there are some key differences that are worth highlighting: + +1. OUSD is 100% backed by other stablecoins and will not have the same challenge maintaining the peg to the dollar. Given the ease of minting and redeeming OUSD, we can count on arbitrageurs to ensure the peg is maintained. +2. OUSD rebasing should only increase supply since the amount of OUSD minted is tied to the realized gains earned by the underlying strategies. Your principal is protected as long as nothing goes wrong with the underlying lending/AMM and stablecoin protocols. Any decrease in your balance would be an indication of trouble in the system. +3. Unlike Ampleforth, which rebases once a day, the monetary supply of OUSD is constantly being updated in real-time as yield is generated. + diff --git a/hi/core-concepts/elastic-supply/README.md b/hi/core-concepts/elastic-supply/README.md new file mode 100644 index 000000000..a681d0615 --- /dev/null +++ b/hi/core-concepts/elastic-supply/README.md @@ -0,0 +1,21 @@ +# Elastic Supply + +**Elastic Supply. Stable Price.** + +OUSD works differently than most tokens. Instead of the price increasing as the value of the assets under management increase (as with Compound cTokens or Yearn yTokens), the value of one OUSD remains constant at approximately $1. Instead, the contracts constantly adjust the monetary supply and automatically updates the balance in every token holder’s wallet to reflect the yield that has been earned by the protocol. + +{% hint style="info" %} +Think of it as interest accruing in your bank account. The unit of account and value for the US dollar doesn’t change. You just get more US dollars over time as you earn interest. +{% endhint %} + +![](../../.gitbook/assets/ousd\_docs\_graphics\_4.png) + +This mechanism was inspired by the novel approach taken by [Ampleforth](https://www.ampleforth.org), but there are some key differences that are worth highlighting: + +1. OUSD is 100% backed by other stablecoins and does not have the same challenge maintaining the peg to the dollar. Given the ease of minting and redeeming OUSD, we can count on arbitrageurs to ensure the peg is maintained. +2. OUSD rebasing will only increase supply since the amount of OUSD minted is tied to the realized gains earned by the underlying strategies. Your principal is protected as long as nothing goes wrong with the underlying lending/AMM and stablecoin protocols. Your OUSD balance will never decrease, but the value could drop if there's a failure in the underlying systems. +3. Unlike Ampleforth, which only rebases once a day, the monetary supply of OUSD is constantly being updated in real-time as yield is generated. Rebases are triggered regularly as users interact with the OUSD contracts. Chainlink Keepers ensure at least one rebase occurs every day. + +**Manually triggering a rebase** + +Anyone can trigger a rebase at any time by [calling the rebase function on the vault](https://etherscan.io/address/originvault.eth#writeProxyContract). You can do this on Etherscan by connecting a web3 wallet. diff --git a/hi/core-concepts/elastic-supply/rebasing-and-smart-contracts.md b/hi/core-concepts/elastic-supply/rebasing-and-smart-contracts.md new file mode 100644 index 000000000..cdebbc4bf --- /dev/null +++ b/hi/core-concepts/elastic-supply/rebasing-and-smart-contracts.md @@ -0,0 +1,22 @@ +# Rebasing & Smart Contracts + +If you are using a multi-sig wallet or another smart contract that wishes to participate in the rebasing aspect of OUSD you must call OUSD’s`rebaseOptIn()` function. This only applies to smart contracts as standard EOA wallets are enrolled automatically. + +{% hint style="info" %} +Multi-sig wallets or other smart contracts must call`rebaseOptIn()`to earn yield. +{% endhint %} + +By default, OUSD that is held on smart contracts will not participate in the rebasing nature of the token and will forfeit any yield unless the smart contract explicitly opts-in. This increases the composability of OUSD within DeFi as many protocols weren't designed with the expectation that balances might change. To other DeFi protocols, OUSD works just like any other normal, well-behaved ERC-20 until you ask it to change. This is a particularly useful attribute for automated market makers (AMM’s) like Uniswap which break when the number of tokens they are holding changes unexpectedly. + +![The Gnosis Safe OUSD app will prompt you to opt in to yield](../../.gitbook/assets/ousd-app-in-gnosis-safe.png) + +Smart contracts must explicitly opt-in to receiving yield via the rebasing mechanism. This fixes the issue with the expanding supply on AMM’s while still allowing multi-sig wallets and other smart contracts the opportunity to still participate and earn yield. + +{% hint style="warning" %} +If you are deploying a contract and intend to call`rebaseOptIn()`to earn yield you cannot call it from the contract's constructor. The contract must be deployed before it can be called. +{% endhint %} + +[Gnosis Safe](https://gnosis-safe.io) users are encouraged to use the Origin Dollar app which will prompt you to opt in to receiving yield. If you are using the "Old" [Gnosis Wallet](https://github.com/gnosis/MultiSigWallet) or another contract-based wallet, you will need the [proxy contract address for OUSD](../../smart-contracts/registry.md) and the corresponding [ABI](https://api.etherscan.io/api?module=contract\&action=getabi\&address=0x1ae95dd4eeae7ed03da79856c2d44ffa3318f805). Once you add those, you will be able to call the `rebaseOptIn()` function to opt into receiving yield via rebasing or`rebaseOptOut()` to turn it off again. + + + diff --git a/hi/core-concepts/fund-management.md b/hi/core-concepts/fund-management.md new file mode 100644 index 000000000..d6b1920c5 --- /dev/null +++ b/hi/core-concepts/fund-management.md @@ -0,0 +1,23 @@ +# Fund Management + +The OUSD smart contract aggregates all users' stablecoin deposits into a single pool of assets that are then deployed into earning strategies based on preset allocations. In contrast to Yearn Vaults, TokenSets, or Zapper opportunities, users do not select individual strategies. All deposited stablecoins and consequently all OUSD tokens are fungible. + +The weighting of how assets are distributed between the supported strategies is decided by OGN holders using weekly snapshot voting. These votes happen offchain and do not cost any gas. The results of the weekly poll will then be executed onchain by members of the [Strategist multi-sig](https://etherscan.io/address/0xF14BBdf064E3F67f51cd9BD646aE3716aD938FDC) (known as "Strategists"). + +Ultimately, we believe it should be up to the community to decide what the right balance of risk/reward is appropriate for OUSD. We encourage the community to favor high-yield strategies while still maintaining diversification across multiple strategies to remove single points of failure and minimize risk. + +**How strategy allocation voting works:** + +* New snapshot proposals will open for voting on the [OGN governance portal ](http://vote.originprotocol.com)at midnight Tuesday UTC (7pm eastern Monday). The poll will be open for 48 hours, ending at midnight Thursday UTC (7pm eastern on Wednesday). +* During this time, those interested can discuss allocation changes in a thread in the #governance channel on [Origin's Discord](https://www.originprotocol.com/discord). +* Each proposal will use "weighted voting", with options for each coin/strategy combination and an option to keep the existing allocation unchanged. OGN holders can spread their votes among different listed strategies or the existing allocation. +* After the voting time has ended, Strategists will submit, verify, and execute transactions to change OUSD to the determined allocation percentages for the week. If more than 50% of the weighted votes are cast for the existing allocation, Strategists will take no action. +* Allocations will be executed for strategies that use all stablecoins first (like Convex), then each stablecoin will be allocated to the remaining strategies according to the ratio of votes for that stablecoin / strategy combination. +* If the Strategists deem any of the allocations unsafe to the funds behind OUSD, they may choose to not execute those. In addition, Strategists may decline to execute minor adjustments where the gas costs would be greater than the expected benefits. +* Like all governance proposals, Strategist allocations must meet the minimum quorum requirements (currently 1M OGN) to be considered valid. +* From a security standpoint, it is important to know that while Strategists have the ability to move funds between approved strategies or instantly pause rebasing in the case of an emergency, Strategists do not have the power to add new strategies or withdraw funds without going through the timelock. Community members can use the Strategy Validator tools to more easily [create](https://analytics.ousd.com/strategist/creator) and [decode](https://analytics.ousd.com/strategist) which actions are being performed by the Strategists. +* When voting, please remember it is inefficient to move in and out of the Convex strategy frequently and some funds need to always remain outside of Convex in order to accommodate withdrawals. + + + +**** diff --git a/hi/core-concepts/fund-management/README.md b/hi/core-concepts/fund-management/README.md new file mode 100644 index 000000000..4f6287602 --- /dev/null +++ b/hi/core-concepts/fund-management/README.md @@ -0,0 +1,6 @@ +# Fund Management + +The OUSD smart contract aggregates all users' stablecoin deposits into a single pool of investable assets. Funds are then allocated across one or more [earning strategies](earning-strategies.md) at any given moment in time. The Vault favors high-yield strategies but also seeks to maintain diversification across multiple strategies. Diversification removes single points of failures and mitigates risks. + +In contrast to Yearn Vaults, TokenSets, or Zapper opportunities, users do not select individual strategies. All deposited stablecoins and consequently all OUSD tokens are fungible. + diff --git a/hi/core-concepts/fund-management/diversification.md b/hi/core-concepts/fund-management/diversification.md new file mode 100644 index 000000000..3d98a522e --- /dev/null +++ b/hi/core-concepts/fund-management/diversification.md @@ -0,0 +1,8 @@ +# Diversification + +The initial version of the OUSD Vault smart contract gives each valid strategy a simple weight between 0% and 100% to perform simple asset allocation. These weights will be shifted often via updates by Origin in the short-term and by decentralized governance in the long-term. + +Diversification across multiple underlying DeFi [platforms](../supported-strategies/) will reduce smart contract and other systemic risks. The smart contract will calculate current and expected APYs in an effort to provide competitive returns to OUSD holders. Over time, the Vault contract will be upgraded to intelligently and autonomously shift between strategies without any manual intervention. For example, the Vault will automatically shift capital between various lending strategies to optimize for yields. + +However, it is still expected that certain risk parameters or decisions on whether certain strategies will be included in the automated decision-making engine will be made through governance votes. + diff --git a/hi/core-concepts/fund-management/earning-strategies.md b/hi/core-concepts/fund-management/earning-strategies.md new file mode 100644 index 000000000..0fb0111e4 --- /dev/null +++ b/hi/core-concepts/fund-management/earning-strategies.md @@ -0,0 +1,6 @@ +# Earning Strategies + +Earning strategies put deployed capital to work across various DeFi platforms. The Vault will determine which strategies are active and what percentage of deployed capital they will receive. + +In addition, strategies will be upgraded over time. For example, at launch, there will be an initial [Compound strategy](../supported-strategies/compound.md). Over time, this may be replaced by a v2 or v3 Compound strategy. + diff --git a/hi/core-concepts/price-oracles.md b/hi/core-concepts/price-oracles.md new file mode 100644 index 000000000..1b08c685f --- /dev/null +++ b/hi/core-concepts/price-oracles.md @@ -0,0 +1,38 @@ +- - - +description: OUSD uses Chainlink to secure the protocol from pricing attacks +- - - + +# Price Oracles + +### Stablecoin Pricing + +OUSD is designed to stay pegged at 1 USD and be 1:1 backed with its underlying stablecoins. This is trickier than it sounds because these underlying stablecoins are constantly deviating from their own desired 1 USD pegs. While the majority of daily fluctuations are minor, there have been major swings in price that have occurred in the past and are likely to occur again in the future. + +| Coin | **Low** | **High** | **Delta** | **Source** | +| ---- | ---------------------------------------------------- | ---------------------------------------------------- | --------- | --------------------------------------------------------------------------- | +| USDC |

$0.929222

Mar 13, 2020

|

$1.11

Oct 15, 2018

| $0.180778 | [CoinMarketCap](https://coinmarketcap.com/currencies/usd-coin/) | +| USDC |

$0.924188

Aug 02, 2020

|

$1.17

May 08, 2019

| $0.245812 | [CoinGecko](https://www.coingecko.com/en/coins/usd-coin) | +| DAI |

$0.945505

May 10, 2020

|

$1.11

Mar 13, 2020

| $0.164495 | [CoinMarketCap](https://coinmarketcap.com/currencies/multi-collateral-dai/) | +| DAI |

$0.903243

Nov 25, 2019

|

$1.22

Mar 13, 2020

| $0.316757 | [CoinGecko](https://www.coingecko.com/en/coins/dai) | +| USDT |

$0.849809

Feb 02, 2017

|

$1.21

May 27, 2017

| $0.360191 | [CoinGecko](https://www.coingecko.com/en/coins/tether) | +| USDT |

$0.572521

Mar 02, 2015

|

$1.32

Jul 24, 2018

| $0.747479 | [CoinMarketCap](https://coinmarketcap.com/currencies/tether/) | + +The rebasing function treats 1 stablecoin as 1 OUSD for simplicity and to protect OUSD balances from being affected by the daily fluctuations in the price of the underlying stablecoins. Since the rebase function only counts coins, OUSD balances should only increase. + +In order to mint and redeem the appropriate number of OUSD on entry and exit, the smart contracts need to accurately price the USDT, USDC, and DAI that is entering and exiting the system. + +As an added precaution, OUSD never pays more than a dollar for a stablecoin, nor sells a stablecoin for less than a dollar. Oracles giving wrong prices will not result in a reduction of the number of stablecoins held. Gains that are collected as a result of stablecoins slipping from their peg are redistributed to the remaining holders of OUSD in the form of additional yield. + +As a decentralized protocol, OUSD must rely on non-centralized sources for these prices. OUSD uses Chainlink oracles for pricing data for DAI, USDC and USDT. You can read more about [our decision to work with Chainlink](https://blog.originprotocol.com/how-origin-uses-chainlink-oracles-to-secure-ousd-bff5601e840e) on our blog. Here are the Chainlink oracles we are currently using for stablecoin pricing: + +{% embed url="https://data.chain.link/usdt-usd" %} + +{% embed url="https://data.chain.link/usdc-usd" %} + +{% embed url="https://data.chain.link/dai-usd" %} + +### Reward Token Oracles & Front Running Protection + +When reward tokens from OUSD strategies are sold for additional yield, Chainlink oracles are checked to ensure that the sale price slippage has not exceeded normal bounds. These oracles are listed on our [registry](../smart-contracts/registry.md) page under the "Oracles" tab. + +The same is also true for OGN buybacks from OUSD yield.\ \ When minting and redeeming OUSD, a miniumun required amount can be passed into the contract call to ensure that the entire transaction fails if not enough OUSD or stablecoins would be returned to the user due to changing prices. diff --git a/hi/core-concepts/price-oracles/README.md b/hi/core-concepts/price-oracles/README.md new file mode 100644 index 000000000..58ed68ed4 --- /dev/null +++ b/hi/core-concepts/price-oracles/README.md @@ -0,0 +1,126 @@ +# Price Oracles + +OUSD is designed to stay pegged at 1 USD and be 1:1 backed with its underlying stablecoins. This is trickier than it sounds because these underlying stablecoins are constantly deviating from their own desired 1 USD pegs. While the majority of daily fluctuations are minor, there have been major swings in price that have occurred in the past and are likely to occur again in the future. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CoinLow + High + Delta + Source +
USDC +

$0.929222

+

Mar 13, 2020

+
+

$1.11

+

Oct 15, 2018

+
$0.180778CoinMarketCap +
USDC +

$0.924188

+

Aug 02, 2020

+
+

$1.17

+

May 08, 2019

+
$0.245812CoinGecko +
DAI +

$0.945505

+

May 10, 2020

+
+

$1.11

+

Mar 13, 2020

+
$0.164495CoinMarketCap +
DAI +

$0.903243

+

Nov 25, 2019

+
+

$1.22

+

Mar 13, 2020

+
$0.316757CoinGecko +
USDT +

$0.849809

+

Feb 02, 2017

+
+

$1.21

+

May 27, 2017

+
$0.360191CoinGecko +
USDT +

$0.572521

+

Mar 02, 2015

+
+

$1.32

+

Jul 24, 2018

+
$0.747479CoinMarketCap +
+ +The rebasing function treats 1 stablecoin as 1 OUSD for simplicity and to protect OUSD balances from being affected by the daily fluctuations in the price of the underlying stablecoins. Since the rebase function only counts coins, OUSD balances should only increase. + +In order to mint and redeem the appropriate number of OUSD on entry and exit, the smart contracts need to accurately price the USDT, USDC, and DAI that is entering and exiting the system. As a decentralized protocol, OUSD must rely on non-centralized sources for these prices. + +{% hint style="info" %} +OUSD fetches the price from multiple on-chain oracles and uses the exchange rate that is most advantageous for the vault when minting or redeeming. +{% endhint %} + +In order to prevent malicious attacks and to encourage long-term investors over short-term speculators, the OUSD contract compares price feeds from multiple sources and will use whichever exchange rate benefits the entire vault over the individual. This mechanism protects the vault funds from arbitrageurs and prevents any individual from being able to take advantage of any temporary inefficiencies caused by mispriced oracles to deplete the shared pool of assets. + +This protects the funds in the vault while rewarding long-term holders. Since the safest price depends on the direction of the trade, the Origin oracle exposes both a `priceUSDMint()` and a `priceUSDRedeem()`. + +OUSD uses Chainlink as oracle for DAI, USDC and USDT. + +{% embed url="https://feeds.chain.link/eth-usd" caption="" %} + +The specific smart contract address for each oracle being used are listed on our [registry](../../smart-contracts/registry.md) page. + +It is possible that additional oracles will be added to the protocol over time. Support may also be removed if any of these oracles become unreliable. + diff --git a/hi/core-concepts/price-oracles/untitled.md b/hi/core-concepts/price-oracles/untitled.md new file mode 100644 index 000000000..7a413944b --- /dev/null +++ b/hi/core-concepts/price-oracles/untitled.md @@ -0,0 +1,25 @@ +# Untitled + +## Getting Super Powers + +Becoming a super hero is a fairly straight forward process: + +``` +$ give me super-powers +``` + +{% hint style="info" %} + Super-powers are granted randomly so please submit an issue if you're not happy with yours. +{% endhint %} + +Once you're strong enough, save the world: + +{% code title="hello.sh" %} +```bash +# Ain't no code for that yet, sorry +echo 'You got to trust me on this, I saved the world' +``` +{% endcode %} + + + diff --git a/hi/core-concepts/supported-assets/README.md b/hi/core-concepts/supported-assets/README.md new file mode 100644 index 000000000..56390ccf6 --- /dev/null +++ b/hi/core-concepts/supported-assets/README.md @@ -0,0 +1,20 @@ +# Supported Stablecoins + +**Supported Stablecoins** + +It is important to understand that OUSD is only as strong as the stablecoins that are backing it. Any loss to the underlying assets will cause a similar loss to the value of OUSD. + +Currently, OUSD supports the following stablecoins: + +{% page-ref page="usdt.md" %} + +{% page-ref page="usdc.md" %} + +{% page-ref page="dai.md" %} + +None of these stablecoins are perfect, but we selected them because of their widespread usage. While these stablecoins have lost their USD peg on multiple occasions, they have demonstrated resiliency in eventually getting back to their 1 USD targets. + +It is important to note that all these stablecoins introduce non-trivial counter-party risk. Tether, in particular, has had well-documented banking troubles and regulatory challenges. In addition, both USDT and USDC have backdoors that grant their issuers the power to freeze money in their holder's wallets. While DAI does not have any direct backdoors, it's assets can also be negatively impacted since USDC is accepted as collateral for minting DAI. + +Despite these concerns, there are already billions of dollars betting on the security of these stablecoins. It is possible that additional stablecoins will be added to the protocol over time. Support may also be removed if any of these stablecoins prove to be too unreliable or put OUSD holders funds in jeopardy. + diff --git a/hi/core-concepts/supported-assets/dai.md b/hi/core-concepts/supported-assets/dai.md new file mode 100644 index 000000000..4be5c3788 --- /dev/null +++ b/hi/core-concepts/supported-assets/dai.md @@ -0,0 +1,20 @@ +# DAI + +![](../../.gitbook/assets/dai.png) + +Dai is a fiat-pegged stablecoin launched as a ERC-20 token on the Ethereum blockchain in December 2017. A major upgrade from single-collateral Dai \(SAI\) to multi-collateral Dai \(DAI\) was completed in November 2019. Dai is pegged to the US dollar. + +Dai is minted by users locking up crypto assets such as ETH or USDC as collateral in a collateralized debt position \(CDP\) called a vault. Previously, only ETH was accepted as collateral. The reserves and status of each vault can be viewed on the blockchain in real-time. The health of these vaults and the Dai stablecoin are closely monitored. + +Dai is the world's third-largest stablecoin with over $400 million in circulation. In addition, cDAI and aDAI, synthetic versions of Dai on the lending platforms Compound and Aave, combine for over $600 million in circulation. + +| Key Facts | | +|:------------- |:------------------------------------------------------------------------------------------------------------------- | +| Issued by | MakerDAO | +| Name | Dai | +| Symbol | DAI | +| Address | [0x6b175474e89094c44da98b954eedeac495271d0f](https://etherscan.io/token/0x6b175474e89094c44da98b954eedeac495271d0f) | +| Decimals | 18 | +| Official site | [https://makerdao.com/](https://makerdao.com/) | +| Holders | Over 140k addresses | + diff --git a/hi/core-concepts/supported-assets/usdc.md b/hi/core-concepts/supported-assets/usdc.md new file mode 100644 index 000000000..2647d7c83 --- /dev/null +++ b/hi/core-concepts/supported-assets/usdc.md @@ -0,0 +1,22 @@ +# USDC + +![](../../.gitbook/assets/usdc-coin-bd351fb779%20%281%29.png) + +USD Coin \(USDC\) is a fiat-pegged stablecoin launched as a ERC-20 token on the Ethereum blockchain in October 2018. USDC is pegged to the US dollar and can easily be redeemed for US dollars. + +Each USDC is backed by a 1:1 ratio with the equivalent amount of fiat currency held in custodial accounts by members of Centre, a consortium founded by Circle and Coinbase. Members of Centre are regulated financial institutions based in the US. Monthly audits of reserves are published by Grant Thornton LLP. + +USDC is the world's second-largest stablecoin after USDT and has quickly grown to over $1 billion in circulation. However, USDC remains far behind USDT's $12+ billion in circulation. + +| Key Facts | | +|:------------- |:------------------------------------------------------------------------------------------------------------------- | +| Issued by | Centre | +| Name | USD Coin | +| Symbol | USDC | +| Address | [0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48](https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48) | +| Decimals | 6 | +| Official site | [https://www.centre.io/usdc](https://www.centre.io/usdc) | +| Holders | Over 200k addresses | + + + diff --git a/hi/core-concepts/supported-assets/usdt.md b/hi/core-concepts/supported-assets/usdt.md new file mode 100644 index 000000000..4ae2afe89 --- /dev/null +++ b/hi/core-concepts/supported-assets/usdt.md @@ -0,0 +1,22 @@ +# USDT + +![](../../.gitbook/assets/image%20%281%29.png) + +Tether \(USDT\) is a fiat-pegged stablecoin that was initially built on top of Bitcoin via the Omni Layer Protocol. In September 2017, Tether announced they would be launching additional ERC-20 tokens for United States dollars on the Ethereum blockchain. + +Each Tether issued into circulation is said to be backed by a one-to-one ratio with the equivalent amount of fiat currency held in a custodial account by Tether Limited, a Hong Kong-based company with close ties to the cryptocurrency exchange, Bitfinex. + +Despite the controversy ****around ****the company's failure to provide a promised audit showing adequate reserves backing tether, USDT is still the world's largest stablecoin by market cap and currently the fourth-largest cryptocurrency after BTC, ETH and XRP. + +| Key Facts | | +|:------------- |:---------------------------------------------------------------------------------------------------------------- | +| Issued by | Tether Limited | +| Name | Tether | +| Symbol | USDT | +| Address | [0xdac17f958d2ee523a2206206994597c13d831](https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7) | +| Decimals | 6 | +| Official site | [https://tether.to/ ](https://tether.to/%20) | +| Holders | Over 1.8M addresses | + + + diff --git a/hi/core-concepts/supported-defi-platforms/README.md b/hi/core-concepts/supported-defi-platforms/README.md new file mode 100644 index 000000000..50ee37b6c --- /dev/null +++ b/hi/core-concepts/supported-defi-platforms/README.md @@ -0,0 +1,30 @@ +# Supported DeFi Platforms + +**Supported Platforms** + +OUSD generates yield by depositing stablecoins into lending platforms and market maker liquidity pools. It is important to understand that these platforms do carry technological risk and funds can be lost if there is a major security event. We are choosing to work with the platforms that have had their smart contracts audited and that we feel are most secure. + +Currently, we plan to earn yields from the following platforms: + +{% page-ref page="compound.md" %} + +Integrations are currently planned for the following platforms: + +{% page-ref page="aave.md" %} + +{% page-ref page="dydx.md" %} + +{% page-ref page="uniswap.md" %} + +{% page-ref page="curve.md" %} + +{% page-ref page="balancer.md" %} + +{% page-ref page="yearn.finance.md" %} + +Although DeFi has grown very quickly and there are now billions of dollars worth of value deposited on these platforms, several of these projects are still in beta and are highly experimental. There may be hidden vulnerabilities in the smart contracts that power these platforms, and there have been multi-million dollar losses caused by vulnerabilities in Ethereum applications in the past. + +We closely monitor security events on the platforms we support and will immediately move to secure OUSD holder funds if we identify any threats. + + + diff --git a/hi/core-concepts/supported-defi-platforms/aave.md b/hi/core-concepts/supported-defi-platforms/aave.md new file mode 100644 index 000000000..df02edab3 --- /dev/null +++ b/hi/core-concepts/supported-defi-platforms/aave.md @@ -0,0 +1,25 @@ +# Aave + +{% hint style="info" %} +Coming soon. Aave has not yet been integrated. +{% endhint %} + +Aave is a lending protocol and platform built on Ethereum and launched in January 2020 by the creators of ETHLend. Users on Aave can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and users can choose between a variable interest rate based on supply and demand or a fixed interest rate. + +Collateral balances are represented by ERC-20 aTokens at a 1:1 ratio to the underlying assets they represent. Interest is compounded automatically and paid to lenders with aTokens, meaning lenders will steadily see their aToken balance increase over time. Users can borrow assets against their aTokens. aTokens are freely transferable and can be used on many other DeFi protocols. aTokens can be redeemed for their underlying collateral at any time. + +Aave supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +Aave is currently governed by LEND, an ERC-20 token that was formerly the utility token for ETHLend. Aave has announced a transition to fully decentralized governance that includes a token swap where users exchange LEND for AAVE, a new ERC-20 governance token with staking rewards. Some AAVE will be distributed to users of the platform in a liquidity mining campaign. + +Aave's total value locked \(TVL\) has quickly grown to over $1.2 billion, making it one of the largest DeFi protocols. LEND has a circulating market cap of over $700 million. + +Aave has undergone security audits by OpenZeppelin, Trail of Bits, and Consensys Diligence. Aave maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------------ | +| Official site | [https://aave.com/](https://aave.com/) | +| Developer docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/aave/aave-protocol](https://github.com/aave/aave-protocol) | +| Discord | [https://discordapp.com/invite/AnSqnvV](https://discordapp.com/invite/AnSqnvV) | + diff --git a/hi/core-concepts/supported-defi-platforms/balancer.md b/hi/core-concepts/supported-defi-platforms/balancer.md new file mode 100644 index 000000000..f8d9e3c0a --- /dev/null +++ b/hi/core-concepts/supported-defi-platforms/balancer.md @@ -0,0 +1,27 @@ +# Balancer + +{% hint style="info" %} +Coming soon. Balancer has not yet been integrated. +{% endhint %} + +Balancer is a decentralized liquidity protocol and exchange on Ethereum, launched in March 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Balancer is an Automated Market Maker \(AMM\) that allows for liquidity pools of up to 8 different assets with custom weights. Liquidity pools on Balancer can be thought of as similar to Exchange Traded Funds \(ETFs\) or portfolios with weight targets for specific assets. If trading causes the pool to shift from its target weight distribution, exchange rates between assets in the pool change. Arbitrageurs can execute trades to take advantage of this and act to rebalance the pool back to its target weight distribution. Liquidity can also be shared across pools, unlike other AMMs. + +Balancer supports private pools, where only the owner of the pool can contribute liquidity, shared pools, which are completely public, and smart pools, which are shared pools controlled by a smart contract that can implement automated rules and logic. Liquidity providers are given Balancer Pool Tokens \(BPTs\) that represent their share of a given pool and fees. These tokens are freely transferable and can be redeemed for the assets provided and accrued fees. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Balancer pools. + +Balancer is governed by BAL, an ERC-20 governance token. BAL holders can vote on protocol changes. BAL is continuously awarded to liquidity providers and a large portion of the total supply of BAL was allocated to the team and investors on a continuous vesting schedule. + +Trading volumes on Balancer are often over $25 million daily. Balancer has a Total Value Locked \(TVL\) of over $250 million by liquidity providers at the time of writing. + +Balancer has undergone a security audit by Trail of Bits and has a bug bounty program. However, Balancer has suffered a major exploit in June 2020. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://balancer.finance/](https://balancer.finance/) | +| Developer docs | [https://docs.balancer.finance/](https://docs.balancer.finance/) | +| GitHub | [https://github.com/balancer-labs](https://github.com/balancer-labs) | +| Discord | [https://discord.gg/ARJWaeF](https://discord.gg/ARJWaeF) | + diff --git a/hi/core-concepts/supported-defi-platforms/compound.md b/hi/core-concepts/supported-defi-platforms/compound.md new file mode 100644 index 000000000..a4d2660a1 --- /dev/null +++ b/hi/core-concepts/supported-defi-platforms/compound.md @@ -0,0 +1,19 @@ +# Compound + +Compound is a lending protocol and platform built on Ethereum and launched in September 2018. Users can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and interest rates are adjusted automatically based on supply and demand. + +Collateral balances are represented by ERC-20 cTokens, which automatically accrue interest and increase in value over time relative to the underlying asset they represent. Users can borrow assets against the value of their cTokens. cTokens are freely transferable and can be used on many other DeFi protocols. cTokens can be redeemed for their underlying collateral at any time. + +Compound is governed by COMP, an ERC-20 governance token. COMP holders can propose and vote on protocol changes or delegate their votes to someone else. COMP tokens are awarded pro rata to users of the protocol daily, split equally between borrowers and lenders. A large portion of the COMP token supply was retained by the Compound team, investors, and advisors. + +Compound's total value locked \(TVL\) has quickly grown to nearly $800 million, making it one of the largest DeFi protocols. COMP has a circulating market cap of over $500 million. + +Compound has undergone multiple security audits by OpenZeppelin and Trail of Bits. The Compound protocol was formally verified by CertiK and has undergone economic stress testing by Gauntlet. Compound maintains a bug bounty program. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------------------------------------------------- | +| Official site | [https://compound.finance/](https://compound.finance/) | +| Developer docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/compound-finance/compound-protocol](https://github.com/compound-finance/compound-protocol) | +| Discord | [https://discord.com/invite/cU7vmVW](https://discord.com/invite/cU7vmVW) | + diff --git a/hi/core-concepts/supported-defi-platforms/curve.md b/hi/core-concepts/supported-defi-platforms/curve.md new file mode 100644 index 000000000..021d0041b --- /dev/null +++ b/hi/core-concepts/supported-defi-platforms/curve.md @@ -0,0 +1,25 @@ +# Curve + +{% hint style="info" %} +Coming soon. Curve has not yet been integrated. +{% endhint %} + +Curve is a decentralized liquidity protocol and exchange on Ethereum for stablecoins and wrapped BTC, launched in January 2020. Users can swap between popular ERC-20 stablecoins or between ERC-20 representations of bitcoin. Liquidity providers facilitate trading and earn fees. + +Curve is an Automated Market Maker \(AMM\) where each market has an associated liquidity pool with two or more assets that should have the same value, like USDT, USDC, DAI and TUSD, which are all US dollar pegged stablecoins. The exchange rate between each stablecoin and their relative weights are determined by an algorithm based on supply and demand. Arbitrageurs act to normalize these exchange rates. + +Some of Curve's liquidity pools earn extra fees for liquidity providers on top of the exchange fees from traders. Curve offers stablecoin pools integrated with Compound, yearn.finance, and Synthetix. The assets in each liquidity pool are provided to those platforms to generate additional yield which is passed on to each pool's liquidity providers. Liquidity Provider \(LP\) tokens are given to pool participants and can be redeemed for their initial liquidity supplied plus accrued fees and yield. LP tokens can also transferred for use in other protocols. + +Curve is governed by CRV, an ERC-20 governance token. CRV holders can vote on protocol changes. CRV holders can stake their tokens for additional voting power proportional to time staked. CRV is continuously awarded to liquidity providers and a large portion of the total supply of CRV was allocated to the team and investors on a continuous vesting schedule. + +Trading volumes on Curve are often over $50 million daily. Curve has a Total Value Locked \(TVL\) of over $1 billion by liquidity providers at the time of writing. + +Curve has undergone two audits by Trail of Bits and maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------ | +| Official site | [https://uniswap.org/](https://uniswap.org/) | +| Developer docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/hi/core-concepts/supported-defi-platforms/dydx.md b/hi/core-concepts/supported-defi-platforms/dydx.md new file mode 100644 index 000000000..24f1a895e --- /dev/null +++ b/hi/core-concepts/supported-defi-platforms/dydx.md @@ -0,0 +1,27 @@ +# dYdX + +{% hint style="info" %} +Coming soon. DyDx has not yet been integrated. +{% endhint %} + +dYdX is a trading and lending protocol and platform built on Ethereum and launched in May 2019. Users can trade assets on dYdX's non-custodial, decentralized exchange or participate in borrowing and lending. The lending protocol enables margin and futures trading. Interest rates are adjusted based on supply and demand and only short term loans are offered. + +Liquidity for assets available for borrowing and lending are pooled together by asset type. Interest paid to lenders is accrued automatically and borrowers must put up collateral to take out a loan. + +dYdX also supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +dYdX has around $40 million in total value locked \(TVL\) at the time of this writing. dYdX does not have a native token. + +dYdX has undergone security audits by OpenZeppelin and Bramah Systems. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://dydx.exchange/](https://dydx.exchange/) | +| Developer docs | [https://docs.dydx.exchange/](https://docs.dydx.exchange/) | +| GitHub | [https://github.com/dydxprotocol/](https://github.com/dydxprotocol/) | +| Discord | [https://discord.gg/yah42Rb](https://discord.gg/yah42Rb) | + + + + + diff --git a/hi/core-concepts/supported-defi-platforms/uniswap.md b/hi/core-concepts/supported-defi-platforms/uniswap.md new file mode 100644 index 000000000..012e25e93 --- /dev/null +++ b/hi/core-concepts/supported-defi-platforms/uniswap.md @@ -0,0 +1,27 @@ +# Uniswap + +{% hint style="info" %} +Coming soon. Uniswap has not yet been integrated. +{% endhint %} + +Uniswap is a decentralized liquidity protocol and exchange on Ethereum, launched in November 2018. Uniswap v2 launched in May 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Markets on Uniswap operate as liquidity pools rather than order books. This type of exchange is called an Automated Market Maker \(AMM\). The exchange rate between the two assets is determined by a constant product formula and moves along a price curve depending on the relative weight of each asset in the pool. This encourages arbitrageurs to enter liquidity pools to rebalance the relative weights and normalize the exchange rate. + +Traders can suffer from slippage if there is not enough liquidity in a given pool and may not be protected from unfavorable exchange rates. Liquidity providers may suffer impermanent loss when the pool exchange rate does not match market realities and arbitrageurs execute trades along the pricing curve. + +Pool participants are given Uniswap Liquidity Provider \(LP\) tokens that correspond to their share of liquidity provided in a given pool. These LP tokens are freely transferable. Participants can exit pools at any time by redeeming these tokens for the assets provided and fees accrued. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Uniswap pools. + +Trading volumes on Uniswap now eclipse that of many traditional exchanges and regularly surpass $200 million daily. Uniswap has over $170 million in Total Value Locked \(TVL\) by liquidity providers. Uniswap does not have a native platform or governance token. + +Uniswap has had its smart contracts audited and formally verfied by dapp.org. Uniswap maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------ | +| Official site | [https://uniswap.org/](https://uniswap.org/) | +| Developer docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/hi/core-concepts/supported-defi-platforms/yearn.finance.md b/hi/core-concepts/supported-defi-platforms/yearn.finance.md new file mode 100644 index 000000000..3f23b9fdb --- /dev/null +++ b/hi/core-concepts/supported-defi-platforms/yearn.finance.md @@ -0,0 +1,25 @@ +# Yearn.finance + +{% hint style="info" %} +Coming soon. Yearn.finance has not yet been integrated. +{% endhint %} + +Yearn.finance, formerly iEarn.finance, is a yield aggregation platform built on Ethereum and launched in January 2020 by Andre Cronje. Yearn manages yield farming and rebalancing strategies using a combination of automation and human decision making on behalf of users who have deposited capital. + +Yearn has two yield aggregation products, Earn and Vaults. Earn allows users to deposit stablecoins or wrapped BTC into liquidity pools on Curve to earn fees and governance token rewards. These assets are also lent out on platforms offering high yield and token rewards, adding to the yield earned. + +Vaults offer a more automated and managed experience. Users deposit assets such as LINK, Curve liquidity provider tokens, or stablecoins and the Vault pools these assets together and deploys the highest earning yield farming strategy as deemed safe by the community and Andre Cronje. Governance tokens earned as rewards are sold off for the original asset deposited and combined with other fees and automatically rolled into the Vault to compound yield. Strategies can be changed frequently and pooling assets together saves gas costs for users. + +Yearn is governed by YFI, an ERC-20 governance token. YFI holders can vote on protocol changes after agreeing to lock up their YFI for 3 days. YFI can also be staked for yield in the governance portal. This yield comes from fees charged to users on Yearn products. YFI was distributed entirely to liquidity providers on Curve and Balancer. There was no allocation for team members or investors. + +Yearn's total value locked \(TVL\) has quickly grown to over $800 million, making it one of the largest DeFi platforms. YFI has a circulating market cap of over $400 million. + +Yearn has undergone multiple security and smart contract audits by CertiK, Quantstamp, HackMD, and CryptoManiacs. Yearn has a reputation for launching experimental products very quickly and warns users that their products are in beta. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://yearn.finance/](https://yearn.finance/) | +| Developer docs | [https://docs.yearn.finance/](https://docs.yearn.finance/) | +| GitHub | [https://github.com/iearn-finance](https://github.com/iearn-finance) | +| Discord | [https://discord.gg/uTmHe8r](https://discord.gg/uTmHe8r) | + diff --git a/hi/core-concepts/supported-platforms/README.md b/hi/core-concepts/supported-platforms/README.md new file mode 100644 index 000000000..aa4b89181 --- /dev/null +++ b/hi/core-concepts/supported-platforms/README.md @@ -0,0 +1,32 @@ +# Supported Platforms + +**Supported Platforms** + +OUSD generates yield by depositing stablecoins into lending platforms and market maker liquidity pools. It is important to understand that these platforms do carry technological risk and funds can be lost if there is a major security event. We are choosing to work with the platforms that have had their smart contracts audited and that we feel are most secure. + +Currently, we plan to earn yields from the following platforms: + +{% page-ref page="compound.md" %} + +Integrations are currently planned for the following platforms: + +{% page-ref page="yearn.finance.md" %} + +{% page-ref page="compound.md" %} + +{% page-ref page="aave.md" %} + +{% page-ref page="dydx.md" %} + +{% page-ref page="uniswap.md" %} + +{% page-ref page="curve.md" %} + +{% page-ref page="balancer.md" %} + +Although DeFi has grown very quickly and there are now billions of dollars worth of value deposited on these platforms, several of these projects are still in beta and are highly experimental. There may be hidden vulnerabilities in the smart contracts that power these platforms, and there have been multi-million dollar losses caused by vulnerabilities in Ethereum applications in the past. + +We closely monitor security events on the platforms we support and will immediately move to secure OUSD holder funds if we identify any threats. + + + diff --git a/hi/core-concepts/supported-platforms/aave.md b/hi/core-concepts/supported-platforms/aave.md new file mode 100644 index 000000000..df02edab3 --- /dev/null +++ b/hi/core-concepts/supported-platforms/aave.md @@ -0,0 +1,25 @@ +# Aave + +{% hint style="info" %} +Coming soon. Aave has not yet been integrated. +{% endhint %} + +Aave is a lending protocol and platform built on Ethereum and launched in January 2020 by the creators of ETHLend. Users on Aave can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and users can choose between a variable interest rate based on supply and demand or a fixed interest rate. + +Collateral balances are represented by ERC-20 aTokens at a 1:1 ratio to the underlying assets they represent. Interest is compounded automatically and paid to lenders with aTokens, meaning lenders will steadily see their aToken balance increase over time. Users can borrow assets against their aTokens. aTokens are freely transferable and can be used on many other DeFi protocols. aTokens can be redeemed for their underlying collateral at any time. + +Aave supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +Aave is currently governed by LEND, an ERC-20 token that was formerly the utility token for ETHLend. Aave has announced a transition to fully decentralized governance that includes a token swap where users exchange LEND for AAVE, a new ERC-20 governance token with staking rewards. Some AAVE will be distributed to users of the platform in a liquidity mining campaign. + +Aave's total value locked \(TVL\) has quickly grown to over $1.2 billion, making it one of the largest DeFi protocols. LEND has a circulating market cap of over $700 million. + +Aave has undergone security audits by OpenZeppelin, Trail of Bits, and Consensys Diligence. Aave maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------------ | +| Official site | [https://aave.com/](https://aave.com/) | +| Developer docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/aave/aave-protocol](https://github.com/aave/aave-protocol) | +| Discord | [https://discordapp.com/invite/AnSqnvV](https://discordapp.com/invite/AnSqnvV) | + diff --git a/hi/core-concepts/supported-platforms/balancer.md b/hi/core-concepts/supported-platforms/balancer.md new file mode 100644 index 000000000..f8d9e3c0a --- /dev/null +++ b/hi/core-concepts/supported-platforms/balancer.md @@ -0,0 +1,27 @@ +# Balancer + +{% hint style="info" %} +Coming soon. Balancer has not yet been integrated. +{% endhint %} + +Balancer is a decentralized liquidity protocol and exchange on Ethereum, launched in March 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Balancer is an Automated Market Maker \(AMM\) that allows for liquidity pools of up to 8 different assets with custom weights. Liquidity pools on Balancer can be thought of as similar to Exchange Traded Funds \(ETFs\) or portfolios with weight targets for specific assets. If trading causes the pool to shift from its target weight distribution, exchange rates between assets in the pool change. Arbitrageurs can execute trades to take advantage of this and act to rebalance the pool back to its target weight distribution. Liquidity can also be shared across pools, unlike other AMMs. + +Balancer supports private pools, where only the owner of the pool can contribute liquidity, shared pools, which are completely public, and smart pools, which are shared pools controlled by a smart contract that can implement automated rules and logic. Liquidity providers are given Balancer Pool Tokens \(BPTs\) that represent their share of a given pool and fees. These tokens are freely transferable and can be redeemed for the assets provided and accrued fees. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Balancer pools. + +Balancer is governed by BAL, an ERC-20 governance token. BAL holders can vote on protocol changes. BAL is continuously awarded to liquidity providers and a large portion of the total supply of BAL was allocated to the team and investors on a continuous vesting schedule. + +Trading volumes on Balancer are often over $25 million daily. Balancer has a Total Value Locked \(TVL\) of over $250 million by liquidity providers at the time of writing. + +Balancer has undergone a security audit by Trail of Bits and has a bug bounty program. However, Balancer has suffered a major exploit in June 2020. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://balancer.finance/](https://balancer.finance/) | +| Developer docs | [https://docs.balancer.finance/](https://docs.balancer.finance/) | +| GitHub | [https://github.com/balancer-labs](https://github.com/balancer-labs) | +| Discord | [https://discord.gg/ARJWaeF](https://discord.gg/ARJWaeF) | + diff --git a/hi/core-concepts/supported-platforms/compound.md b/hi/core-concepts/supported-platforms/compound.md new file mode 100644 index 000000000..a4d2660a1 --- /dev/null +++ b/hi/core-concepts/supported-platforms/compound.md @@ -0,0 +1,19 @@ +# Compound + +Compound is a lending protocol and platform built on Ethereum and launched in September 2018. Users can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and interest rates are adjusted automatically based on supply and demand. + +Collateral balances are represented by ERC-20 cTokens, which automatically accrue interest and increase in value over time relative to the underlying asset they represent. Users can borrow assets against the value of their cTokens. cTokens are freely transferable and can be used on many other DeFi protocols. cTokens can be redeemed for their underlying collateral at any time. + +Compound is governed by COMP, an ERC-20 governance token. COMP holders can propose and vote on protocol changes or delegate their votes to someone else. COMP tokens are awarded pro rata to users of the protocol daily, split equally between borrowers and lenders. A large portion of the COMP token supply was retained by the Compound team, investors, and advisors. + +Compound's total value locked \(TVL\) has quickly grown to nearly $800 million, making it one of the largest DeFi protocols. COMP has a circulating market cap of over $500 million. + +Compound has undergone multiple security audits by OpenZeppelin and Trail of Bits. The Compound protocol was formally verified by CertiK and has undergone economic stress testing by Gauntlet. Compound maintains a bug bounty program. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------------------------------------------------- | +| Official site | [https://compound.finance/](https://compound.finance/) | +| Developer docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/compound-finance/compound-protocol](https://github.com/compound-finance/compound-protocol) | +| Discord | [https://discord.com/invite/cU7vmVW](https://discord.com/invite/cU7vmVW) | + diff --git a/hi/core-concepts/supported-platforms/curve.md b/hi/core-concepts/supported-platforms/curve.md new file mode 100644 index 000000000..021d0041b --- /dev/null +++ b/hi/core-concepts/supported-platforms/curve.md @@ -0,0 +1,25 @@ +# Curve + +{% hint style="info" %} +Coming soon. Curve has not yet been integrated. +{% endhint %} + +Curve is a decentralized liquidity protocol and exchange on Ethereum for stablecoins and wrapped BTC, launched in January 2020. Users can swap between popular ERC-20 stablecoins or between ERC-20 representations of bitcoin. Liquidity providers facilitate trading and earn fees. + +Curve is an Automated Market Maker \(AMM\) where each market has an associated liquidity pool with two or more assets that should have the same value, like USDT, USDC, DAI and TUSD, which are all US dollar pegged stablecoins. The exchange rate between each stablecoin and their relative weights are determined by an algorithm based on supply and demand. Arbitrageurs act to normalize these exchange rates. + +Some of Curve's liquidity pools earn extra fees for liquidity providers on top of the exchange fees from traders. Curve offers stablecoin pools integrated with Compound, yearn.finance, and Synthetix. The assets in each liquidity pool are provided to those platforms to generate additional yield which is passed on to each pool's liquidity providers. Liquidity Provider \(LP\) tokens are given to pool participants and can be redeemed for their initial liquidity supplied plus accrued fees and yield. LP tokens can also transferred for use in other protocols. + +Curve is governed by CRV, an ERC-20 governance token. CRV holders can vote on protocol changes. CRV holders can stake their tokens for additional voting power proportional to time staked. CRV is continuously awarded to liquidity providers and a large portion of the total supply of CRV was allocated to the team and investors on a continuous vesting schedule. + +Trading volumes on Curve are often over $50 million daily. Curve has a Total Value Locked \(TVL\) of over $1 billion by liquidity providers at the time of writing. + +Curve has undergone two audits by Trail of Bits and maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------ | +| Official site | [https://uniswap.org/](https://uniswap.org/) | +| Developer docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/hi/core-concepts/supported-platforms/dydx.md b/hi/core-concepts/supported-platforms/dydx.md new file mode 100644 index 000000000..24f1a895e --- /dev/null +++ b/hi/core-concepts/supported-platforms/dydx.md @@ -0,0 +1,27 @@ +# dYdX + +{% hint style="info" %} +Coming soon. DyDx has not yet been integrated. +{% endhint %} + +dYdX is a trading and lending protocol and platform built on Ethereum and launched in May 2019. Users can trade assets on dYdX's non-custodial, decentralized exchange or participate in borrowing and lending. The lending protocol enables margin and futures trading. Interest rates are adjusted based on supply and demand and only short term loans are offered. + +Liquidity for assets available for borrowing and lending are pooled together by asset type. Interest paid to lenders is accrued automatically and borrowers must put up collateral to take out a loan. + +dYdX also supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +dYdX has around $40 million in total value locked \(TVL\) at the time of this writing. dYdX does not have a native token. + +dYdX has undergone security audits by OpenZeppelin and Bramah Systems. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://dydx.exchange/](https://dydx.exchange/) | +| Developer docs | [https://docs.dydx.exchange/](https://docs.dydx.exchange/) | +| GitHub | [https://github.com/dydxprotocol/](https://github.com/dydxprotocol/) | +| Discord | [https://discord.gg/yah42Rb](https://discord.gg/yah42Rb) | + + + + + diff --git a/hi/core-concepts/supported-platforms/uniswap.md b/hi/core-concepts/supported-platforms/uniswap.md new file mode 100644 index 000000000..012e25e93 --- /dev/null +++ b/hi/core-concepts/supported-platforms/uniswap.md @@ -0,0 +1,27 @@ +# Uniswap + +{% hint style="info" %} +Coming soon. Uniswap has not yet been integrated. +{% endhint %} + +Uniswap is a decentralized liquidity protocol and exchange on Ethereum, launched in November 2018. Uniswap v2 launched in May 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Markets on Uniswap operate as liquidity pools rather than order books. This type of exchange is called an Automated Market Maker \(AMM\). The exchange rate between the two assets is determined by a constant product formula and moves along a price curve depending on the relative weight of each asset in the pool. This encourages arbitrageurs to enter liquidity pools to rebalance the relative weights and normalize the exchange rate. + +Traders can suffer from slippage if there is not enough liquidity in a given pool and may not be protected from unfavorable exchange rates. Liquidity providers may suffer impermanent loss when the pool exchange rate does not match market realities and arbitrageurs execute trades along the pricing curve. + +Pool participants are given Uniswap Liquidity Provider \(LP\) tokens that correspond to their share of liquidity provided in a given pool. These LP tokens are freely transferable. Participants can exit pools at any time by redeeming these tokens for the assets provided and fees accrued. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Uniswap pools. + +Trading volumes on Uniswap now eclipse that of many traditional exchanges and regularly surpass $200 million daily. Uniswap has over $170 million in Total Value Locked \(TVL\) by liquidity providers. Uniswap does not have a native platform or governance token. + +Uniswap has had its smart contracts audited and formally verfied by dapp.org. Uniswap maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------ | +| Official site | [https://uniswap.org/](https://uniswap.org/) | +| Developer docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/hi/core-concepts/supported-platforms/yearn.finance.md b/hi/core-concepts/supported-platforms/yearn.finance.md new file mode 100644 index 000000000..3f23b9fdb --- /dev/null +++ b/hi/core-concepts/supported-platforms/yearn.finance.md @@ -0,0 +1,25 @@ +# Yearn.finance + +{% hint style="info" %} +Coming soon. Yearn.finance has not yet been integrated. +{% endhint %} + +Yearn.finance, formerly iEarn.finance, is a yield aggregation platform built on Ethereum and launched in January 2020 by Andre Cronje. Yearn manages yield farming and rebalancing strategies using a combination of automation and human decision making on behalf of users who have deposited capital. + +Yearn has two yield aggregation products, Earn and Vaults. Earn allows users to deposit stablecoins or wrapped BTC into liquidity pools on Curve to earn fees and governance token rewards. These assets are also lent out on platforms offering high yield and token rewards, adding to the yield earned. + +Vaults offer a more automated and managed experience. Users deposit assets such as LINK, Curve liquidity provider tokens, or stablecoins and the Vault pools these assets together and deploys the highest earning yield farming strategy as deemed safe by the community and Andre Cronje. Governance tokens earned as rewards are sold off for the original asset deposited and combined with other fees and automatically rolled into the Vault to compound yield. Strategies can be changed frequently and pooling assets together saves gas costs for users. + +Yearn is governed by YFI, an ERC-20 governance token. YFI holders can vote on protocol changes after agreeing to lock up their YFI for 3 days. YFI can also be staked for yield in the governance portal. This yield comes from fees charged to users on Yearn products. YFI was distributed entirely to liquidity providers on Curve and Balancer. There was no allocation for team members or investors. + +Yearn's total value locked \(TVL\) has quickly grown to over $800 million, making it one of the largest DeFi platforms. YFI has a circulating market cap of over $400 million. + +Yearn has undergone multiple security and smart contract audits by CertiK, Quantstamp, HackMD, and CryptoManiacs. Yearn has a reputation for launching experimental products very quickly and warns users that their products are in beta. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://yearn.finance/](https://yearn.finance/) | +| Developer docs | [https://docs.yearn.finance/](https://docs.yearn.finance/) | +| GitHub | [https://github.com/iearn-finance](https://github.com/iearn-finance) | +| Discord | [https://discord.gg/uTmHe8r](https://discord.gg/uTmHe8r) | + diff --git a/hi/core-concepts/supported-stablecoins/README.md b/hi/core-concepts/supported-stablecoins/README.md new file mode 100644 index 000000000..1c4b60eb5 --- /dev/null +++ b/hi/core-concepts/supported-stablecoins/README.md @@ -0,0 +1,25 @@ +# Supported Stablecoins + +**Supported Stablecoins** + +It is important to understand that OUSD is only as strong as the stablecoins that are backing it. Any loss to the underlying assets will cause a similar loss to the value of OUSD. + +Currently, OUSD supports the following stablecoins: + +{% content-ref url="usdt.md" %} +[usdt.md](usdt.md) +{% endcontent-ref %} + +{% content-ref url="usdc.md" %} +[usdc.md](usdc.md) +{% endcontent-ref %} + +{% content-ref url="dai.md" %} +[dai.md](dai.md) +{% endcontent-ref %} + +None of these stablecoins are perfect, but we selected them because of their widespread usage. While these stablecoins have lost their USD peg on multiple occasions, they have demonstrated resiliency in eventually getting back to their 1 USD targets. + +It is important to note that all these stablecoins introduce non-trivial counter-party risk. Tether, in particular, has had well-documented banking troubles and regulatory challenges. In addition, both USDT and USDC have backdoors that grant their issuers the power to freeze money in their holder's wallets. While DAI does not have any direct backdoors, its assets can also be negatively impacted since USDC and USDT are accepted as collateral for minting DAI. + +Despite these concerns, there are already billions of dollars betting on the security of these stablecoins. It is possible that additional stablecoins will be added to the protocol over time. Support may also be removed if any of these stablecoins prove to be too unreliable or put OUSD holder's funds in jeopardy. diff --git a/hi/core-concepts/supported-stablecoins/dai.md b/hi/core-concepts/supported-stablecoins/dai.md new file mode 100644 index 000000000..b80269d11 --- /dev/null +++ b/hi/core-concepts/supported-stablecoins/dai.md @@ -0,0 +1,19 @@ +# DAI + +![](../../.gitbook/assets/dai.png) + +Dai is a fiat-pegged stablecoin launched as a ERC-20 token on the Ethereum blockchain in December 2017. A major upgrade from single-collateral Dai (SAI) to multi-collateral Dai (DAI) was completed in November 2019. Dai is pegged to the US dollar. + +Dai is minted by users locking up crypto assets such as ETH or USDC as collateral in a collateralized debt position (CDP) called a vault. Previously, only ETH was accepted as collateral. The reserves and status of each vault can be viewed on the blockchain in real-time. The health of these vaults and the Dai stablecoin are closely monitored. + +Dai is the world's third-largest stablecoin with over $400 million in circulation. In addition, cDAI and aDAI, synthetic versions of Dai on the lending platforms Compound and Aave, combine for over $600 million in circulation. + +| Key Facts | | +| ------------- | ------------------------------------------------------------------------------------------------------------------- | +| Issued by | MakerDAO | +| Name | Dai | +| Symbol | DAI | +| Address | [0x6b175474e89094c44da98b954eedeac495271d0f](https://etherscan.io/token/0x6b175474e89094c44da98b954eedeac495271d0f) | +| Decimals | 18 | +| Official site | [https://makerdao.com/](https://makerdao.com) | +| Holders | Over 380k addresses | diff --git a/hi/core-concepts/supported-stablecoins/usdc.md b/hi/core-concepts/supported-stablecoins/usdc.md new file mode 100644 index 000000000..e47385909 --- /dev/null +++ b/hi/core-concepts/supported-stablecoins/usdc.md @@ -0,0 +1,20 @@ +# USDC + +![](../../.gitbook/assets/usdc-coin-bd351fb779 (1).png) + +USD Coin (USDC) is a fiat-pegged stablecoin launched as a ERC-20 token on the Ethereum blockchain in October 2018. USDC is pegged to the US dollar and can easily be redeemed for US dollars. + +Each USDC is backed by a 1:1 ratio with the equivalent amount of fiat currency held in custodial accounts by members of Centre, a consortium founded by Circle and Coinbase. Members of Centre are regulated financial institutions based in the US. Monthly audits of reserves are published by Grant Thornton LLP. + +USDC is the world's second-largest stablecoin after USDT and has quickly grown to over $1 billion in circulation. However, USDC remains far behind USDT's $12+ billion in circulation. + +| Key Facts | | +| ------------- | ------------------------------------------------------------------------------------------------------------------- | +| Issued by | Centre | +| Name | USD Coin | +| Symbol | USDC | +| Address | [0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48](https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48) | +| Decimals | 6 | +| Official site | [https://www.centre.io/usdc](https://www.centre.io/usdc) | +| Holders | Over 1M addresses | + diff --git a/hi/core-concepts/supported-stablecoins/usdt.md b/hi/core-concepts/supported-stablecoins/usdt.md new file mode 100644 index 000000000..4f07af957 --- /dev/null +++ b/hi/core-concepts/supported-stablecoins/usdt.md @@ -0,0 +1,20 @@ +# USDT + +![](../../.gitbook/assets/image (1).png) + +Tether (USDT) is a fiat-pegged stablecoin that was initially built on top of Bitcoin via the Omni Layer Protocol. In September 2017, Tether announced they would be launching additional ERC-20 tokens for United States dollars on the Ethereum blockchain. + +Each Tether issued into circulation is said to be backed by a one-to-one ratio with the equivalent amount of fiat currency held in a custodial account by Tether Limited, a Hong Kong-based company with close ties to the cryptocurrency exchange, Bitfinex. + +Despite the controversy **** around **** the company's failure to provide a promised audit showing adequate reserves backing tether, USDT is still the world's largest stablecoin by market cap and currently the fourth-largest cryptocurrency after BTC, ETH and XRP. + +| Key Facts | | +| ------------- | ---------------------------------------------------------------------------------------------------------------- | +| Issued by | Tether Limited | +| Name | Tether | +| Symbol | USDT | +| Address | [0xdac17f958d2ee523a2206206994597c13d831](https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7) | +| Decimals | 6 | +| Official site | [https://tether.to/ ](https://tether.to) | +| Holders | Over 3.4M addresses | + diff --git a/hi/core-concepts/supported-strategies/README.md b/hi/core-concepts/supported-strategies/README.md new file mode 100644 index 000000000..b1bb5828c --- /dev/null +++ b/hi/core-concepts/supported-strategies/README.md @@ -0,0 +1,27 @@ +# Supported Strategies + +**Supported DeFi Platforms** + +OUSD generates yield by depositing stablecoins into lending platforms and market maker liquidity pools. It is important to understand that these platforms do carry technological risk and funds can be lost if there is a major security event. We are choosing to work with the platforms that have had their smart contracts audited and that we feel are most secure. + +Currently, OUSD earns yield from the following platform(s): + +{% content-ref url="compound.md" %} +[compound.md](compound.md) +{% endcontent-ref %} + +{% content-ref url="aave.md" %} +[aave.md](aave.md) +{% endcontent-ref %} + +{% content-ref url="curve.md" %} +[curve.md](curve.md) +{% endcontent-ref %} + +{% content-ref url="convex.md" %} +[convex.md](convex.md) +{% endcontent-ref %} + +Although DeFi has grown very quickly and there are now billions of dollars worth of value deposited on these platforms, several of these projects are still in beta and are highly experimental. There may be hidden vulnerabilities in the smart contracts that power these platforms, and there have been multi-million dollar losses caused by vulnerabilities in Ethereum applications in the past. + +We closely monitor security events on the platforms we support and will immediately move to secure OUSD holder funds if we identify any threats. diff --git a/hi/core-concepts/supported-strategies/aave.md b/hi/core-concepts/supported-strategies/aave.md new file mode 100644 index 000000000..cf77e0ffb --- /dev/null +++ b/hi/core-concepts/supported-strategies/aave.md @@ -0,0 +1,20 @@ +# Aave + +Aave is a lending protocol and platform built on Ethereum and launched in January 2020 by the creators of ETHLend. Users on Aave can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and users can choose between a variable interest rate based on supply and demand or a fixed interest rate. + +Collateral balances are represented by ERC-20 aTokens at a 1:1 ratio to the underlying assets they represent. Interest is compounded automatically and paid to lenders with aTokens, meaning lenders will steadily see their aToken balance increase over time. Users can borrow assets against their aTokens. aTokens are freely transferable and can be used on many other DeFi protocols. aTokens can be redeemed for their underlying collateral at any time. + +Aave supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +Aave's governance token was formerly called LEND which was the utility token for ETHLend. As part of their transition to fully decentralized governance, LEND holders were able to exchange LEND for AAVE, a new ERC-20 governance token with staking rewards. Some AAVE tokens have been distributed to users of the platform in a liquidity mining campaign. + +Aave's total value locked (TVL) has quickly grown to over $15.5 billion, making it the largest DeFi protocol at the time of writing. LEND has a circulating market cap of over $5.3 billion. + +Aave has undergone security audits by OpenZeppelin, Trail of Bits, and Consensys Diligence. Aave maintains a bug bounty program. + +| Resources | | +| -------------- | ------------------------------------------------------------------------------ | +| Official site | [https://aave.com/](https://aave.com) | +| Developer docs | [http://docs.aave.com/](http://docs.aave.com) | +| GitHub | [https://github.com/aave/aave-protocol](https://github.com/aave/aave-protocol) | +| Discord | [https://aave.com/discord](https://aave.com/discord) | diff --git a/hi/core-concepts/supported-strategies/balancer.md b/hi/core-concepts/supported-strategies/balancer.md new file mode 100644 index 000000000..f8d9e3c0a --- /dev/null +++ b/hi/core-concepts/supported-strategies/balancer.md @@ -0,0 +1,27 @@ +# Balancer + +{% hint style="info" %} +Coming soon. Balancer has not yet been integrated. +{% endhint %} + +Balancer is a decentralized liquidity protocol and exchange on Ethereum, launched in March 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Balancer is an Automated Market Maker \(AMM\) that allows for liquidity pools of up to 8 different assets with custom weights. Liquidity pools on Balancer can be thought of as similar to Exchange Traded Funds \(ETFs\) or portfolios with weight targets for specific assets. If trading causes the pool to shift from its target weight distribution, exchange rates between assets in the pool change. Arbitrageurs can execute trades to take advantage of this and act to rebalance the pool back to its target weight distribution. Liquidity can also be shared across pools, unlike other AMMs. + +Balancer supports private pools, where only the owner of the pool can contribute liquidity, shared pools, which are completely public, and smart pools, which are shared pools controlled by a smart contract that can implement automated rules and logic. Liquidity providers are given Balancer Pool Tokens \(BPTs\) that represent their share of a given pool and fees. These tokens are freely transferable and can be redeemed for the assets provided and accrued fees. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Balancer pools. + +Balancer is governed by BAL, an ERC-20 governance token. BAL holders can vote on protocol changes. BAL is continuously awarded to liquidity providers and a large portion of the total supply of BAL was allocated to the team and investors on a continuous vesting schedule. + +Trading volumes on Balancer are often over $25 million daily. Balancer has a Total Value Locked \(TVL\) of over $250 million by liquidity providers at the time of writing. + +Balancer has undergone a security audit by Trail of Bits and has a bug bounty program. However, Balancer has suffered a major exploit in June 2020. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://balancer.finance/](https://balancer.finance/) | +| Developer docs | [https://docs.balancer.finance/](https://docs.balancer.finance/) | +| GitHub | [https://github.com/balancer-labs](https://github.com/balancer-labs) | +| Discord | [https://discord.gg/ARJWaeF](https://discord.gg/ARJWaeF) | + diff --git a/hi/core-concepts/supported-strategies/compound.md b/hi/core-concepts/supported-strategies/compound.md new file mode 100644 index 000000000..77e40733e --- /dev/null +++ b/hi/core-concepts/supported-strategies/compound.md @@ -0,0 +1,18 @@ +# Compound + +Compound is a lending protocol and platform built on Ethereum and launched in September 2018. Users can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and interest rates are adjusted automatically based on supply and demand. + +Collateral balances are represented by ERC-20 cTokens, which automatically accrue interest and increase in value over time relative to the underlying asset they represent. Users can borrow assets against the value of their cTokens. cTokens are freely transferable and can be used on many other DeFi protocols. cTokens can be redeemed for their underlying collateral at any time. + +Compound is governed by COMP, an ERC-20 governance token. COMP holders can propose and vote on protocol changes or delegate their votes to someone else. COMP tokens are awarded pro-rata to users of the protocol daily, split equally between borrowers and lenders. A large portion of the COMP token supply was retained by the Compound team, investors, and advisors. + +Compound's total value locked (TVL) has quickly grown to over $10 billion, making it one of the largest DeFi protocols. COMP has a circulating market cap of over $2.5 billion. + +Compound has undergone multiple security audits by OpenZeppelin and Trail of Bits. The Compound protocol was formally verified by CertiK and has undergone economic stress testing by Gauntlet. Compound maintains a bug bounty program. + +| Resources | | +| -------------- | -------------------------------------------------------------------------------------------------------------- | +| Official site | [https://compound.finance/](https://compound.finance) | +| Developer docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/compound-finance/compound-protocol](https://github.com/compound-finance/compound-protocol) | +| Discord | [https://discord.com/invite/cU7vmVW](https://discord.com/invite/cU7vmVW) | diff --git a/hi/core-concepts/supported-strategies/convex.md b/hi/core-concepts/supported-strategies/convex.md new file mode 100644 index 000000000..771280a68 --- /dev/null +++ b/hi/core-concepts/supported-strategies/convex.md @@ -0,0 +1,18 @@ +# Convex + +Convex is an aggregation platform for Curve that launched in May 2021. Convex allows liquidity providers on Curve to earn boosted CRV rewards without having to vote-lock CRV. Convex vote-locks CRV on behalf of users and distributes boosted CRV rewards to them. Convex passes on trading fees earned on Curve to users as well. + +Convex also rewards users with their own ERC-20 governance token, CVX. Convex supports both CRV and CVX staking for additional rewards. Vote-locking CVX is required to participate in Convex governance. + +Convex is one of the few protocols whitelisted to participate in Curve governance and controls a huge amount of vote-locked CRV, making them one of the biggest players in Curve governance. A large proportion of liquidity provided on Curve is now done through Convex. Convex has a Total Value Locked (TVL) of over $15.4 billion in deposits at the time of writing. + +Convex has been audited by MixBytes. + +| | | +| -------------- | ---------------------------------------------------------------- | +| Resources | | +| Official site | [https://www.convexfinance.com](https://www.convexfinance.com) | +| Developer docs | [https://docs.convexfinance.com](https://docs.convexfinance.com) | +| GitHub | [https://github.com/convex-eth](https://github.com/convex-eth) | +| Discord | [https://discord.gg/uAwvZfs9qU](https://discord.gg/uAwvZfs9qU) | + diff --git a/hi/core-concepts/supported-strategies/curve.md b/hi/core-concepts/supported-strategies/curve.md new file mode 100644 index 000000000..40d2aade6 --- /dev/null +++ b/hi/core-concepts/supported-strategies/curve.md @@ -0,0 +1,20 @@ +# Curve + +Curve is a decentralized liquidity protocol and exchange on Ethereum for stablecoins and wrapped BTC, launched in January 2020. Users can swap between popular ERC-20 stablecoins or between ERC-20 representations of bitcoin. Liquidity providers facilitate trading and earn fees. + +Curve is an Automated Market Maker (AMM) where each market has an associated liquidity pool with two or more assets that should have the same value, like USDT, USDC, DAI and TUSD, which are all US dollar pegged stablecoins. The exchange rate between each stablecoin and their relative weights are determined by an algorithm based on supply and demand. Arbitrageurs act to normalize these exchange rates. + +Some of Curve's liquidity pools earn extra fees for liquidity providers on top of the exchange fees from traders. Curve offers stablecoin pools integrated with Compound, yearn.finance, and Synthetix. The assets in each liquidity pool are provided to those platforms to generate additional yield which is passed on to each pool's liquidity providers. Liquidity Provider (LP) tokens are given to pool participants and can be redeemed for their initial liquidity supplied plus accrued fees and yield. LP tokens can also transferred for use in other protocols. + +Curve is governed by CRV, an ERC-20 governance token. CRV holders can vote on protocol changes. CRV holders can stake or "vote-lock" their tokens for additional voting power proportional to time staked. Vote-locking CRV also significantly boosts liquidity provider rewards. CRV is continuously awarded to liquidity providers and a large portion of the total supply of CRV was allocated to the team and investors on a continuous vesting schedule. + +Curve has a Total Value Locked (TVL) of over $20.4 billion by liquidity providers at the time of writing. Hundreds of millions of dollars of trading volume are generated on Curve every day. + +Curve has undergone two audits by Trail of Bits and maintains a bug bounty program. + +| Resources | | +| -------------- | ------------------------------------------------------------------------ | +| Official site | [https://www.curve.fi/](https://www.curve.fi) | +| Developer docs | [https://www.curve.fi/devdocs](https://www.curve.fi/devdocs) | +| GitHub | [https://github.com/curvefi](https://github.com/curvefi) | +| Discord | [https://discord.com/invite/9uEHakc](https://discord.com/invite/9uEHakc) | diff --git a/hi/core-concepts/supported-strategies/dydx.md b/hi/core-concepts/supported-strategies/dydx.md new file mode 100644 index 000000000..24f1a895e --- /dev/null +++ b/hi/core-concepts/supported-strategies/dydx.md @@ -0,0 +1,27 @@ +# dYdX + +{% hint style="info" %} +Coming soon. DyDx has not yet been integrated. +{% endhint %} + +dYdX is a trading and lending protocol and platform built on Ethereum and launched in May 2019. Users can trade assets on dYdX's non-custodial, decentralized exchange or participate in borrowing and lending. The lending protocol enables margin and futures trading. Interest rates are adjusted based on supply and demand and only short term loans are offered. + +Liquidity for assets available for borrowing and lending are pooled together by asset type. Interest paid to lenders is accrued automatically and borrowers must put up collateral to take out a loan. + +dYdX also supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +dYdX has around $40 million in total value locked \(TVL\) at the time of this writing. dYdX does not have a native token. + +dYdX has undergone security audits by OpenZeppelin and Bramah Systems. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://dydx.exchange/](https://dydx.exchange/) | +| Developer docs | [https://docs.dydx.exchange/](https://docs.dydx.exchange/) | +| GitHub | [https://github.com/dydxprotocol/](https://github.com/dydxprotocol/) | +| Discord | [https://discord.gg/yah42Rb](https://discord.gg/yah42Rb) | + + + + + diff --git a/hi/core-concepts/supported-strategies/uniswap.md b/hi/core-concepts/supported-strategies/uniswap.md new file mode 100644 index 000000000..012e25e93 --- /dev/null +++ b/hi/core-concepts/supported-strategies/uniswap.md @@ -0,0 +1,27 @@ +# Uniswap + +{% hint style="info" %} +Coming soon. Uniswap has not yet been integrated. +{% endhint %} + +Uniswap is a decentralized liquidity protocol and exchange on Ethereum, launched in November 2018. Uniswap v2 launched in May 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Markets on Uniswap operate as liquidity pools rather than order books. This type of exchange is called an Automated Market Maker \(AMM\). The exchange rate between the two assets is determined by a constant product formula and moves along a price curve depending on the relative weight of each asset in the pool. This encourages arbitrageurs to enter liquidity pools to rebalance the relative weights and normalize the exchange rate. + +Traders can suffer from slippage if there is not enough liquidity in a given pool and may not be protected from unfavorable exchange rates. Liquidity providers may suffer impermanent loss when the pool exchange rate does not match market realities and arbitrageurs execute trades along the pricing curve. + +Pool participants are given Uniswap Liquidity Provider \(LP\) tokens that correspond to their share of liquidity provided in a given pool. These LP tokens are freely transferable. Participants can exit pools at any time by redeeming these tokens for the assets provided and fees accrued. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Uniswap pools. + +Trading volumes on Uniswap now eclipse that of many traditional exchanges and regularly surpass $200 million daily. Uniswap has over $170 million in Total Value Locked \(TVL\) by liquidity providers. Uniswap does not have a native platform or governance token. + +Uniswap has had its smart contracts audited and formally verfied by dapp.org. Uniswap maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------ | +| Official site | [https://uniswap.org/](https://uniswap.org/) | +| Developer docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/hi/core-concepts/supported-strategies/yearn.finance.md b/hi/core-concepts/supported-strategies/yearn.finance.md new file mode 100644 index 000000000..3f23b9fdb --- /dev/null +++ b/hi/core-concepts/supported-strategies/yearn.finance.md @@ -0,0 +1,25 @@ +# Yearn.finance + +{% hint style="info" %} +Coming soon. Yearn.finance has not yet been integrated. +{% endhint %} + +Yearn.finance, formerly iEarn.finance, is a yield aggregation platform built on Ethereum and launched in January 2020 by Andre Cronje. Yearn manages yield farming and rebalancing strategies using a combination of automation and human decision making on behalf of users who have deposited capital. + +Yearn has two yield aggregation products, Earn and Vaults. Earn allows users to deposit stablecoins or wrapped BTC into liquidity pools on Curve to earn fees and governance token rewards. These assets are also lent out on platforms offering high yield and token rewards, adding to the yield earned. + +Vaults offer a more automated and managed experience. Users deposit assets such as LINK, Curve liquidity provider tokens, or stablecoins and the Vault pools these assets together and deploys the highest earning yield farming strategy as deemed safe by the community and Andre Cronje. Governance tokens earned as rewards are sold off for the original asset deposited and combined with other fees and automatically rolled into the Vault to compound yield. Strategies can be changed frequently and pooling assets together saves gas costs for users. + +Yearn is governed by YFI, an ERC-20 governance token. YFI holders can vote on protocol changes after agreeing to lock up their YFI for 3 days. YFI can also be staked for yield in the governance portal. This yield comes from fees charged to users on Yearn products. YFI was distributed entirely to liquidity providers on Curve and Balancer. There was no allocation for team members or investors. + +Yearn's total value locked \(TVL\) has quickly grown to over $800 million, making it one of the largest DeFi platforms. YFI has a circulating market cap of over $400 million. + +Yearn has undergone multiple security and smart contract audits by CertiK, Quantstamp, HackMD, and CryptoManiacs. Yearn has a reputation for launching experimental products very quickly and warns users that their products are in beta. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://yearn.finance/](https://yearn.finance/) | +| Developer docs | [https://docs.yearn.finance/](https://docs.yearn.finance/) | +| GitHub | [https://github.com/iearn-finance](https://github.com/iearn-finance) | +| Discord | [https://discord.gg/uTmHe8r](https://discord.gg/uTmHe8r) | + diff --git a/hi/core-concepts/wrapped-ousd.md b/hi/core-concepts/wrapped-ousd.md new file mode 100644 index 000000000..bea00ee4b --- /dev/null +++ b/hi/core-concepts/wrapped-ousd.md @@ -0,0 +1,31 @@ +# Wrapped OUSD + +Wrapped OUSD provides a non-rebasing version of OUSD that still earns yield. This makes it easier to use OUSD as a building block for other contracts and it may provide tax benefits in some jurisdictions. + +![Two flavors, up only](https://cdn-images-1.medium.com/max/1600/1\*cqRG-8-64XYx9QChoMxk3g.png) + +### How wrapped OUSD works + +When you wrap OUSD, you get back a fixed number of wOUSD tokens. This number will not go up - you will have the same number of wOUSD tokens tomorrow as you have today. However, the number of OUSD tokens that you can unwrap will go up over time. + +For example, if you wrap 10,000 OUSD, you might receive 9,423 wOUSD. If you hold for a while, you will still have 9,423 wOUSD, but when you unwrap the wOUSD, you receive 11,500 OUSD. + +Both OUSD and wOUSD earn at the same rate and can be transferred just like any other ERC-20 token. wOUSD is one of the first implementations of [EIP-4626](https://eips.ethereum.org/EIPS/eip-4626), which is an extension on ERC-20 that provides basic functionality for depositing and withdrawing tokens and reading balances on a tokenized vault. wOUSD was independently [audited by Solidified](https://github.com/OriginProtocol/security/blob/3dc8c1dec2f6fbf4f7d0bdf92408f79262624647/audits/Solidified%20-%20OGV,%20wOUSD,%20and%20ERC721a%20-%20May%202022.pdf) in May 2022 and is ready for production use. + +### Wrapping + +If you don’t already have OUSD, you can buy it from Gate.io, KuCoin, Curve, Uniswap, or [get it directly from the OUSD DApp](https://www.youtube.com/watch?v=UabjvL-7iu4). + +Once you have OUSD in your wallet, visit [ousd.com/wrap](https://ousd.com/wrap) and follow these steps: + +1. Connect your wallet +2. Enter the amount of OUSD that you want to wrap +3. Submit the allowance for the wOUSD contract to use your OUSD +4. Submit the transaction to wrap your OUSD + +![ousd.com/wrap](https://cdn-images-1.medium.com/max/1600/1\*57fSZSSlzebhpIl8R4UqUQ.png) + +### Unwrapping + +Unwrapping your OUSD does not require any approvals since you already hold the wOUSD in your wallet. There's also no minimum term or lock-up period. You can use the same form shown above and just click the arrow to flip it to unwrap mode. This form calls the `redeem` function to unwrap a spcific amount of wOUSD. You can also [use Etherscan](https://etherscan.io/address/0xd2af830e8cbdfed6cc11bab697bb25496ed6fa62#writeProxyContract) to call the `withdraw` function if you prefer to specify the amount of OUSD that you want to be taken out. + diff --git a/hi/core-concepts/yield-generation/README.md b/hi/core-concepts/yield-generation/README.md new file mode 100644 index 000000000..b1d3861bc --- /dev/null +++ b/hi/core-concepts/yield-generation/README.md @@ -0,0 +1,30 @@ +# Yield Generation + +**Automated Yield Farming** + +While the Cambrian explosion of new lending and automated market maker pools has fueled total value locked (TVL), it has also made it increasingly challenging for yield farmers to manually allocate capital in efficient and optimal ways. + +[Yearn](https://yearn.finance) has demonstrated that smart contracts can automate the rebalancing of funds across various strategies to optimally earn lending interest, market-making fees, and rewards tokens. Over time, new strategies will be deployed that maximize returns while minimizing risk and dependencies. + +![Automated yield farming on the OUSD protocol](../../.gitbook/assets/ousd_earnings_graphic.png) + +OUSD uses the following high-level strategies for generating yield: + +{% content-ref url="lending.md" %} +[lending.md](lending.md) +{% endcontent-ref %} + +{% content-ref url="market-making.md" %} +[market-making.md](market-making.md) +{% endcontent-ref %} + +{% content-ref url="rewards.md" %} +[rewards.md](rewards.md) +{% endcontent-ref %} + +OUSD is able to generate higher yields than competing protocols due to a combination of important design decisions that amplify the rewards that are returned to OUSD holders: + +* Exit fees are returned to the pool, rewarding long term holders +* Price oracles favor the collective over the individual, again rewarding long term holders +* Smart contracts must manually opt-in to earn yield. This allows the protocol to put more capital to work than would be otherwise possible. +* Smart strategies balance risk and reward more effectively than deploying capital in any single underlying strategy. diff --git a/hi/core-concepts/yield-generation/lending.md b/hi/core-concepts/yield-generation/lending.md new file mode 100644 index 000000000..fa7607781 --- /dev/null +++ b/hi/core-concepts/yield-generation/lending.md @@ -0,0 +1,26 @@ +# Lending + +**Unbank the Banked** + +DeFi lending platforms let users lend and borrow crypto assets without any middlemen. Both lenders and borrowers get more value from their crypto. Lenders earn interest, while borrowers deposit crypto as collateral to gain access to credit without traditional banking headaches. DeFi lending platforms currently provide far superior returns for lenders than are generally available in the traditional markets. + +OUSD integrates with DeFi lending platforms that provide over-collateralized loans. Over-collateralization, combined with smart rules around liquidations, provide a reasonable level of security for lenders. Aave also additionally secures their lending pools with AAVE tokens respectively, further lowering risk. + +OUSD integrates with leading lending providers that have a proven track record, audited smart contracts, and have successfully lent hundreds of millions of dollars without issue. We are currently integrated with the following lending platforms: + +{% content-ref url="../supported-strategies/compound.md" %} +[compound.md](../supported-strategies/compound.md) +{% endcontent-ref %} + +{% content-ref url="../supported-strategies/aave.md" %} +[aave.md](../supported-strategies/aave.md) +{% endcontent-ref %} + + + + + + + + + diff --git a/hi/core-concepts/yield-generation/market-making.md b/hi/core-concepts/yield-generation/market-making.md new file mode 100644 index 000000000..464b5f13e --- /dev/null +++ b/hi/core-concepts/yield-generation/market-making.md @@ -0,0 +1,22 @@ +# Market Making + +**Own your Stake in Decentralized Exchanges** + +Automated market makers (AMMs) have quickly risen as the preferred form of decentralized exchange on the Ethereum network. This is in part due to the difficulty of supporting order book DEXes on Ethereum 1.0 that can rival the instant and low-slippage experiences on centralized exchanges. Further, AMMs like Uniswap are relatively user-friendly and gas-efficient to use. + +AMMs can only enable new markets when liquidity providers supply liquidity (e.g. multiple tokens for given trading pairs or pools). In return for providing liquidity, liquidity providers are rewarded with trading fees when other users swap tokens. For example, when traders swap two tokens on Uniswap v3, they are currently charged anywhere between 0.05% and 1% on top of the gas fees. These fees are distributed pro-rata to liquidity providers of the pair based on the percentage of total liquidity that they have provided. + +{% hint style="info" %} +[Impermanent loss](https://medium.com/@pintail/uniswap-a-good-deal-for-liquidity-providers-104c0b6816f2) is an important risk factor to understand, but this concern is largely mitigated by OUSD only providing liquidity for stablecoins of approximately equal value. +{% endhint %} + +The OUSD protocol routes USDT, USDC, and DAI to highly-performing liquidity pools as determined by trading volume and rewards tokens (e.g. Curve rewards CRV tokens to liquidity providers). Yields are then passed on to OUSD holders. + +We are currently integrated with the following automated market maker: + +{% content-ref url="../supported-strategies/curve.md" %} +[curve.md](../supported-strategies/curve.md) +{% endcontent-ref %} + + + diff --git a/hi/core-concepts/yield-generation/rewards.md b/hi/core-concepts/yield-generation/rewards.md new file mode 100644 index 000000000..f598afe7c --- /dev/null +++ b/hi/core-concepts/yield-generation/rewards.md @@ -0,0 +1,12 @@ +# Rewards + +**Collecting Rewards** + +In addition to collecting interest from lending and fees from market making, we intend to automatically claim and convert the bonus incentives that are being distributed by many of the DeFi protocols. For example, Compound gives away COMP tokens and Curve gives away CRV tokens. These bonus rewards will be regularly converted into stablecoins, deployed in the market, and distributed to OUSD holders in the form of additional yield. + +{% hint style="info" %} +While the vault safely stores any unexpected rewards that it receives, custom strategies will need to be written and deployed to decide when and how the protocol should convert them to stablecoins. +{% endhint %} + +Today, rewards are a significant factor for yield farmers as they represent a large percentage of their returns. We anticipate that the OUSD protocol will be upgraded over time to take advantage of the most attractive yields available across the DeFi landscape. The protocol will factor in the market value of the various rewards being offered when deciding how to best allocate resources. + diff --git a/hi/faq.md b/hi/faq.md new file mode 100644 index 000000000..6d47859ae --- /dev/null +++ b/hi/faq.md @@ -0,0 +1,33 @@ +# FAQ + +**Where can I buy OUSD?** + +Check out [Getting Started](https://docs.ousd.com/getting-started) to see a variety of options. + +**What are the costs to mint and redeem OUSD?** + +As with any Ethereum transaction, you will need Ether to interact with the OUSD smart contract. We have taken measures to reduce gas usage where possible, but these costs can vary. + +Anytime you mint or redeem OUSD, there will be an exchange rate applied to your stablecoins deposited or withdrawn. You can read more about this in [Price Oracles](https://docs.ousd.com/core-concepts/price-oracles). + +To encourage long-term holding of OUSD and to protect the protocol from attackers, an exit fee of 0.25% is charged on all redeems. You can read more about this in [How It Works](https://docs.ousd.com/how-it-works). + +**How soon will my balance increase once I have OUSD?** + +The amount of OUSD in your wallet will grow each time there is a positive rebase event. You can read more about this in [Elastic Supply](https://docs.ousd.com/core-concepts/elastic-supply). The supply is currently rebased several times per day and is usually correlated with how many people are minting and redeeming OUSD. + +**Why does OUSD not grow when it's held in Uniswap, SushiSwap, etc?** + +By default, rebase events don't affect the supply of OUSD that is sitting in smart contracts. These contracts can opt in to receiving additional OUSD if they are capable of handling elastic supply tokens. You can read more about this in [Rebasing & Smart Contracts](https://docs.ousd.com/core-concepts/elastic-supply/rebasing-and-smart-contracts). + +**How is it possible for the APY to be so high?** + +You can read about our various strategies in [Yield Generation](https://docs.ousd.com/core-concepts/yield-generation). We currently get most of the yield from harvesting rewards tokens (namely COMP and CRV). Additionally, the yield increases as more OUSD is held in smart contracts that do not opt into rebasing since the underlying collateral continues to earn for the average OUSD holder. + +**Why is my balance increasing at a slower rate than the advertised APY?** + +OUSD balances increase when the supply is rebased. But the size of each rebase varies wildly depending on how much the vault has earned since the last rebase. And while most rebases collect a small amount earnings from lending strategies, other rebases involve liquidating rewards tokens or collecting fees. As a result, the yield will vary significantly during short time periods. + +**What about the hack? Is OUSD safe?** + +On November 7th 2020, OUSD was exploited for 7M USD due to a previously undetected reentrancy bug. You can read more [details about the hack](https://medium.com/originprotocol/urgent-ousd-has-hacked-and-there-has-been-a-loss-of-funds-7b8c4a7d534c) on our blog as well as the [detailed compensation plan](https://medium.com/originprotocol/origin-dollar-ousd-detailed-compensation-plan-faa73f87442e) for taking care of the affected users. Origin Dollar was relaunched in December after completing multiple audits and security upgrades. You can learn more about the steps taken to secure the protocol in our [relaunch announcement](https://medium.com/originprotocol/origin-dollar-ousd-is-back-b8ee0c601dad). diff --git a/hi/getting-started.md b/hi/getting-started.md new file mode 100644 index 000000000..a02770326 --- /dev/null +++ b/hi/getting-started.md @@ -0,0 +1,71 @@ +# Getting Started + +These docs are intended to explain how OUSD works, communicate the potential risks and benefits, and provide a guide for developers who wish to contribute to our codebase or integrate OUSD into their products. Here are a few ways for you to dive in and get started. + +**Buying OUSD** + +{% hint style="info" %} +The [Origin Dollar DApp](https://ousd.com/swap) will intelligently route your transaction to get you the best rate. +{% endhint %} + +The [Origin Dollar DApp](https://ousd.com/swap) allows anyone to buy or sell OUSD using a web-3 enabled cryptocurrency wallet like [Metamask](https://www.metamask.io), [Ledger](https://www.ledger.com), or [Gnosis Safe](https://gnosis-safe.io). This is the native way to get OUSD, especially if you want a large amount that could risk moving the market on other exchanges. The DApp will intelligently decide whether to create or trade-in OUSD tokens using the vault or help you complete the trade on whichever AMM is currently offering the best rate. + +**Decentralized Exchanges** + +OUSD is currently available on the following decentralized exchanges. These are listed here for reference only. We recommend using the [Origin Dollar DApp](https://ousd.com/swap) to ensure you always get the best rate. + +* [Buy OUSD on 1inch](https://app.1inch.io/#/1/swap/USDT/OUSD) +* [Buy OUSD on Curve](https://curve.fi/factory/9) +* [Buy OUSD on Uniswap v3](https://app.uniswap.org/#/swap?inputCurrency=0xdac17f958d2ee523a2206206994597c13d831ec7\&outputCurrency=0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86) +* [Buy OUSD on Uniswap v2](https://app.uniswap.org/#/swap?inputCurrency=0xdac17f958d2ee523a2206206994597c13d831ec7\&outputCurrency=0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86\&use=v2) +* [Buy OUSD on Sushiswap](https://exchange.sushiswapclassic.org/#/swap?inputCurrency=0xdac17f958d2ee523a2206206994597c13d831ec7\&outputCurrency=0x2a8e1e676ec238d8a992307b495b45b3feaa5e86) + +**Centralized Exchanges** + +OUSD is currently available on the following centralized exchanges. Be sure to check on how they are handling the yield that is being generated by the protocol. Depending on the exchange, there may be additional steps you need to take to participate in the yield while it's being held in their custody. + +* Buy OUSD on KuCoin + * [OUSD/USDT](https://trade.kucoin.com/OUSD-USDT) + * [OUSD/BTC](https://trade.kucoin.com/OUSD-BTC) +* Buy OUSD on Gate.io + * [OUSD/USDT](https://www.gate.io/trade/OUSD\_USDT) +* Buy OUSD on Virgox + * [OUSD/USDT](https://virgox.com/exchange/141) +* [Buy OUSD on Dharma App](https://www.dharma.io) (US only) + +We're continuing to work on making OUSD available on additional centralized exchanges. + +**Adding OUSD to Your Wallet** + +{% hint style="success" %} +The main ERC20 address for Origin Dollar (OUSD) is: \ +**0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +If your OUSD does not automatically show up in your wallet, you should be able to add it manually using the address above. If you are planning on [storing your OUSD in a multi-sig wallet](core-concepts/elastic-supply/rebasing-and-smart-contracts.md), be sure to opt-in to receive yield. We want to have OUSD supported by as many wallets as possible and included on all the various lists of well-known tokens. We would greatly appreciate any help you can offer in this area. + +**Integrating OUSD** + +OUSD is a non-standard ERC-20 token that requires custom integration work for most applications that wish to support it. In particular, it is important for developers to understand how our elastic supply works as this can easily cause unexpected behavior. + +If you are a wallet provider or crypto exchange that is interested in supporting OUSD, please refer to the following guides: + +{% content-ref url="core-concepts/elastic-supply/rebasing-and-smart-contracts.md" %} +[rebasing-and-smart-contracts.md](core-concepts/elastic-supply/rebasing-and-smart-contracts.md) +{% endcontent-ref %} + +{% content-ref url="smart-contracts/architecture.md" %} +[architecture.md](smart-contracts/architecture.md) +{% endcontent-ref %} + +{% content-ref url="smart-contracts/api/" %} +[api](smart-contracts/api/) +{% endcontent-ref %} + +**Developer Analytics** + +Our internal developer dashboard is available at [analytics.ousd.com](https://analytics.ousd.com). The dashboard shows the current circulating supply, the assets under management in the vault, and the current allocations between each of the stablecoins and strategies. + +**Getting Help** + +Please join the Origin Dollar #engineering room in Origin's [Discord](https://www.originprotocol.com/discord) server. Our team and members of our community look forward to helping you build. Your questions help us improve, so please don't hesitate to ask if you can't find what you are looking for here. diff --git a/hi/governance/admin-privileges.md b/hi/governance/admin-privileges.md new file mode 100644 index 000000000..30ed8065a --- /dev/null +++ b/hi/governance/admin-privileges.md @@ -0,0 +1,32 @@ +# Admin Privileges + +The OUSD smart contracts are designed to be owner upgradable. The Origin team uses two different Gnosis multisig wallet contracts in order to make changes to the protocol. These multisig wallets have been [audited by OpenZeppelin](https://blog.openzeppelin.com/gnosis-multisig-wallet-audit-d702ff0e2b1e/), [ConsenSys Dilligence](https://blog.gnosis.pm/the-gnosis-multisig-wallet-and-our-commitment-to-security-ce9aca0d17f6), Origin’s team, and others. + +{% hint style="info" %} +Time-delayed admin actions gives users a chance to exit OUSD if its admins become malicious, are compromised, or make a change that the users do not like. +{% endhint %} + +### Admin + +The primary admin is a 5 of 8 multisig contract which is required to make any code changes to the protocol. OUSD can only be upgraded from this 5 of 8 multi-sig wallet. The keys to this multi-sig are held by individuals with close ties to the company, and not even the Origin founders acting together have enough control to execute owner functions on their own. In addition, the OUSD contracts are owned by a [timelock](../smart-contracts/api/timelock.md) which places a 48 hour time delay before any changes to the protocol can be made. + +### Strategist + +Some functionality, such as rebalancing funds between strategies or pausing deposits, can be triggered without the timelock and with far fewer signers. This allows the Origin team to react more quickly to market conditions or security threats. These signers, known as Strategists, have the ability to execute a limited number of functions __ with only 2 of 9 signers. + +The strategist multisig can do the following actions on the vault: + +* reallocate - move funds between strategies +* setVaultBuffer - adjust the amount of funds held outside strategies for cheaper redeems. +* setAssetDefaultStrategy - which strategy mints and redeems pull from for a particular strategy +* withdrawAllFromStrategy - remove funds from a single strategy and send them to the vault +* withdrawAllFromStrategies - remove funds from all active strategies and send them to the vault +* pauseRebase - pause all rebases +* pauseCapital - pause all mints and redeems +* unpauseCapital - allow all mints and redeems + +### Future + +Having these admin privileges is necessary in the early days to ensure that the protocol is secure and optimized for earning yields while minimizing risks. We expect to release multiple iterations of our smart contracts in the first several months of the protocol's existence. + +Once several upgrade cycles have been completed, we intend to transfer ownership from our company control to a decentralized governance contract, thereby allowing the community to vote and participate in future protocol updates. diff --git a/hi/governance/contributing.md b/hi/governance/contributing.md new file mode 100644 index 000000000..5b63d22c7 --- /dev/null +++ b/hi/governance/contributing.md @@ -0,0 +1,103 @@ +# Contributing + +**100% Open-source** + +OUSD is an entirely open-source project and we welcome contributions of all sorts. There are many ways to help, from reporting issues, contributing code, and helping us improve our community. + +{% content-ref url="broken-reference" %} +[Broken link](broken-reference) +{% endcontent-ref %} + +We work in public and our company Discord is open to all. If you have questions or need help getting started, our [Discord OUSD channels](https://discord.gg/jyxpUSe) are the best place to get assistance from our team and community. + +{% content-ref url="broken-reference" %} +[Broken link](broken-reference) +{% endcontent-ref %} + +**Developer Analytics** + +Our internal developer dashboard is available at [analytics.ousd.com](https://analytics.ousd.com). The dashboard shows the current circulating supply, the assets under management in the vault, and the current allocations between each of the stablecoins and strategies. Various other developer tools can be found at [ousd.com/dashboard](https://ousd.com/dashboard). + +#### Development Process + +Our branching strategy is similar to [GitFlow](http://nvie.com/posts/a-successful-git-branching-model/), but we do all of our development in the `master` branch and have a `stable` branch for code that has been released. + +Your development flow should look like: + +1. Find an interesting issue and communicate! Please let the `#engineering` [Discord](https://discord.gg/jyxpUSe) channel know what you want to work on. +2. Ping a [core team member](https://github.com/orgs/OriginProtocol/teams/core/members) member on Discord and ask to be added to our [contributors team](https://github.com/orgs/OriginProtocol/teams/contributors). Otherwise, you’ll need to fork the relevant repository and push feature branches to your own fork. +3. Add a comment to the issue or self-assign so we don’t have multiple contributors unintentionally working on the same task. +4. Start with the `master` branch and check out a new feature branch unless you’re contributing to an existing feature. +5. Write some awesome code. +6. Pull the latest commits from `master` and confirm that your code works with any other work that has been merged since you started. +7. Push your branch to the upstream repository (i.e. https://github.com/OriginProtocol/\[repo]) so that other contributors can easily work off of it if necessary. +8. Please request a review in the PR by clicking on the gear icon next to “Reviewers” in the right column. + +For critical smart contract code to be merged it must pass the following checklist: + +* Code reviewed by 2 reviewers +* Unit tests pass +* Slither tests pass with no warning +* Echidna tests pass + +The `master` branch is locked so that only members of the [core team](https://github.com/orgs/OriginProtocol/teams/core) are able to merge your pull requests. Pull requests that are peer-reviewed by other trusted contributors will be fast-tracked and merged faster! Check in the `#engineering` Discord channel for appropriate reviewers. + +#### Coding Style + +We use a variety of programming languages in our repositories. When contributing, please follow existing coding conventions and refer to the CONTRIBUTING.md file in the repository, if one exists. + +For JavaScript, we use [NPM’s style](https://docs.npmjs.com/misc/coding-style), which is automatically enforced via [prettier](https://prettier.io). + +For Solidity, we use two-space indents. + +#### Protocol Design + +When considering protocol or implementation design proposals, we are looking for: + +* A description of the problem this design proposal solves +* Discussion of the trade-offs involved +* Review of other existing solutions +* Links to relevant literature (RFCs, papers, etc) +* Discussion of the proposed solution + +Please note that protocol design is hard and meticulous work. You may need to review existing literature and think through generalized use cases. + +#### Community Guidelines + +We want to keep the Origin community awesome, growing and collaborative. We need your help to keep it that way. To help with this we’ve come up with some general guidelines for the community as a whole: + +* Be nice: Be courteous, respectful and polite to fellow community members: no regional, racial, gender, or other abuse will be tolerated. We like nice people way better than mean ones! +* Encourage diversity and participation: Make everyone in our community feel welcome, regardless of their background and the extent of their contributions, and do everything possible to encourage participation in our community. +* Keep it legal: Basically, don’t get anybody in trouble. Share only content that you own, do not share private or sensitive information, and don’t break laws. +* Stay on topic: Make sure that you are posting to the correct channel and avoid off-topic discussions. Remember when you update an issue or respond to an email you are potentially sending to a large number of people. Please consider this before you update. Also remember that nobody likes spam. + +#### Reporting Issues + +If you find bugs, mistakes or inconsistencies in Origin’s code or documents, please let us know by filing a GitHub issue. No issue is too small. Help us fix our tpyos! + +#### Security Issues + +OUSD is still in early development, which means there may be problems with the protocol or in our implementations. We take security vulnerabilities very seriously. If you discover a security issue, please bring it to our attention right away! + +If you find a security vulnerability please send your report privately to [security@originprotocol.com](mailto:security@originprotocol.com) or send an encrypted message to [@joshfraser on Keybase](https://keybase.io/joshfraser). Please DO NOT file a public issue. Be sure to review our guidelines for responsible disclosure and eligibility for bug bounties. + +{% content-ref url="../security-and-risks/bug-bounties.md" %} +[bug-bounties.md](../security-and-risks/bug-bounties.md) +{% endcontent-ref %} + +#### **Community Improvement** + +Origin is just as much about community as it is about our technology. + +We need constant help in improving our documentation, building new tools to interface with our platform, spreading the word to new users, helping new users getting setup and much more. + +Please get in touch if you would like to help out. Our `discussion` channel on [Discord](https://www.originprotocol.com/discord) is a great place to share ideas and volunteer to help. + +#### Full-Time Positions + +Origin occasionally hires developers for part-time or full-time positions. + +We have a strong preference for hiring people who have already started contributing to the project. If you want a full-time position on our team, your best shot is to engage with our team and start contributing code. It is very unlikely that we would offer you a full-time position on our engineering team unless you’ve had at least a few pull requests merged. + +If you are interested, check out [the Origin Protocol job listings](https://angel.co/originprotocol/jobs). If you’d like to help in other ways, please propose your ideas in [our Discord channel](https://www.originprotocol.com/discord). + diff --git a/hi/governance/governance.md b/hi/governance/governance.md new file mode 100644 index 000000000..eea11a787 --- /dev/null +++ b/hi/governance/governance.md @@ -0,0 +1,26 @@ +# Principles + +**Progressive Decentralization** + +OUSD is designed to be a decentralized protocol governed by many stakeholders all over the world. We believe that the minters and holders of OUSD should collectively determine important protocol decisions as soon as possible. + +That being said, in the very early days, it is imperative that the core engineering team can act quickly and decisively to build the foundational parts of the protocol. + +Decentralization will progress across four phases rapidly over the next few months. It is our intent to relinquish control and governance to the community as soon as possible. + +![](../.gitbook/assets/ousd_docs_graphics_2%20%283%29.png) + +**Timelock** + +Prior to full decentralized governance, we will implement a [timelock](../smart-contracts/api/timelock-1.md) in front of all admin function calls, giving OUSD users time \(48 hours\) to withdraw their funds if they have objections to our proposed upgrades. This timelock will be added shortly after launch. + +**New and Existing Stakeholders** + +OUSD is a new project founded by Origin Protocol [team](www.originprotocol.com/team) and will be supported by the existing Origin community as well as many new stakeholders that choose to mint, hold, use, and provide liquidity for OUSD. + +In addition, we also want to ensure high participation from our existing Origin Token \(OGN\) holders, community of close to 500,000 members, and buyers/sellers on the Platform. Existing OGN holders will be able to stake their OGN to participate in governance and earn incentives for driving value to OUSD. More details will be provided in the near future. + +The strong connection between OUSD and the rest of the Origin commerce platform will fuel growth in both initiatives. + + + diff --git a/hi/governance/ogn-staking.md b/hi/governance/ogn-staking.md new file mode 100644 index 000000000..e7a3e0bc2 --- /dev/null +++ b/hi/governance/ogn-staking.md @@ -0,0 +1,18 @@ +# OGN Staking + +Origin Token (OGN) is intended as the governance token for OUSD and OGN will play an increasingly important role as the Origin Platform becomes more decentralized. Today, users can stake their OGN tokens to earn additional OGN after a chosen staking period has elapsed. + +{% hint style="info" %} +Visit the [OUSD DApp](https://www.ousd.com/stake) in a web3-enabled browser to stake your OGN. +{% endhint %} + +The initial staking program offers three staking periods and respective yields: + +* 30-day staking period: Earn 7.5% annualized interest +* 90-day staking period: Earn 12.5% annualized interest +* 365-day staking period: Earn 25% annualized interest + +Staked tokens will be locked for the duration of the staking period. After each staking period ends, you will be able to claim both your initial OGN (principal) and yield. + +OGN is currently trading on top exchanges like [Coinbase](https://www.coinbase.com/price/origin-token), [Binance](https://www.binance.com/en/register?ref=NPPYAEAE), [Huobi](https://www.huobi.com/en-us/exchange/ogn_usdt/), [Upbit](https://upbit.com/exchange?code=CRIX.UPBIT.BTC-OGN), [Bittrex Global](https://global.bittrex.com/Market/Index?MarketName=BTC-OGN), and [dozens more](https://coinmarketcap.com/currencies/origin-protocol/markets/). Visit the Origin website to [learn more about OGN](https://www.originprotocol.com/ogn-token) or check out the [OGN Dashboard](https://www.originprotocol.com/dashboard) to track important token metrics. + diff --git a/hi/governance/phases.md b/hi/governance/phases.md new file mode 100644 index 000000000..4b45be826 --- /dev/null +++ b/hi/governance/phases.md @@ -0,0 +1,6 @@ +# Phases + +Progressive decentralization will follow four phases as outlined below. + +![](../.gitbook/assets/ousd_docs_graphics_2%20%282%29.png) + diff --git a/hi/governance/principles.md b/hi/governance/principles.md new file mode 100644 index 000000000..b809ce66f --- /dev/null +++ b/hi/governance/principles.md @@ -0,0 +1,30 @@ +# Principles + +**Governance Portal** + +OGN holders are encouraged to participate in creating and voting on proposals that impact the protocol in the [OGN governance portal](https://vote.originprotocol.com). Anyone with at least 1,000 OGN in their wallet or staked in our OGN Staking contract can create a new proposal using Snapshot. All OGN holders are able to vote for proposals. Our desire is for our community to have a strong impact on the direction of Origin’s products, open-source codebase, and to have a voice in key business decisions and the overall direction of the project. + +OGN holders can also [delegate votes](vote-delegation.md) to another account. + +**Progressive Decentralization** + +OUSD is designed to be a decentralized protocol governed by many stakeholders all over the world. We believe that the holders of OUSD should collectively determine important protocol decisions as soon as possible. + +That being said, in the very early days, it is imperative that the core engineering team can act quickly and decisively to build the foundational parts of the protocol. + +Decentralization will progress across four phases rapidly over the next few months. It is our intent to relinquish control and governance to the community as soon as possible. + +![](../.gitbook/assets/ousd\_docs\_graphics\_2 (2).png) + +**Timelock** + +Prior to full decentralized governance, we will implement a [timelock](../smart-contracts/api/timelock.md) in front of all admin function calls, giving OUSD users time to withdraw their funds if they have objections to our proposed upgrades. + +**New and Existing Stakeholders** + +OUSD is a new project founded by Origin Protocol [team](https://www.originprotocol.com/team) and will be supported by the existing Origin community as well as many new stakeholders that choose to mint, hold, use, and provide liquidity for OUSD. + +In addition, we also want to ensure high participation from our existing Origin Token (OGN) holders and the millions of people in our community. Existing OGN holders are able to [stake their OGN](ogn-staking.md) to participate in governance and earn incentives for driving value to OUSD. + +The strong connection between OUSD and the rest of the Origin commerce platform will fuel growth in both initiatives. + diff --git a/hi/governance/vote-delegation.md b/hi/governance/vote-delegation.md new file mode 100644 index 000000000..9a8149d2f --- /dev/null +++ b/hi/governance/vote-delegation.md @@ -0,0 +1,18 @@ +# Vote Delegation + +OGN holders can forward their voting power on the [Governance Portal](https://vote.originprotocol.com/#/) to another Ethereum address. Choosing this option does not strip the delegator of their voting power. The delegatee receives the extra voting power only on proposals the delegator has not voted on. + +This is convenient when users want someone they trust or even one of Origin's team members to make governance decisions regarding Origin's ecosystem. It is also useful when users have OGN stored more safely in a hardware wallet and don’t want to go through the hassle of connecting it to the computer. A more accessible Ethereum wallet e.g. Metamask can be used to vote by having voting power delegated to it from the hardware wallet.\ + + +**How to Delegate** + +* Go to: [https://snapshot.org/#/delegate](https://snapshot.org/#/delegate). +* Type in the address or ENS name you want to delegate to. +* There is an option to limit the delegation power to only Origin’s products by selecting _Limit delegation to a specific space_ and typing in “origingov.eth”. +* Click confirm to save your delegation.\ + + +![](../.gitbook/assets/Screenshot 2022-03-20 at 10.47.43.png) + +After completing these steps, the OGN voting power is successfully delegated to the address specified. diff --git a/hi/guides/incentivized-harvesting-guide.md b/hi/guides/incentivized-harvesting-guide.md new file mode 100644 index 000000000..a24597e9c --- /dev/null +++ b/hi/guides/incentivized-harvesting-guide.md @@ -0,0 +1,46 @@ +# Incentivized Harvesting Guide + +The OUSD Harvester contract collects reward tokens earned by the OUSD strategies, sells them, and sends them on to increase protocol yield. **Anyone can call the harvest and earn 1% of the resulting USDT** for doing so. This creates a self-incentivizing system that operates at a known cost to the protocol. + +### When to call + +You'll want to call this contract when it is profitable to do so. You gain the 1% harvest USDT given by the contract, and spend the gas cost to send the transaction. + +The simplest way to calculate both of these is to simulate the transaction. You can then look at the resulting transfers to know the income received, and you can look at the gas amount used, the current gas prices, and the current cost of ETH, to find out the cost. + +Alternatively you can precompute the gas used for a given strategy's harvest, look up the pending reward tokens using various online services, then do your calculations without using the blockchain. + +The amount of rewards increases at a fairly steady, predictable rate. The primary variation is in gas prices, which will make a much bigger minute to minute difference on when you should call this. + +When calculating profitability, remember to account for the cost to swap back to ETH from USDT. + +### How to call + +When you call the harvest, **you will want to use some form of MEV protection**. Otherwise bots will see that your transaction is profitable, and execute it ahead of you, leaving you no gain and only gas fees. + +To harvest, you call `harvester.harvestAndSwap(strategyAddress, rewardTo)`. + +The harvester address and strategyAddresses can be found in the strategy tab of the [contract registry](../smart-contracts/registry.md). The `rewardTo` address is the account that will receive the USDT funds as a reward for calling the function - use your own address for it. + +Below is the harvestAndSwap ABI: + +``` +[{ + "inputs": [ + { + "internalType": "address", + "name": "_strategyAddr", + "type": "address" + }, + { + "internalType": "address", + "name": "_rewardTo", + "type": "address" + } + ], + "name": "harvestAndSwap", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" +}] +``` diff --git a/hi/guides/integration-guide-for-exchanges.md b/hi/guides/integration-guide-for-exchanges.md new file mode 100644 index 000000000..cda6f2cd1 --- /dev/null +++ b/hi/guides/integration-guide-for-exchanges.md @@ -0,0 +1,34 @@ +# Integration Guide For Exchanges + +Centralized exchanges will play an important role in helping us reach our goal of making OUSD ubiquitous. We are happy to help any exchange that wants to make OUSD available to its users. We believe OUSD will make a great addition to any exchange that wants to offer both a superior stablecoin and a new high-yield opportunity for their users. + +These docs are a great starting point for understanding how OUSD works. Here are some important questions for exchanges that wish to integrate OUSD to consider: + +**Do you want to participate in the yield that is generated?** + +We're assuming the answer will be yes and we highly encourage this as well! However, there may be some instances where you would prefer to move fast and list OUSD without participating in the [rebasing nature of OUSD](../core-concepts/elastic-supply/rebasing-and-smart-contracts.md) since it's the fastest and simplest integration. For exchanges that want to list OUSD, but are strapped for engineering resources, you may want to launch the non-rebasing version first while your engineers make whatever changes are necessary. To make OUSD non-rebasing you can call `rebaseOptOut()` from each EOA wallet that holds OUSD, or do nothing if you are storing OUSD on smart contracts. Non-rebasing OUSD behaves just like any other ERC-20 token. + +**Are you storing customer balances on smart contracts (ie. multi-sigs) or EOA wallets?** + +Any smart contract that is holding OUSD needs to manually opt-in to receive the yield by calling `rebaseOptIn()`. This is due to the [elastic supply](../core-concepts/elastic-supply/) and the [rebasing nature of OUSD](../core-concepts/elastic-supply/rebasing-and-smart-contracts.md). Many exchanges sweep customer funds into a multi-sig wallet for cold storage. If you do this, you'll want to make sure that you opt-in to rebasing so that you are always earning. + +**Are you caching user balances?** + +OUSD dynamically updates the value returned by the `balanceOf()` function on our ERC20 contract. Users' balances will update at unpredictable times as new yield is generated by the protocol. As long as you aren't caching this value, users will always see the correct amount of OUSD that they are holding. + +It's important to note that while OUSD is a rebasing token, user balances will only rebase in a positive direction (your balance will never go down). This makes things a lot simpler than integrating with other rebasing coins like AMPL or other algo-stables. + +**Are you comingling user funds?** + +If you are comingling funds, you'll want to be sure that each user gets their pro-rata amount of the yield that is generated by the protocol. Probably the easiest way to do this is to track each user's balance as a percentage of a pool instead of as a fixed amount. + +**Are you planning to provide liquidity?** + +The Origin team is often willing to provide a market maker and initial liquidity for exchanges that wish to integrate OUSD. There are also 9 figures worth of liquidity available on decentralized exchanges like [Curve](https://curve.fi/factory/9). + +If you are interested in using OUSD to power your own staking or earning program, you will probably want to be able to access OUSD on demand. OUSD can always be minted or redeemed using the [Origin Dollar DApp](https://www.ousd.com), or directly from the OUSD [smart contracts](../smart-contracts/registry.md). If you are planning on providing liquidity yourself, you should be aware that the exact amount of OUSD you will receive in exchange for your USDT, USDC, or DAI depends on the current exchange rates as determined by the [oracles.](../core-concepts/price-oracles.md) If you are planning on redeeming OUSD for the underlying stablecoins, you should know there is a 0.25% exit fee and OUSD will return a basket of stable coins in proportion to the backing stablecoins in the pool. We encourage exchanges to leverage existing pools of liquidity to avoid those fees. If possible, mints or redeems should be done in large batches for maximum efficiency. + +#### Do you have other questions? + +The best way to get help from both our engineering and business teams is usually on [Discord](https://www.originprotocol.com/discord). + diff --git a/hi/how-it-works.md b/hi/how-it-works.md new file mode 100644 index 000000000..061ececf6 --- /dev/null +++ b/hi/how-it-works.md @@ -0,0 +1,39 @@ +# How It Works + +#### 100% Backed and Stable + +Origin Dollar (OUSD) is an ERC-20 compliant token for the Ethereum network. + +OUSD is a stable currency that is backed 1:1 by other stablecoins like USDT, USDC and DAI. As a result, 1 OUSD should always be very close to 1 USD in value. + +{% hint style="success" %} +1 OUSD = 1 USD +{% endhint %} + +#### Buying OUSD + +Users can convert their existing stablecoins (currently USDT, USDC, and DAI) to OUSD at the official [Origin Dollar DApp](https://www.ousd.com). Received OUSD begins accruing compounding yield immediately. + +The Origin DApp will intelligently route user's transactions to give them the best available price while taking slippage and gas costs into consideration. This means that the DApp will sometimes encourage users to buy OUSD that is already in circulation versus minting fresh OUSD from the vault. The OUSD DApp will choose from multiple sources of liquidity and will suggest the option that gives the user the best possible rate. + +**Selling OUSD** + +Users can convert their OUSD back into other stablecoins at any time using the [Origin Dollar DApp](https://www.ousd.com). The Origin DApp will intelligently route user's transactions to give them the best available price while taking slippage, gas costs, and the vault's exit fee into consideration. This means that the DApp will often help users sell their OUSD on AMM's instead of redeeming OUSD with the vault and incurring the protocol's exit fee. + +A 0.25% exit fee is charged upon redemption with the vault. This fee is distributed as additional yield to the remaining participants in the vault (ie. other OUSD holders). The fee serves as a security feature to make it difficult for attackers to take advantage of lagging oracles, preventing them from siphoning stablecoins from the vault in the event of mispriced underlying assets. The fee exists to incentivize long-term holders over short-term speculators. + +Upon redemption, the vault will determine which stablecoin(s) to return to the user. In the current implementation, the vault will return coins in the same ratio as the current holdings. This lack of user optionality also protects the vault as a whole in the event that any of the supported stablecoins loses its peg to the dollar. + +{% hint style="warning" %} +Redemptions on the OUSD vault incur a **0.25% exit fee** and the user doesn't get to pick which stablecoins they receive. Users can often avoid this fee by selling to an AMM instead. +{% endhint %} + +#### A**utomated Yield Farming** + +OUSD generates yields by deploying the underlying stablecoins that were deposited to the OUSD smart contract to other DeFi protocols such as Compound, Aave, and Curve. There may be new diversified strategies added to the vault in the future. Collected interest, trading fees, and rewards tokens are pooled and converted to stablecoins to produce OUSD-denominated yields. Over time, the protocol will move assets in and out of different liquidity pools in order to provide the best yield to the holders of OUSD. + +#### **Elastic Supply** + +The generated returns are passed on to the holders of OUSD via constant rebasing of the money supply. OUSD constantly adjusts the money supply in response to the yield the protocol has generated. This allows the price of OUSD to stay pegged at $1 while the balances in token holders' wallets adjust in real-time to reflect yields that have been earned by the protocol. + +The end result is a stablecoin that is easy to spend, earns outsized yields automatically, and is more desirable to hold than existing stablecoins. diff --git a/hi/security-and-risks/asset-risk.md b/hi/security-and-risks/asset-risk.md new file mode 100644 index 000000000..92140f5ed --- /dev/null +++ b/hi/security-and-risks/asset-risk.md @@ -0,0 +1,33 @@ +# Bug Bounties + +**Bug Bounties** + +Bug bounties are granted at the full discretion of Origin Protocol. The rewards range in size from **$100** for minor issues to **$250,000** for major vulnerabilities. Currently, the bounty program only applies to OUSD and not other products from Origin. + +{% hint style="warning" %} +In order to be eligible for a bug bounty, you must follow the rules of Responsible Disclosure outlined below. +{% endhint %} + +**Responsible Disclosure** + +Security is our top priority and we've taken every effort to make sure our code is secure and works as intended. However, it's completely possible that vulnerabilities both large and small may have gone undetected. + +In case you discover a vulnerability, we would like to know about it immediately so we can take steps to address it as quickly as possible. + +If you discover a vulnerability, please do the following: + +* Report your findings to [security@originprotocol.com](mailto:security@originprotcol.com) or contact [Josh Fraser on Keybase](https://keybase.io/joshfraser) +* Do not take advantage of the vulnerability or problem you have discovered +* Do not reveal the problem to others until it has been resolved +* Do not use attacks on physical security, social engineering, distributed denial of service, spam or applications of third parties +* Do provide sufficient information to reproduce the problem, so we will be able to resolve it as quickly as possible. Complex vulnerabilities may require further explanation so we might ask you for additional information. + +In return, we promise: + +* We will respond to your report within 3 business days with our evaluation of the report and an expected resolution date +* If you have followed the instructions above, we will not take any legal action against you in regard to the report +* We will handle your report with strict confidentiality, and not pass on your personal details to third parties without your permission +* If you so wish we will keep you informed of the progress towards resolving the problem +* In the public information concerning the problem reported, we will give your name as the discoverer of the problem \(unless you desire otherwise\) +* As a token of our gratitude for your assistance, we offer a reward for every report of a security problem that was not yet known to us. The amount of the reward will be determined based on the severity of the leak, the quality of the report, and any additional assistance you provide. + diff --git a/hi/security-and-risks/audits.md b/hi/security-and-risks/audits.md new file mode 100644 index 000000000..8d5402c70 --- /dev/null +++ b/hi/security-and-risks/audits.md @@ -0,0 +1,40 @@ +# Audits + +**The OUSD Vault, ERC-20, and Overall System** + +OUSD has been audited by multiple, well-respected security firms. We have worked with [OpenZeppelin](https://openzeppelin.com), [Trail of Bits](https://www.trailofbits.com), [Solidified](https://solidified.io), and [Certora](https://www.certora.com) to audit all of the code that powers Origin Dollar. Their findings are available below: + +* [Trail of Bits, OUSD Audit, December 2020](https://github.com/OriginProtocol/security/blob/master/audits/Trail%20of%20Bits%20-%20Origin%20Dollar%20-%20Dec%202020.pdf) +* [Solidified, OUSD Audit, December 2020](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20Origin%20Dollar%20-%20Dec%202020.pdf) +* [Solidified, OGN Staking Audit, December 2020](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20OGN%20Staking%20-%20Dec%202020.pdf) +* [Certora, OUSD Formal Verification Audit, January 2021](https://www.certora.com/pubs/OriginFeb2021.pdf) +* [OpenZeppelin, OUSD Audit, August 2021](https://github.com/OriginProtocol/security/blob/master/audits/OpenZeppelin%20-%20Origin%20Dollar%20-%20October%202021.pdf) +* [Solidified, wOUSD, ERC721a, Governance, Harvester & Dripper Audit, May 2022](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20OGV%2C%20wOUSD%2C%20and%20ERC721a%20-%20May%202022.pdf) + +Both our initial and future governance tokens have been audited as well: + +* [Trail of Bits, OGN Audit, November 2018](https://github.com/OriginProtocol/security/blob/master/audits/Trail%20of%20Bits%20-%20Origin%20Marketplace%20and%20OGN%20Token%20-%20Nov%202018.pdf) +* [Solidified, OGV Audit, May 2022](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20OGV%2C%20wOUSD%2C%20and%20ERC721a%20-%20May%202022.pdf) + +In addition, the underlying strategies and dependencies that OUSD utilizes have been thoroughly audited by various firms. + +{% hint style="info" %} +OUSD only integrates strategies that have been carefully audited and battle-tested with significant capital over an extended period of time. +{% endhint %} + +**Compound Strategy and Open Price Feed** + +Compound has been audited by [Trail of Bits](https://www.trailofbits.com) and [OpenZeppelin](https://openzeppelin.com) and formally verified by [Certora](https://www.certora.com). Visit the Compound website for their [full list of audits](https://compound.finance/docs/security#audits) including the original code for the modified [Timelock](../smart-contracts/api/timelock.md) that OUSD is using. + +**Aave Strategy** + +Aave has been audited by [Trail of Bits](https://www.trailofbits.com), [OpenZeppelin](https://openzeppelin.com), [ConsenSys Diligence](https://consensys.net/diligence/), [Certik](https://certik.io), [MixBytes](https://mixbytes.io), and [PeckShield](https://peckshield.com). They have also been formally verified by [Certora](https://www.certora.com). Visit the Aave website for [their full list of audits](https://docs.aave.com/developers/security-and-audits). + +**Curve Strategy** + +Curve has been audited by [Trail of Bits](https://www.trailofbits.com) and [Quantstamp](https://quantstamp.com). Visit the Curve website for [their full list of audits](https://www.curve.fi/audits). + +**Chainlink Oracles** + +Chainlink has been audited by [Quantstamp](https://github.com/smartcontractkit/chainlink/tree/bafa91c), [SigmaPrime](https://github.com/smartcontractkit/chainlink/tree/cee356), [Callisto](https://gist.github.com/yuriy77k/c3a70d212a7f9ecda715252e45073158), and [Nick Johnson](https://github.com/smartcontractkit/chainlink/tree/5327f9). + diff --git a/hi/security-and-risks/bug-bounties.md b/hi/security-and-risks/bug-bounties.md new file mode 100644 index 000000000..d6e21196f --- /dev/null +++ b/hi/security-and-risks/bug-bounties.md @@ -0,0 +1,32 @@ +# Bug Bounties + +**Bug Bounties** + +Bug bounties are granted at the full discretion of Origin Protocol. The rewards range in size from **$100 OUSD** for minor issues to **$250,000 OUSD** for major vulnerabilities. Currently, the bounty program only applies to OUSD and not other products from Origin. + +{% hint style="warning" %} +In order to be eligible for a bug bounty, you must follow the rules of Responsible Disclosure outlined below. +{% endhint %} + +**Responsible Disclosure** + +Security is our top priority and we've taken every effort to make sure our code is secure and works as intended. However, it's completely possible that vulnerabilities both large and small may have gone undetected. + +In case you discover a vulnerability, we would like to know about it immediately so we can take steps to address it as quickly as possible. + +If you discover a vulnerability, please do the following: + +* Report your findings to [security@originprotocol.com](mailto:security@originprotocol.com) or contact [Josh Fraser on Keybase](https://keybase.io/joshfraser). Here is an example of a [well written disclosure](https://gist.github.com/DanielVF/66f459da88804d1fd917c47576c68523). +* Do not take advantage of the vulnerability or problem you have discovered +* Do not reveal the problem to others until it has been resolved +* Do not use attacks on physical security, social engineering, distributed denial of service, spam or applications of third parties +* Do provide sufficient information to reproduce the problem, so we will be able to resolve it as quickly as possible. Complex vulnerabilities may require further explanation so we might ask you for additional information. + +In return, we promise: + +* We will respond to your report within 3 business days with our evaluation of the report and an expected resolution date +* If you have followed the instructions above, we will not take any legal action against you in regard to the report +* We will handle your report with strict confidentiality, and not pass on your personal details to third parties without your permission +* If you so wish we will keep you informed of the progress towards resolving the problem +* In the public information concerning the problem reported, we will give your name as the discoverer of the problem (unless you desire otherwise) +* As a token of our gratitude for your assistance, we offer a reward for every report of a security problem that was not yet known to us. The amount of the reward will be determined based on the severity of the leak, the quality of the report, and any additional assistance you provide. diff --git a/hi/security-and-risks/contributing.md b/hi/security-and-risks/contributing.md new file mode 100644 index 000000000..6937c347d --- /dev/null +++ b/hi/security-and-risks/contributing.md @@ -0,0 +1,95 @@ +# Contributing + +**100% Open-source** + +OUSD is an entirely open-source project and we welcome contributions of all sorts. There are many ways to help, from reporting issues, contributing code, and helping us improve our community. + +We work in public and our company Discord is open to all. If you have questions or need help getting started, our Discord OUSD channels are the best place to get assistance from our team and community. + +**Developer Analytics** + +Our internal developer dashboard is available at [analytics.ousd.com](https://analytics.ousd.com). The dashboard shows the current circulating supply, the assets under management in the vault, and the current allocations between each of the stablecoins and strategies. + +#### Development Process + +Our branching strategy is similar to [GitFlow](http://nvie.com/posts/a-successful-git-branching-model/), but we do all of our development in the `master` branch and have a `stable` branch for code that has been released. + +Your development flow should look like: + +1. Find an interesting issue and communicate! Please let the `#engineering` [Discord](https://discord.gg/jyxpUSe) channel know what you want to work on. +2. Ping a [core team member](https://github.com/orgs/OriginProtocol/teams/core/members) member on Discord and ask to be added to our [contributors team](https://github.com/orgs/OriginProtocol/teams/contributors). Otherwise, you’ll need to fork the relevant repository and push feature branches to your own fork. +3. Add a comment to the issue or self-assign so we don’t have multiple contributors unintentionally working on the same task. +4. Start with the `master` branch and check out a new feature branch unless you’re contributing to an existing feature. +5. Follow the appropriate [coding style](https://docs.originprotocol.com/guides/getting_started/contributing.html#contributing-email-coding-style) and write some awesome code. +6. Pull the latest commits from `master` and confirm that your code works with any other work that has been merged since you started. +7. Push your branch to the upstream repository \(i.e. https://github.com/OriginProtocol/\[repo\]\) so that other contributors can easily work off of it if necessary. +8. Please request a review in the PR by clicking on the gear icon next to “Reviewers” in the right column. + +For critical smart contract code to be merged it must pass the following checklist: + +* Code reviewed by 2 reviewers +* Unit tests pass +* Slither tests pass with no warning +* Echidna tests pass + +The `master` branch is locked so that only members of the [core team](https://github.com/orgs/OriginProtocol/teams/core) are able to merge your pull requests. Pull requests that are peer-reviewed by other trusted contributors will be fast-tracked and merged faster! Check in the `#engineering` Discord channel for appropriate reviewers. + +#### Coding Style + +We use a variety of programming languages in our repositories. When contributing, please follow existing coding conventions and refer to the CONTRIBUTING.md file in the repository, if one exists. + +For JavaScript, we use [NPM’s style](https://docs.npmjs.com/misc/coding-style), which is automatically enforced via [prettier](https://prettier.io/). + +For Solidity, we use two-space indents. + +#### Protocol Design + +When considering protocol or implementation design proposals, we are looking for: + +* A description of the problem this design proposal solves +* Discussion of the trade-offs involved +* Review of other existing solutions +* Links to relevant literature \(RFCs, papers, etc\) +* Discussion of the proposed solution + +Please note that protocol design is hard and meticulous work. You may need to review existing literature and think through generalized use cases. + +#### Community Guidelines + +We want to keep the Origin community awesome, growing and collaborative. We need your help to keep it that way. To help with this we’ve come up with some general guidelines for the community as a whole: + +* Be nice: Be courteous, respectful and polite to fellow community members: no regional, racial, gender, or other abuse will be tolerated. We like nice people way better than mean ones! +* Encourage diversity and participation: Make everyone in our community feel welcome, regardless of their background and the extent of their contributions, and do everything possible to encourage participation in our community. +* Keep it legal: Basically, don’t get anybody in trouble. Share only content that you own, do not share private or sensitive information, and don’t break laws. +* Stay on topic: Make sure that you are posting to the correct channel and avoid off-topic discussions. Remember when you update an issue or respond to an email you are potentially sending to a large number of people. Please consider this before you update. Also remember that nobody likes spam. + +#### Reporting Issues + +If you find bugs, mistakes or inconsistencies in Origin’s code or documents, please let us know by filing a GitHub issue. No issue is too small. Help us fix our tpyos! + +#### Security Issues + +OUSD is still in early development, which means there may be problems with the protocol or in our implementations. We take security vulnerabilities very seriously. If you discover a security issue, please bring it to our attention right away! + +If you find a security vulnerability please send your report privately to [security@originprotocol.com](mailto:security@originprotocol.com) or send an encrypted message to [@joshfraser on Keybase](https://keybase.io/joshfraser). Please DO NOT file a public issue. Be sure to review our guidelines for responsible disclosure and eligibility for bug bounties. + +{% page-ref page="bug-bounties.md" %} + +#### **Community Improvement** + +Origin is just as much about community as it is about our technology. + +We need constant help in improving our documentation, building new tools to interface with our platform, spreading the word to new users, helping new users getting setup and much more. + +Please get in touch if you would like to help out. Our `general` channel on [Discord](https://www.originprotocol.com/discord) is a great place to share ideas and volunteer to help. + +#### Full-Time Positions + +Origin occasionally hires developers for part-time or full-time positions. + +We have a strong preference for hiring people who have already started contributing to the project. If you want a full time position on our team, your best shot is to engage with our team and start contributing code. It is very unlikely that we would offer you a full-time position on our engineering team unless you’ve had at least a few pull requests merged. + +If you are interested, check out [the Origin Protocol job listings](https://angel.co/originprotocol/jobs). If you’d like to help in other ways, please propose your ideas in [our Discord channel](https://www.originprotocol.com/discord). + + + diff --git a/hi/security-and-risks/insurance.md b/hi/security-and-risks/insurance.md new file mode 100644 index 000000000..f805d14f1 --- /dev/null +++ b/hi/security-and-risks/insurance.md @@ -0,0 +1,15 @@ +# Insurance + +OUSD holders can buy smart contract insurance to cover any losses that might result from any bugs or vulnerabilities in the OUSD contracts, including economic exploits (such as flash loans attacks). In addition, anyone who wants to make a financial bet on the security of our contracts can earn a yield by providing coverage. + +DeFi coverage for OUSD is currently available via[ Nexus Mutual](https://nexusmutual.io) and [InsurAce Protocol](https://www.insurace.io). These partnerships allow for more effective risk management by OUSD holders while creating new opportunities for coverage providers to profit. + +Read our [announcement post](https://medium.com/originprotocol/origin-partners-with-nexus-mutual-to-offer-defi-insurance-for-origin-dollar-ousd-6eb3432ee042) to learn how to [buy coverage](https://app.nexusmutual.io/cover/buy/get-quote?address=0xE75D77B1865Ae93c7eaa3040B038D7aA7BC02F70), [provide coverage](https://app.nexusmutual.io/staking), or [participate in shield mining campaigns](https://app.nexusmutual.io/rewards) with Nexus Mutual. You can learn more about InsurAce and how to buy coverage on their [user guide](https://docs.insurace.io/landing-page/documentation-1/user-guide) or [documentation](https://docs.insurace.io/landing-page/). + +**Nexus Mutual Coverage** + +Read our[ announcement post](https://medium.com/originprotocol/origin-partners-with-nexus-mutual-to-offer-defi-insurance-for-origin-dollar-ousd-6eb3432ee042) to learn how to[ buy coverage](https://app.nexusmutual.io/cover/buy/get-quote?address=0x0000000000000000000000000000000000000016),[ provide coverage](https://app.nexusmutual.io/staking), and[ participate in shield mining campaigns](https://app.nexusmutual.io/rewards) with Nexus Mutual. + +**InsurAce Protocol Coverage** + +Read InsurAce Protocol’s [User Guide](https://docs.insurace.io/landing-page/documentation-1/user-guide) to learn how to [buy coverage](https://docs.insurace.io/landing-page/documentation-1/user-guide/dashboard) and participate in [underwriting mining](https://docs.insurace.io/landing-page/documentation-1/user-guide/how-to-stake) for OUSD. diff --git a/hi/security-and-risks/risks.md b/hi/security-and-risks/risks.md new file mode 100644 index 000000000..64dc13dc0 --- /dev/null +++ b/hi/security-and-risks/risks.md @@ -0,0 +1,44 @@ +# Risks + +{% hint style="danger" %} +Use at your own risk. Do not deploy more capital than you are willing to lose. +{% endhint %} + +As with any yield-generating DeFi product, there are associated risks with holding OUSD that are important to understand. These risks can be broadly classified into 3 categories: + +* OUSD smart contract risk +* Underlying third-party platform risk +* Underlying stablecoin risk + +**OUSD smart contract risk** + +Our smart contracts have been [audited](audits.md) by multiple, well-respected security firms. However, it is important to note that even with formal audits, it is still possible for there to be logic errors that could lead to the loss of funds for OUSD holders. The contracts involve complex math and logic. While we have taken every precaution to ensure the safety and security of our smart contracts, users are reminded to use at their own risk. Origin Protocol will not be held responsible for any loss of funds, regardless of who is at fault. + +**Third-party platform risk** + +OUSD is built on top of other DeFi platforms like Aave, Compound, and Curve that add additional smart contract risk. We are choosing to work with platforms that have literally billions of dollars of assets under management and have made a reasonable efforts to ensure the security of their protocols. However, there are no guarantees that the underlying third-party platforms will continue to work as intended, and any failure in an underlying strategy would potentially lead to a loss of funds for OUSD holders. + +**Stablecoin risks** + +It is important to understand that OUSD is only as strong as the stablecoins that are backing it. Any loss of value to an underlying stablecoin asset will cause a similar loss to the value of OUSD. While OUSD is designed to maintain a 1:1 relationship between supply and number of backing stablecoins, it does not guarantee which stablecoins will make up that backing nor the value of those coins. + +It is important to note that each of the supported stablecoins introduces non-trivial counter-party risk. Tether, in particular, has had well-documented banking troubles and regulatory challenges. In addition, both USDT and USDC have backdoors that grant their issuers the power to freeze money in their holder's wallets. While DAI does not have any direct backdoors, its assets can also be negatively impacted since USDC and USDT are accepted as collateral for minting DAI. + +**Risk mitigation** + +While it's impossible to guarantee our contracts are 100% safe, we have taken every step possible to mitigate the chance of losing funds: + +We regularly have our work [audited ](audits.md)by the top auditors in the industry. + +[DeFi insurance](insurance.md) is availble to offer smart contract coverage as an optional add-on service for OUSD holders. + +We have retained [Certora](https://www.certora.com) to formally verify the various security properties of our contracts. They helped us establish automated verifications that will run anytime we update our contract code. We have automated checking for common errors with [Slither](https://github.com/crytic/slither) and [Echidna](https://github.com/crytic/echidna) tests. Together, these alert our team to common security issues in addition to our own test suite. + +Code reviews involving our smart contracts are incredibly rigorous. We require at least two engineers to review each change with a detailed checklist and we prioritize security reviews over new feature development. + +Finally, we have formalized an engineering [rotation](https://github.com/OriginProtocol/security/blob/master/incidents/ROTATION.md) for reviewing [attacks on other projects](https://github.com/OriginProtocol/security/tree/master/incidents) as well as ensuring we deep dive into each of these reviews, including reviewing the affected contracts' source code ourselves. We've observed that attackers often exploit the same fundamental vulnerability on multiple different projects. By reviewing other project's vulnerabilities, we force ourselves to stay up to date on the latest security threats in our industry and are constantly learning from their mistakes. + +**Actions speak louder than words** + +You should also know that many members of the Origin team, including both founders, are holding a significant portion of their personal wealth in OUSD. Origin Protocol's corporate treasury is also holding millions of dollars in OUSD. We have skin in the game and are willing to put our own money at risk with the code we have written. + diff --git a/hi/security-and-risks/untitled.md b/hi/security-and-risks/untitled.md new file mode 100644 index 000000000..21b692090 --- /dev/null +++ b/hi/security-and-risks/untitled.md @@ -0,0 +1,20 @@ +# Audits + +{% hint style="danger" %} +The OUSD smart contracts have not yet been audited. We strongly recommend reviewing our smart contracts before depositing significant amounts of capital. +{% endhint %} + +**OUSD** + +Audits have already been scheduled with the respected security firm, [Trail of Bits](https://www.trailofbits.com/), for early October 2020. Their audit results will be publicly released as soon as they are available. + +**Supported Strategies** + +Multiple audits for Compound have already been completed and are available on their website. This includes the original code for the modified [Timelock](../smart-contracts/api/timelock-1.md) that OUSD is using. + +{% page-ref page="untitled.md" %} + + + + + diff --git a/hi/smart-contracts/api/README.md b/hi/smart-contracts/api/README.md new file mode 100644 index 000000000..ff400f20f --- /dev/null +++ b/hi/smart-contracts/api/README.md @@ -0,0 +1,9 @@ +# API + +Documentation of contracts API used by the protocol: + +* [Vault](vault.md) +* [ERC-20](erc-20-1.md) +* [Timelock](timelock.md) +* [Stategies](strategies.md) + diff --git a/hi/smart-contracts/api/erc-20-1.md b/hi/smart-contracts/api/erc-20-1.md new file mode 100644 index 000000000..164343cc0 --- /dev/null +++ b/hi/smart-contracts/api/erc-20-1.md @@ -0,0 +1,16 @@ +# ERC-20 + +{% hint style="success" %} +The main ERC20 address for Origin Dollar (OUSD) is: \ **0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +OUSD is an ERC-20 compliant token with one novel property (elastic supply) that is important to understand. + +{% hint style="warning" %} +Wallets and exchanges that wish to integrate OUSD should not cache token balances for OUSD as this value will change frequently as yield is accrued to token holders. +{% endhint %} + +The biggest difference separating OUSD from your average ERC-20 token is the way OUSD's`balanceOf()` function will return a variable amount based on the total value of the vault multiplied by the holder's stake in the vault. This difference is vital to understand, particularly for wallets and exchanges that wish to integrate the OUSD token. This value should be fetched in real-time instead of being cached since OUSD rebases frequently. + + + diff --git a/hi/smart-contracts/api/oracle.md b/hi/smart-contracts/api/oracle.md new file mode 100644 index 000000000..362749de7 --- /dev/null +++ b/hi/smart-contracts/api/oracle.md @@ -0,0 +1,7 @@ +# Oracles + +{% hint style="info" %} +Documentation coming soon. +{% endhint %} + +OUSD uses Chainlink [oracles](../../core-concepts/price-oracles.md) to secure the protocol from pricing attacks. You can [read more about our decision to work with Chainlink](https://blog.originprotocol.com/how-origin-uses-chainlink-oracles-to-secure-ousd-bff5601e840e) on the Origin blog. diff --git a/hi/smart-contracts/api/ousd.md b/hi/smart-contracts/api/ousd.md new file mode 100644 index 000000000..8d6981144 --- /dev/null +++ b/hi/smart-contracts/api/ousd.md @@ -0,0 +1,8 @@ +# OUSD + +{% hint style="info" %} +Documentation coming soon. +{% endhint %} + + + diff --git a/hi/smart-contracts/api/strategies.md b/hi/smart-contracts/api/strategies.md new file mode 100644 index 000000000..a275b76e6 --- /dev/null +++ b/hi/smart-contracts/api/strategies.md @@ -0,0 +1,14 @@ +# Strategies + +{% hint style="info" %} +Documentation coming soon. +{% endhint %} + +New strategies can be added or removed at any time to respond to new market realities and diversify risk. + +Once we migrate to decentralized governance, it is our intent for the community to propose new strategies and to vote on the appropriate weight for each strategy in the pool. We anticipate that most OUSD holders will value having some exposure to higher yield opportunities while maintaining more conservative positions for a portion of the funds. + + + + + diff --git a/hi/smart-contracts/api/timelock-1.md b/hi/smart-contracts/api/timelock-1.md new file mode 100644 index 000000000..88954aca7 --- /dev/null +++ b/hi/smart-contracts/api/timelock-1.md @@ -0,0 +1,22 @@ +# Timelock + +{% hint style="danger" %} +The timelock will be added soon after everything is verified as working. Until then, the contracts will be governed by Origin's 5 of 8 multi-sig. This allows for a faster response if any critical issues are discovered. +{% endhint %} + +The timelock contract enforces a 48 hour wait period before any changes to the OUSD contracts can be executed. The timelock can be called by our multi-sig and is the owner of our [ERC-20](../architecture.md), [Vault](vault.md), and [Strategies](strategies.md) contracts. Time-delaying admin actions gives users a chance to exit OUSD if its admins become malicious, are compromised, or make a change that the users do not like. + +{% hint style="info" %} +The timelock is a safety measure that gives OUSD holders 48 hours to withdraw their funds if they have objections to any proposed upgrades to the protocol. +{% endhint %} + +OUSD is using a slightly modified version of the [Compound Timelock](https://compound.finance/docs/governance) which has been [audited by OpenZeppelin](https://blog.openzeppelin.com/compound-finance-patch-audit/). The 3 notable differences are: + +1. OUSD will initially use a shorter wait period \(48 hours\) than Compound \(72 hours\) to allow for a faster response if any issues are discovered. +2. Once the 48 hours have passed, anyone is free to execute the call, not just the owner of the contract. +3. Deposits \(but not withdrawals or transfers\) can be immediately frozen without requiring the 48 waiting period. This is in case a major vulnerability is discovered. + + + + + diff --git a/hi/smart-contracts/api/timelock.md b/hi/smart-contracts/api/timelock.md new file mode 100644 index 000000000..2273ddad7 --- /dev/null +++ b/hi/smart-contracts/api/timelock.md @@ -0,0 +1,15 @@ +# Timelock + +The timelock contract enforces a 48 hour wait period before any changes to the OUSD contracts can be executed. The timelock can be called by our multi-sig and is the owner of our [ERC-20](../architecture.md), [Vault](vault.md), and [Strategies](strategies.md) contracts. Time-delaying admin actions gives users a chance to exit OUSD if its admins become malicious, are compromised, or make a change that the users do not like. + +{% hint style="info" %} +The timelock is a safety measure that gives OUSD holders 48 hours to withdraw their funds if they have objections to any proposed upgrades to the protocol. +{% endhint %} + +OUSD is using a slightly modified version of the [Compound Timelock](https://compound.finance/docs/governance) which has been [audited by OpenZeppelin](https://blog.openzeppelin.com/compound-finance-patch-audit/). The two notable differences are: + +1. OUSD will initially use a shorter wait period (48 hours) than Compound (72 hours) to allow for a faster response if any issues are discovered. +2. Some actions, such as reallocating funds between existing strategies and freezing deposits can be called immediately by a multisig wallet without requiring the 48 waiting period. This is in case a major vulnerability is discovered. + + + diff --git a/hi/smart-contracts/api/vault.md b/hi/smart-contracts/api/vault.md new file mode 100644 index 000000000..13a7a8601 --- /dev/null +++ b/hi/smart-contracts/api/vault.md @@ -0,0 +1,184 @@ +--- +description: >- + The vault is the main contract of the protocol. The vault is responsible for minting/redeeming OUSD tokens, rebalancing funds between the various supported strategies, and liquidating rewards tokens. +--- + +# Vault + +## Units + +All OUSD amounts passed or returned by the Vault methods use 18 decimal places. For example, 1 OUSD is expressed as 1000000000000000000. + +For other stable coins, the number of decimal places varies. DAI uses 18 decimal places while USDC and USDT use only 6. + +The protocol was updated in November are [currently underway](https://github.com/OriginProtocol/origin-dollar/issues/590) to increase the resolution of rebasing calculations from 18 decimals to 27 decimals. The OUSD token itself will still retain 18 decimals of precision and user balances should not change. + +## Methods‌ + +### mint() + +**`function mint(address _asset, uint256 _amount, uint256 _minimumOusdAmount)`**‌ + +Mints OUSD in exchange for a deposit of a certain `_amount` of stablecoin specified by the `_asset` parameter. The caller receives a certain amount of OUSD depending on the **exchange rate**. + +| Parameter Name | Type | Description | +| --------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | +| \_asset | address | Address of the [supported](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/core-concepts/supported-assets) stablecoin | +| \_amount | uint256 | Amount deposited, expressed in decimal units | +| \_minimumOusdAmount | uint256 | Minimum amount of OUSD the caller is willing to receive. The call to mint() reverts if the minimum is not met. | + +### mintMultiple() + +**`function mintMultiple(address[] _assets, uint256[] _amounts, uint256 _minimumOusdAmount)`**‌ + +Mints OUSD in exchange for a deposit of multiple stablecoins in a single call. Stablecoins are specified by the `_assets` array parameter and the amounts by the `_amounts` array parameter. The caller receives a certain amount of OUSD depending on the **exchange rate**. + +| Parameter Name | Type | Description | +| --------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| \_assets | address\[] | Addresses of the [supported](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/core-concepts/supported-assets) stablecoins | +| \_amounts | uint256\[] | Amounts deposited, expressed in decimal units | +| \_minimumOusdAmount | uint256 | Minimum amount of OUSD the caller is willing to receive. The call to mint() reverts if the minimum is not met. | + +{% hint style="warning" %} +On redemptions, it is the protocol and not the user that decides which stablecoin(s) are returned to the user. This decision of which coin(s) to return is based on the internal ratios of the assets that are being held in the vault.‌ +{% endhint %} + +### redeem() + +**`function redeem(uint256 _amount)`**‌ + +OUSD specified by the `_amount` parameter is redeemed in exchange for one or multiple supported stablecoins. Amount of stablecoins received depends on the **exchange rate**. + +| Parameter Name | Type | Description | +| -------------- | ------- | ----------------------------------------- | +| \_amount | uint256 | amount of OUSD expressed in decimal units | + +### redeemAll()‌ + +**`function redeemAll()`**‌ + +All OUSD in user's possession is redeemed in exchange for one or multiple supported stablecoins. Amount of stablecoins received depends on the **exchange rate**. + +### rebase() + +**`function rebase()`**‌ + +Updates the balances for all users based on the value of the assets currently stored in the vault. Returns total value of the underlying assets and strategies represented by `uint256` type.‌ + +### allocate() + +**`function allocate()`**‌ + +Moves the assets under management into their prescribed [Stategies](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/architecture/strategies) to maximize yield and diversify risk.‌ + +### totalValue() + +**`function totalValue()`**‌ + +Returns total value of underlying assets and strategies. + +| `return` name | Type | Description | +| ------------- | ------- | ------------------------------------------------ | +| value | uint256 | total value of underlying assets and strategies. | + +### checkBalance() + +**`function checkBalance(address _asset)`**‌ + +Returns the balance of an asset specified by the`_asset` parameter held in Vault and all strategies represented by `uint256` type. + +| Parameter Name | Type | Description | +| -------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | +| \_asset | address | Address of the [supported](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/core-concepts/supported-assets) stablecoin | + +### calculateRedeemOutputs() + +**`function calculateRedeemOutputs(uint256 _amount)`**‌ + +Calculate the mix of stablecoins that a `redeem` function would return when redeeming certain amount of OUSD specified by the `_amount` parameter. Returns an array of stablecoin values. + +To attribute the stablecoin values to the correct stablecoin currency this call should be used in conjunction with `getAllAssets` function that returns an array of stablecoin addresses. + +The index of an array that is returned by the `calculateRedeemOutputs` corresponds to the stablecoin address with the same index in an array returned by the `getAllAssets` function. + +| Parameter Name | Type | Description | +| -------------- | ------- | ----------------------------------------- | +| \_amount | uint256 | amount of OUSD expressed in decimal units | + +| `return` name | Type | Description | +| ------------- | ----------- | --------------------------------------------------------------------------- | +| outputs | uint256\[] | array of the amount of the stablecoin assets `redeem` function would return | + +### getAssetCount() + +**`function getAssetCount()`**‌ + +Return the number of supported stablecoin assets represented by `uint256` type.‌ + +### getAllAssets() + +**`function getAllAssets()`**‌ + +Return all assets addresses of supported stablecoin assets in order represented by `uint256` type.‌ + +### getStrategyCount()‌ + +**`function getStrategyCount()`**‌ + +Return the number of strategies active on the Vault represented by `uint256` type.‌ + +### getAPR() + +**`function getAPR()`**‌ + +Return the total annual percentage yield (APR) of the Vault and all Strategies represented by `uint256` type. Resulting number has 18 decimal places.‌ + +### isSupportedAsset() + +**`function isSupportedAsset(address _asset)`**‌ + +Return the boolean that is true if the asset specified by the `_asset` parameter is supported by the Vault. + +| Parameter Name | Type | Description | +| -------------- | ------- | ------------------------- | +| \_asset | address | Address of the stablecoin | + +### priceUSDMint() + +**`function priceUSDMint(string symbol)`**‌‌ + +Returns the exchange rate price of a stable coin specified by the `symbol` parameters used when minting OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Parameter Name | Type | Description | +| -------------- | ------ | ------------------------ | +| symbol | string | Symbol of the stablecoin | + +### priceUSDRedeem() + +**`function priceUSDRedeem(string symbol)`**‌‌ + +Returns the exchange rate price of a stable coin specified by the `symbol` parameters used when redeeming OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Parameter Name | Type | Description | +| -------------- | ------ | ------------------------ | +| symbol | string | Symbol of the stablecoin | + +### priceAssetUSDMint()‌ + +**`function priceAssetUSDMint(address _asset)`**‌‌ + +Returns the exchange rate price of a stable coin specified by the `_asset` parameters used when minting OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Parameter Name | Type | Description | +| -------------- | ------- | -------------------------- | +| \_asset | address | Address of the stablecoin‌ | + +### priceAssetUSDRedeem()‌ + +**`function priceAssetUSDRedeem(address _asset)`**‌‌‌ + +Returns the exchange rate price of a stable coin specified by the `_asset` parameters used when redeeming OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Parameter Name | Type | Description | +| -------------- | ------- | ------------------------- | +| \_asset | address | Address of the stablecoin | diff --git a/hi/smart-contracts/architecture.md b/hi/smart-contracts/architecture.md new file mode 100644 index 000000000..f53eacf24 --- /dev/null +++ b/hi/smart-contracts/architecture.md @@ -0,0 +1,18 @@ +# Architecture + +![](../.gitbook/assets/ousd\_docs\_graphics\_3.png) + +OUSD is made up of a series of smart contracts. Each of these contracts is wrapped in a proxy contract that can be upgraded via the governance protocols. + +Internally, ownership in the vault is tracked using a credits system that represents the percent ownership of the vault for each holder. The [ERC-20](api/erc-20-1.md) contract handles the conversion to USD terms when viewing a balance or initiating a transfer between wallets. + +The [Vault](api/vault.md) is responsible for minting and burning OUSD. It also enforces the percentage of assets that are deployed to each of the supported [Strategies](../core-concepts/supported-strategies/). To optimize gas costs, the vault may maintain a buffer to allow most deposits and redemptions to occur without winding/unwinding assets from strategies. + +The Flipper is a smart contract for users to swap in and out of OUSD cheaply for any of DAI, USDC, or USDT at a fixed 1:1 rate. This contract is used as an alternative way to route user transactions originating from the web app. It's important to note that this contract may be empty on one side (e.g., contain 0 OUSD balance), and thus sometimes provides limited swap routes. While limited in functionality, Flipper uses around 45% less gas than Uniswap v3 due to its simplicity. + +The Harvester contract collects reward tokens earned by the strategies, sells them, and sends the resulting stablecoins to the Dripper to be released to the vault. Anyone can call the harvest and earn 1% of the resulting USDT for doing so. This creates a self-incentivizing system that operates at a known fixed cost. See our [incentivized-harvesting-guide.md](../guides/incentivized-harvesting-guide.md "mention") for details. + +The Dripper contract buffers aproximately one week of reward token sales proceeds and makes it avaiable at a smooth rate to the vault. This keeps OUSD yield from being extremely spiky when harvests come in. The rate is recalculated at least once per day and is the rate that it would take to distribute the current dripper holdings out over a one week period. + + + diff --git a/hi/smart-contracts/erc-20.md b/hi/smart-contracts/erc-20.md new file mode 100644 index 000000000..c3a21d407 --- /dev/null +++ b/hi/smart-contracts/erc-20.md @@ -0,0 +1,12 @@ +# Architecture + +![](../.gitbook/assets/ousd_docs_graphics_3.png) + +OUSD is made up of a series of smart contracts. Each of these contracts is wrapped in a proxy contract that can be upgraded via the governance protocols. + +Internally, ownership in the pool is tracked using a credits system that represents the percent ownership of the pool for each holder. The [ERC-20](api/erc-20-1.md) contract handles the conversion to USD terms when viewing a balance or initiating a transfer between wallets. + +The [Vault](api/vault.md) is responsible for minting and burning OUSD. It also enforces the percentage of assets that are deployed to each of the supported [Strategies](../core-concepts/supported-strategies/). To optimize gas costs, the vault maintains a buffer to allow most deposits and redemptions to occur without winding/unwinding assets from strategies. + + + diff --git a/hi/smart-contracts/registry.md b/hi/smart-contracts/registry.md new file mode 100644 index 000000000..f2d45b7dd --- /dev/null +++ b/hi/smart-contracts/registry.md @@ -0,0 +1,156 @@ +# Registry + +Here is the full registry of OUSD smart contracts that have been deployed to the Ethereum mainnet. + +{% hint style="success" %} +The main ERC20 address for Origin Dollar (OUSD) is: \ +**0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +{% tabs %} +{% tab title="Core" %} +Well-known addresses (proxy wrappers): + + + +| Contract | Address | ENS | +| -------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------- | +| OUSD | [0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86](https://etherscan.io/address/0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86) |

ousd.eth

origindollar.eth

| +| Vault | [0xE75D77B1865Ae93c7eaa3040B038D7aA7BC02F70](https://etherscan.io/address/0xe75d77b1865ae93c7eaa3040b038d7aa7bc02f70) | [originvault.eth](https://etherscan.io/address/originvault.eth) | + + + +Internal implementation contracts. The Vault is split into VaultAdmin and VaultCore to work around the maximum contract size limit on Ethereum: + + + +| Contract | Address | +| ---------- | --------------------------------------------------------------------------------------------------------------------- | +| OUSD | [0x33db8d52d65F75E4cdDA1b02463760c9561A2aa1](https://etherscan.io/address/0x33db8d52d65F75E4cdDA1b02463760c9561A2aa1) | +| VaultAdmin | [0x3EB68D8f4992A0e34aA58cc3dF86A40814078cF6](https://etherscan.io/address/0x3EB68D8f4992A0e34aA58cc3dF86A40814078cF6) | +| VaultCore | [0x226de75867B2f785BA19600e2a7e6eFccD57157B](https://etherscan.io/address/0x226de75867B2f785BA19600e2a7e6eFccD57157B) | +{% endtab %} + +{% tab title="Strategies" %} +Well-known addresses (proxy wrappers): + + + +| Strategy | Address | Auto-Allocation | +| -------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------- | +| Aave | [0x5e3646A1Db86993f73E6b74A57D8640B69F7e259](https://etherscan.io/address/0x5e3646A1Db86993f73E6b74A57D8640B69F7e259) | Manual allocation | +| Compound | [0x9c459eeb3FA179a40329b81C1635525e9A0Ef094](https://etherscan.io/address/0x9c459eeb3FA179a40329b81C1635525e9A0Ef094) | 100% of USDC, USDT and DAI | +| Convex | [0xEA2Ef2e2E5A749D4A66b41Db9aD85a38Aa264cb3](https://etherscan.io/address/0xEA2Ef2e2E5A749D4A66b41Db9aD85a38Aa264cb3#code) | Manual allocation | + + + +Internal implementation contracts: + + + +| Strategy | Address | +| -------- | -------------------------------------------------------------------------------------------------------------------------- | +| Aave | [0xA050eBE34Be464902F7E0F7F451f4B5253d57114](https://etherscan.io/address/0xA050eBE34Be464902F7E0F7F451f4B5253d57114) | +| Compound | [0x47f3eb71b5507df5ab6ac7f8660ef282ab0e560f](https://etherscan.io/address/0x47f3eb71b5507dF5Ab6aC7F8660Ef282Ab0E560f) | +| Convex | [0x08f3a0637851aA1B0E0750aA3d46E0E356f349aC](https://etherscan.io/address/0x08f3a0637851aa1b0e0750aa3d46e0e356f349ac#code) | + + + +Yield harvesting and collection: + + + +| | | +| --------- | -------------------------------------------------------------------------------------------------------------------------- | +| Contract | Address | +| Harvester | [0x21fb5812d70b3396880d30e90d9e5c1202266c89](https://etherscan.io/address/0x21fb5812d70b3396880d30e90d9e5c1202266c89#code) | +| Dripper | [0x80c898ae5e56f888365e235ceb8cea3eb726cb58](https://etherscan.io/address/0x80c898ae5e56f888365e235ceb8cea3eb726cb58#code) | +{% endtab %} + +{% tab title="Oracles" %} +The following Chainlink oracles are used to protect the vault in case a backing stablecoin loses value. They also offer slippage protection when harvesting rewards tokens or executing the OGN buyback. + + + +| Pair | Contract | +| ------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| [USDT/USD](https://data.chain.link/ethereum/mainnet/stablecoins/usdt-usd) | [0x3E7d1eAB13ad0104d2750B8863b489D65364e32D](https://etherscan.io/address/0x3E7d1eAB13ad0104d2750B8863b489D65364e32D) | +| [USDC/USD](https://data.chain.link/ethereum/mainnet/stablecoins/usdc-usd) | [0x8fFfFfd4AfB6115b954Bd326cbe7B4BA576818f6](https://etherscan.io/address/0x8fFfFfd4AfB6115b954Bd326cbe7B4BA576818f6) | +| [DAI/USD](https://data.chain.link/ethereum/mainnet/stablecoins/dai-usd) | [0xAed0c38402a5d19df6E4c03F4E2DceD6e29c1ee9](https://etherscan.io/address/0xAed0c38402a5d19df6E4c03F4E2DceD6e29c1ee9) | +| [COMP/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/comp-usd) | [0xdbd020caef83efd542f4de03e3cf0c28a4428bd5](https://etherscan.io/address/0xdbd020caef83efd542f4de03e3cf0c28a4428bd5) | +| [AAVE/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/aave-usd) | [0x547a514d5e3769680Ce22B2361c10Ea13619e8a9](https://etherscan.io/address/0x547a514d5e3769680Ce22B2361c10Ea13619e8a9) | +| [CRV/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/crv-usd) | [0xcd627aa160a6fa45eb793d19ef54f5062f20f33f](https://etherscan.io/address/0xcd627aa160a6fa45eb793d19ef54f5062f20f33f) | +| [CVX/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/cvx-usd) | [0xd962fC30A72A84cE50161031391756Bf2876Af5D](https://etherscan.io/address/0xd962fC30A72A84cE50161031391756Bf2876Af5D) | +| [OGN/ETH](https://data.chain.link/ethereum/mainnet/crypto-eth/ogn-eth) | [0x2c881b6f3f6b5ff6c975813f87a4dad0b241c15b](https://etherscan.io/address/0x2c881b6f3f6b5ff6c975813f87a4dad0b241c15b) | +{% endtab %} + +{% tab title="Governance" %} + + +| Contract | Address | ENS | +| ------------------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------- | +| 5 of 8 Multisig | [0xbe2AB3d3d8F6a32b96414ebbd865dBD276d3d899](https://etherscan.io/address/0xbe2AB3d3d8F6a32b96414ebbd865dBD276d3d899) | [originprotocol.eth](https://etherscan.io/address/originprotocol.eth) | +| 2 of 9 Multisig | [0xF14BBdf064E3F67f51cd9BD646aE3716aD938FDC](https://etherscan.io/address/0xF14BBdf064E3F67f51cd9BD646aE3716aD938FDC) | [originstrategist.eth](https://etherscan.io/address/originstrategist.eth) | +| Governor / Timelock | [0x72426BA137DEC62657306b12B1E869d43FeC6eC7](https://etherscan.io/address/0x72426BA137DEC62657306b12B1E869d43FeC6eC7) |

origingovernor.eth

origintimelock.eth

| +| OGN Buyback | [0x77314EB392b2be47C014cde0706908b3307Ad6a9](https://etherscan.io/address/0x77314EB392b2be47C014cde0706908b3307Ad6a9) | [originbuyback.eth](https://etherscan.io/address/originbuyback.eth) | +{% endtab %} + +{% tab title="Stablecoins" %} +| Contract | Address | +| ------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| [USDT](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | [0xdac17f958d2ee523a2206206994597c13d831ec7](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | +| [USDC](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | [0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | +| [DAI](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | [0x6b175474e89094c44da98b954eedeac495271d0f](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | +{% endtab %} + +{% tab title="Staking" %} +| Contract | Address | ENS | +| ----------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- | +| OGN Staking | [0x501804B374EF06fa9C427476147ac09F1551B9A0](https://etherscan.io/address/0x501804B374EF06fa9C427476147ac09F1551B9A0) | [originstaking.eth](https://etherscan.io/address/originstaking.eth) | + + + +Internal implementation contracts: + + + +| Contract | Address | +| ----------- | --------------------------------------------------------------------------------------------------------------------- | +| OGN Staking | [0x8cd68a1e0b79150455c5498882d5d5d3df2dde08](https://etherscan.io/address/0x8cd68a1e0b79150455c5498882d5d5d3df2dde08) | + + + +OUSD compensation contract ([details](https://medium.com/originprotocol/origin-delivers-on-compensation-promise-claim-your-ousd-and-ogn-now-a9fa9b840476)): + + + +| Contract | Address | +| ----------------- | --------------------------------------------------------------------------------------------------------------------- | +| OUSD Compensation | [0x9C94df9d594BA1eb94430C006c269C314B1A8281](https://etherscan.io/address/0x9C94df9d594BA1eb94430C006c269C314B1A8281) | +{% endtab %} + +{% tab title="Flipper" %} +Flipper is a gas-optimized way for users to swap in and out of OUSD at a fixed 1:1 rate with other stablecoins. This contract may become empty on one side (e.g., contain 0 OUSD balance), and thus sometimes provides limited swap routes. + + + +| Contract | Address | ENS | +| -------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- | +| Flipper | [0xcecaD69d7D4Ed6D52eFcFA028aF8732F27e08F70](https://etherscan.io/address/0xcecaD69d7D4Ed6D52eFcFA028aF8732F27e08F70) | [originflipper.eth](https://etherscan.io/address/originflipper.eth) | +{% endtab %} + +{% tab title="Wrapped" %} +Wrapped OUSD\ +\ **Well known proxy address:** - [0xD2af830E8CBdFed6CC11Bab697bB25496ed6FA62](https://etherscan.io/address/0xD2af830E8CBdFed6CC11Bab697bB25496ed6FA62) + +Internal implementation address - [0xbf3b9b141cb3629f5bb8f721cba9265c92494539](https://etherscan.io/address/0xbf3b9b141cb3629f5bb8f721cba9265c92494539) +{% endtab %} +{% endtabs %} + + + + + + + + diff --git a/hr/README.md b/hr/README.md new file mode 100644 index 000000000..7c08388ed --- /dev/null +++ b/hr/README.md @@ -0,0 +1,29 @@ +--- +description: The first stablecoin that earns a yield while it's still in your wallet +--- + +# Introduction + +## **A Better Form of Money** + +Origin Dollar (OUSD) is a new stablecoin that was initially launched in September 2020 on the Ethereum network. Its design is superior to existing stablecoins because OUSD captures competitive yields while being passively held in wallets. + +![](.gitbook/assets/origin-dollar-summary.jpeg) + +**Background** + +In 1999, Yu Pan, Origin’s R\&D engineer, and his fellow PayPal co-founders [conceived](https://www.cnbc.com/2017/08/14/david-sacks-cryptocurrency-interview.html) of creating “the new world currency”, complete with interest yielding strategies and debit cards without having to connect to traditional banking systems. Several pivots and an eBay acquisition later, PayPal dropped its ambitions in this area. + +Almost two decades later, Tether introduced the concept of a USD-denominated stablecoin in 2014. Since then, stablecoins have proven themselves as an ideal way of transferring value without exposing users to the price volatility of free-floating currencies. Today, more value is [transferred via Tether](https://www.bloomberg.com/news/articles/2019-10-01/tether-not-bitcoin-likely-the-world-s-most-used-cryptocurrency) than with Bitcoin. Meanwhile, Decentralized Finance (DeFi) has experienced an explosion of growth with [billions of dollars](https://defipulse.com) of capital now locked up in smart contracts that generate yields from lending and trading protocols. + +One of the problems with existing stablecoins is that users have to constantly choose between holding an easily spendable coin and earning yields by locking their tokens up in smart contracts. For example, users that lock up USDC in Aave cannot spend a portion of that USDC simultaneously. Expensive Ethereum gas fees serve as "switching costs" each time those users want to switch between spending mode and earning mode. + +To make matters worse, yields from lending and trading activities change rapidly. Sophisticated DeFi yield earners are familiar with constantly having to rebalance their portfolio of assets across many competing platforms. This is time-consuming and expensive as gas fees once again eat into yields. In addition, it is time-consuming to calculate real ROI as APYs are unstable and constantly fluctuating. There isn't an easy unit of account. As a result, while DeFi is growing extremely rapidly, it still makes it difficult for many cryptocurrency users to participate. + +With OUSD, there’s no need to unwind complicated positions when you want to spend your OUSD. You can transfer it freely without having to pay gas to unlock spendable capital. In addition, OUSD gives you access to some of the highest-earning opportunities across DeFi with none of the hassles. The OUSD smart contract will deploy your underlying capital to a diversified set of yield-earning strategies, rebalancing over time to achieve great yields while diversifying risk. Earnings automatically accrue in your wallet and compound continuously while you hold OUSD. Again, no staking or lockups are required. OUSD also serves as an ideal unit of account. DeFi investors no longer need complicated spreadsheets to calculate their earnings as they can easily see their constantly updated OUSD balances in real-time as their interest compounds automatically. OUSD is an ideal stablecoin for DeFi yield farmers and novice cryptocurrency users alike. + +Created by cryptocurrency and fintech veterans, the Origin Dollar is brought to you by the [team](https://www.originprotocol.com/team) at [Origin Protocol](https://www.originprotocol.com) that includes serial entrepreneurs, early cryptocurrency investors, early employees at YouTube, engineering managers at Google/Dropbox, and one of the Paypal co-founders, Yu Pan. + +For those interested in diving into the technical details of how it works, these docs are a great place to start. We encourage developers to audit and contribute to our [Github](http://www.github.com/OriginProtocol) (100% open-source). Our team hangs out in [Discord](https://www.originprotocol.com/discord) if you have questions or need help getting started. + +Welcome to the future of money. diff --git a/hr/SUMMARY.md b/hr/SUMMARY.md new file mode 100644 index 000000000..a389e6c18 --- /dev/null +++ b/hr/SUMMARY.md @@ -0,0 +1,64 @@ +# Table of contents + +* [Introducing OUSD](README.md) +* [How It Works](how-it-works.md) +* [Getting Started](getting-started.md) +* [Analytics Dashboard](analytics-dashboard.md) +* [FAQ](faq.md) + +## Core Concepts + +* [Elastic Supply](core-concepts/elastic-supply/README.md) + * [Rebasing & Smart Contracts](core-concepts/elastic-supply/rebasing-and-smart-contracts.md) +* [Yield Generation](core-concepts/yield-generation/README.md) + * [Lending](core-concepts/yield-generation/lending.md) + * [Market Making](core-concepts/yield-generation/market-making.md) + * [Rewards](core-concepts/yield-generation/rewards.md) +* [Wrapped OUSD](core-concepts/wrapped-ousd.md) +* [Supported Stablecoins](core-concepts/supported-stablecoins/README.md) + * [USDT](core-concepts/supported-stablecoins/usdt.md) + * [USDC](core-concepts/supported-stablecoins/usdc.md) + * [DAI](core-concepts/supported-stablecoins/dai.md) +* [Supported Strategies](core-concepts/supported-strategies/README.md) + * [Compound](core-concepts/supported-strategies/compound.md) + * [Aave](core-concepts/supported-strategies/aave.md) + * [Curve](core-concepts/supported-strategies/curve.md) + * [Convex](core-concepts/supported-strategies/convex.md) +* [Fund Management](core-concepts/fund-management.md) +* [Price Oracles](core-concepts/price-oracles.md) + +## Governance + +* [Principles](governance/principles.md) +* [Admin Privileges](governance/admin-privileges.md) +* [OGN Staking](governance/ogn-staking.md) +* [Contributing](governance/contributing.md) +* [Vote Delegation](governance/vote-delegation.md) + +## Smart Contracts + +* [Architecture](smart-contracts/architecture.md) +* [Registry](smart-contracts/registry.md) +* [API](smart-contracts/api/README.md) + * [Vault](smart-contracts/api/vault.md) + * [ERC-20](smart-contracts/api/erc-20-1.md) + * [Timelock](smart-contracts/api/timelock.md) + * [Strategies](smart-contracts/api/strategies.md) + +## Security & Risks + +* [Risks](security-and-risks/risks.md) +* [Audits](security-and-risks/audits.md) +* [Insurance](security-and-risks/insurance.md) +* [Bug Bounties](security-and-risks/bug-bounties.md) + +## Guides + +* [Integration Guide For Exchanges](guides/integration-guide-for-exchanges.md) +* [Incentivized Harvesting Guide](guides/incentivized-harvesting-guide.md) + +## Links + +* [Github](https://www.github.com/originprotocol/origin-dollar) +* [Discord](https://www.originprotocol.com/discord) +* [originprotocol.com](https://www.originprotocol.com) diff --git a/hr/analytics-dashboard.md b/hr/analytics-dashboard.md new file mode 100644 index 000000000..9c3e6a577 --- /dev/null +++ b/hr/analytics-dashboard.md @@ -0,0 +1,31 @@ +# Analytics Dashboard + +{% hint style="info" %} +Visit [analytics.ousd.com](https://analytics.ousd.com) to see how funds are allocated, view historical performance data, and track your personal gains. +{% endhint %} + +The [APY dashboard](https://analytics.ousd.com/apy) is primarily intended for consumption by our engineering team, but we went ahead and deployed it since our ethos is "public by default" and everything that we do is [open-source](http://github.com/OriginProtocol). Unfortunately, that often means erring on the side of transparency and not necessarily the side of taking the time to explain things clearly. + +Before diving into the yield calculation, it's important to understand how OUSD works both in terms of [yield generation](https://docs.ousd.com/core-concepts/yield-generation) and [rebasing](https://docs.ousd.com/core-concepts/elastic-supply). You can read all about that in these [docs](https://docs.ousd.com), including [the part about smart contracts being excluded from yield](https://docs.ousd.com/core-concepts/elastic-supply/rebasing-and-smart-contracts). + +To summarize how APY is calculated, it's the annualized rate of change in OUSD's internal accounting of users' balances between two points in time. To understand that, let's break down the columns in the historical APY table (in reverse order). + +**Ratio** + +There are two types of OUSD balances: rebasing (most accounts) and non-rebasing (smart contracts that have not opted in). The OUSD token contract maintains a separate internal accounting for each type of balance using what it calls "credits". The ratio shown here is the rebasing supply of OUSD divided by the rebasing credits, which gives us the exchange rate between the two. + +**Credits** + +Some smart contracts holding OUSD have unique credit balances because their rebasing status has changed at some point in the past (by opting in or out). Here we show the sum of all rebasing credits and non-rebasing credits. When multiplied by the ratio, it gives the difference between backing supply and non-rebasing supply. + +**Non-rebasing** + +This is the portion of supply held in other smart contracts that have not opted in to rebasing. When added to (credits \* ratio), this equals backing supply. Note also that the **%** column shows the percentage of OUSD that is non-rebasing. + +**Boost** + +The APY is effectively "boosted" for rebasing accounts thanks to the fact that some OUSD is non-rebasing. Think about all of the stablecoins that were used as collateral to mint the non-rebasing OUSD. Those stablecoins are still earning through our yield farming strategies, but the gains are accruing only to the rebasing accounts. The result is that the effective APY is higher than it would be without this mechanism. The boost is the measure of this difference. If boost is 100%, then regular OUSD holders are enjoying double the APY that they otherwise would. + +**APR/APY calculation** + +Bringing this full circle, we currently measure yield by measuring the change in the [rebasing credits per token](https://github.com/OriginProtocol/origin-dollar/blob/master/contracts/contracts/token/OUSD.sol#L45) between two points in time. But there are a few other considerations to note. First, we have to make an assumption about how many Ethereum blocks are mined on an average day. We use a [fixed 6,500](https://github.com/OriginProtocol/ousd-analytics/blob/master/eagleproject/core/views.py#L43), but the actual number of blocks per day is variable. Second, we need a reasonable time horizon to measure. We focus on 30 days, which has proven to be a relatively consistent window of time during which a complete sample of yield-generating activities has occurred. Third, we convert APR into APY by assuming [constant daily compounding](https://github.com/OriginProtocol/ousd-analytics/blob/master/eagleproject/core/views.py#L449-L451). In other words, yield is constantly being reinvested into the same strategies. Finally, there is one notable drawback to using the rebase ratio to measure yield. Since rebase events currently occur sporadically (and not very frequently in a world of high gas prices), the APY won't reflect earnings that have not yet been translated to account balances. For example, there could be an interest rate spike in Compound or a volume spike in the Curve 3pool strategy, which would cause OUSD to earn more than it does on an average day. Until [the rebase method](https://github.com/OriginProtocol/origin-dollar/blob/master/contracts/contracts/vault/VaultCore.sol#L365-L370) gets called, the APY will underreport these earnings. In fact, anyone who sells OUSD during that time would be missing out on the "[next rebase](https://analytics.ousd.com)". The good news is that you should be able to observe the change in your balance over one week and it (annualized) should approximately equal our advertised APY. diff --git a/hr/architecture/erc-20-1.md b/hr/architecture/erc-20-1.md new file mode 100644 index 000000000..a9caff400 --- /dev/null +++ b/hr/architecture/erc-20-1.md @@ -0,0 +1,19 @@ +# ERC-20 + +{% hint style="success" %} +The main ERC20 address for Origin Dollar \(OUSD\) is: +**0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +OUSD is an ERC-20 compliant token with one novel property that is important to understand. + +{% hint style="warning" %} +Wallets and exchanges that wish to integrate OUSD should not cache token balances for OUSD as this value will change frequently as yield is accrued to token holders. +{% endhint %} + +The biggest difference separating OUSD from your average ERC-20 token is the way OUSD's`balanceOf()` function will return a variable amount based on the total value of the pool multiplied by the holder's stake in the pool. This difference is vital to understand, particularly for wallets and exchanges that wish to integrate the OUSD token. This value should be fetched in real-time instead of being cached since OUSD rebases frequently. + + + + + diff --git a/hr/architecture/erc-20.md b/hr/architecture/erc-20.md new file mode 100644 index 000000000..9a789241b --- /dev/null +++ b/hr/architecture/erc-20.md @@ -0,0 +1,12 @@ +# Overview + +![](../.gitbook/assets/ousd_docs_graphics_3.png) + +OUSD is made up of a series of smart contracts. Each of these contracts is wrapped in a proxy contract that can be upgraded via the governance protocols. + +Internally, ownership in the pool is tracked using a credits system that represents the percent ownership of the pool for each holder. The ERC-20 contract handles the conversion to USD terms when viewing a balance or initiating a transfer between wallets. + +The Vault is responsible for minting and burning OUSD. It also enforces the percentage of assets that are deployed to each of the supported [Strategies](../core-concepts/supported-strategies/). To optimize gas costs, the vault maintains a buffer to allow most deposits and redemptions to occur without winding/unwinding assets from strategies. + + + diff --git a/hr/architecture/strategies.md b/hr/architecture/strategies.md new file mode 100644 index 000000000..3133d5b03 --- /dev/null +++ b/hr/architecture/strategies.md @@ -0,0 +1,14 @@ +# Strategies + +New strategies can be added or removed at any time to respond to new market realities and diversify risk. + +At launch, OUSD will take advantage of a single strategy and deploy deposited capital to Compound. We intend to deploy many other strategies soon thereafter. + +Once we migrate to decentralized governance, it is our intent for the community to propose new strategies and to vote on the appropriate weight for each strategy in the pool. We anticipate that most OUSD holders will value having some exposure to higher yield opportunities while maintaining more conservative positions for a portion of the funds. + + + + + + + diff --git a/hr/architecture/timelock.md b/hr/architecture/timelock.md new file mode 100644 index 000000000..b26b30f1c --- /dev/null +++ b/hr/architecture/timelock.md @@ -0,0 +1,22 @@ +# Timelock + +{% hint style="danger" %} +The timelock will be added soon after everything is verified as working. Until then, the contracts will be governed by Origin's 5 of 8 multi-sig. This allows for a faster response if any critical issues are discovered. +{% endhint %} + +The timelock contract enforces a 48 hour wait period before any changes to the OUSD contracts can be executed. The timelock can be called by our multi-sig and is the owner of our [ERC-20](erc-20.md), [Vault](vault.md), and [Strategies](strategies.md) contracts. Time-delaying admin actions gives users a chance to exit OUSD if its admins become malicious, are compromised, or make a change that the users do not like. + +{% hint style="info" %} +The timelock is a safety measure that gives OUSD holders 48 hours to withdraw their funds if they have objections to any proposed upgrades to the protocol. +{% endhint %} + +OUSD is using a slightly modified version of the [Compound Timelock](https://compound.finance/docs/governance) which has been [audited by OpenZeppelin](https://blog.openzeppelin.com/compound-finance-patch-audit/). The 3 notable differences are: + +1. OUSD will initially use a shorter wait period \(48 hours\) than Compound \(72 hours\) to allow for a faster response if any issues are discovered. +2. Once the 48 hours have passed, anyone is free to execute the call, not just the owner of the contract. +3. Deposits \(but not withdrawals or transfers\) can be immediately frozen without requiring the 48 waiting period. This is in case a major vulnerability is discovered. + + + + + diff --git a/hr/architecture/vault.md b/hr/architecture/vault.md new file mode 100644 index 000000000..ebb2a96dc --- /dev/null +++ b/hr/architecture/vault.md @@ -0,0 +1,17 @@ +# Vault + +The vault is at the core of the protocol. The vault is responsible for minting/redeeming OUSD tokens, rebalancing funds between the various supported strategies, and liquidating rewards tokens. + +The most important publicly callable functions on the Vault are: + +* `mint()`allows a single supported stablecoin to be converted to OUSD +* `mintMultiple()`allows multiple supported stablecoins to be converted to OUSD in a single call +* `redeem()`allows a specified amount of OUSD to be redeemed for other supported stablecoins. +* `redeemAll()`allows a user to redeem their entire balance of OUSD for other supported stablecoins. This is particularly useful since user balances are constantly growing as yield is accrued. +* `rebase()`updates the balances for all users based on the value of the assets currently stored in the pool. +* `allocate()`moves the assets under management into their prescribed [Stategies](strategies.md) to maximize yield and diversify risk. + +On redemptions, it is the protocol and not the user that decides which stablecoin\(s\) to return to the user. This decision of which coin\(s\) to return is based on the internal ratios of the assets that are being held in the pool. + + + diff --git a/hr/core-concepts/elastic-supply.md b/hr/core-concepts/elastic-supply.md new file mode 100644 index 000000000..2cf0fd8ae --- /dev/null +++ b/hr/core-concepts/elastic-supply.md @@ -0,0 +1,18 @@ +# Elastic Supply + +**Elastic Supply. Stable Price.** + +OUSD works differently than most tokens. Instead of the price increasing as the value of the assets under management increase \(as with Compound cTokens or Yearn yTokens\), the value of one OUSD remains constant at approximately $1. Instead, the contracts constantly adjust the monetary supply and automatically updates the balance in every token holder’s wallet to reflect the yield that has been earned by the protocol. + +{% hint style="info" %} +Think of it as interest accruing in your bank account. The unit of account and value for the US dollar doesn’t change. You just get more US dollars over time as you earn interest. +{% endhint %} + +![](../.gitbook/assets/ousd_docs_graphics_4.png) + +This mechanism was inspired by the novel approach taken by [Ampleforth](https://www.ampleforth.org/), but there are some key differences that are worth highlighting: + +1. OUSD is 100% backed by other stablecoins and will not have the same challenge maintaining the peg to the dollar. Given the ease of minting and redeeming OUSD, we can count on arbitrageurs to ensure the peg is maintained. +2. OUSD rebasing should only increase supply since the amount of OUSD minted is tied to the realized gains earned by the underlying strategies. Your principal is protected as long as nothing goes wrong with the underlying lending/AMM and stablecoin protocols. Any decrease in your balance would be an indication of trouble in the system. +3. Unlike Ampleforth, which rebases once a day, the monetary supply of OUSD is constantly being updated in real-time as yield is generated. + diff --git a/hr/core-concepts/elastic-supply/README.md b/hr/core-concepts/elastic-supply/README.md new file mode 100644 index 000000000..a681d0615 --- /dev/null +++ b/hr/core-concepts/elastic-supply/README.md @@ -0,0 +1,21 @@ +# Elastic Supply + +**Elastic Supply. Stable Price.** + +OUSD works differently than most tokens. Instead of the price increasing as the value of the assets under management increase (as with Compound cTokens or Yearn yTokens), the value of one OUSD remains constant at approximately $1. Instead, the contracts constantly adjust the monetary supply and automatically updates the balance in every token holder’s wallet to reflect the yield that has been earned by the protocol. + +{% hint style="info" %} +Think of it as interest accruing in your bank account. The unit of account and value for the US dollar doesn’t change. You just get more US dollars over time as you earn interest. +{% endhint %} + +![](../../.gitbook/assets/ousd\_docs\_graphics\_4.png) + +This mechanism was inspired by the novel approach taken by [Ampleforth](https://www.ampleforth.org), but there are some key differences that are worth highlighting: + +1. OUSD is 100% backed by other stablecoins and does not have the same challenge maintaining the peg to the dollar. Given the ease of minting and redeeming OUSD, we can count on arbitrageurs to ensure the peg is maintained. +2. OUSD rebasing will only increase supply since the amount of OUSD minted is tied to the realized gains earned by the underlying strategies. Your principal is protected as long as nothing goes wrong with the underlying lending/AMM and stablecoin protocols. Your OUSD balance will never decrease, but the value could drop if there's a failure in the underlying systems. +3. Unlike Ampleforth, which only rebases once a day, the monetary supply of OUSD is constantly being updated in real-time as yield is generated. Rebases are triggered regularly as users interact with the OUSD contracts. Chainlink Keepers ensure at least one rebase occurs every day. + +**Manually triggering a rebase** + +Anyone can trigger a rebase at any time by [calling the rebase function on the vault](https://etherscan.io/address/originvault.eth#writeProxyContract). You can do this on Etherscan by connecting a web3 wallet. diff --git a/hr/core-concepts/elastic-supply/rebasing-and-smart-contracts.md b/hr/core-concepts/elastic-supply/rebasing-and-smart-contracts.md new file mode 100644 index 000000000..cdebbc4bf --- /dev/null +++ b/hr/core-concepts/elastic-supply/rebasing-and-smart-contracts.md @@ -0,0 +1,22 @@ +# Rebasing & Smart Contracts + +If you are using a multi-sig wallet or another smart contract that wishes to participate in the rebasing aspect of OUSD you must call OUSD’s`rebaseOptIn()` function. This only applies to smart contracts as standard EOA wallets are enrolled automatically. + +{% hint style="info" %} +Multi-sig wallets or other smart contracts must call`rebaseOptIn()`to earn yield. +{% endhint %} + +By default, OUSD that is held on smart contracts will not participate in the rebasing nature of the token and will forfeit any yield unless the smart contract explicitly opts-in. This increases the composability of OUSD within DeFi as many protocols weren't designed with the expectation that balances might change. To other DeFi protocols, OUSD works just like any other normal, well-behaved ERC-20 until you ask it to change. This is a particularly useful attribute for automated market makers (AMM’s) like Uniswap which break when the number of tokens they are holding changes unexpectedly. + +![The Gnosis Safe OUSD app will prompt you to opt in to yield](../../.gitbook/assets/ousd-app-in-gnosis-safe.png) + +Smart contracts must explicitly opt-in to receiving yield via the rebasing mechanism. This fixes the issue with the expanding supply on AMM’s while still allowing multi-sig wallets and other smart contracts the opportunity to still participate and earn yield. + +{% hint style="warning" %} +If you are deploying a contract and intend to call`rebaseOptIn()`to earn yield you cannot call it from the contract's constructor. The contract must be deployed before it can be called. +{% endhint %} + +[Gnosis Safe](https://gnosis-safe.io) users are encouraged to use the Origin Dollar app which will prompt you to opt in to receiving yield. If you are using the "Old" [Gnosis Wallet](https://github.com/gnosis/MultiSigWallet) or another contract-based wallet, you will need the [proxy contract address for OUSD](../../smart-contracts/registry.md) and the corresponding [ABI](https://api.etherscan.io/api?module=contract\&action=getabi\&address=0x1ae95dd4eeae7ed03da79856c2d44ffa3318f805). Once you add those, you will be able to call the `rebaseOptIn()` function to opt into receiving yield via rebasing or`rebaseOptOut()` to turn it off again. + + + diff --git a/hr/core-concepts/fund-management.md b/hr/core-concepts/fund-management.md new file mode 100644 index 000000000..d6b1920c5 --- /dev/null +++ b/hr/core-concepts/fund-management.md @@ -0,0 +1,23 @@ +# Fund Management + +The OUSD smart contract aggregates all users' stablecoin deposits into a single pool of assets that are then deployed into earning strategies based on preset allocations. In contrast to Yearn Vaults, TokenSets, or Zapper opportunities, users do not select individual strategies. All deposited stablecoins and consequently all OUSD tokens are fungible. + +The weighting of how assets are distributed between the supported strategies is decided by OGN holders using weekly snapshot voting. These votes happen offchain and do not cost any gas. The results of the weekly poll will then be executed onchain by members of the [Strategist multi-sig](https://etherscan.io/address/0xF14BBdf064E3F67f51cd9BD646aE3716aD938FDC) (known as "Strategists"). + +Ultimately, we believe it should be up to the community to decide what the right balance of risk/reward is appropriate for OUSD. We encourage the community to favor high-yield strategies while still maintaining diversification across multiple strategies to remove single points of failure and minimize risk. + +**How strategy allocation voting works:** + +* New snapshot proposals will open for voting on the [OGN governance portal ](http://vote.originprotocol.com)at midnight Tuesday UTC (7pm eastern Monday). The poll will be open for 48 hours, ending at midnight Thursday UTC (7pm eastern on Wednesday). +* During this time, those interested can discuss allocation changes in a thread in the #governance channel on [Origin's Discord](https://www.originprotocol.com/discord). +* Each proposal will use "weighted voting", with options for each coin/strategy combination and an option to keep the existing allocation unchanged. OGN holders can spread their votes among different listed strategies or the existing allocation. +* After the voting time has ended, Strategists will submit, verify, and execute transactions to change OUSD to the determined allocation percentages for the week. If more than 50% of the weighted votes are cast for the existing allocation, Strategists will take no action. +* Allocations will be executed for strategies that use all stablecoins first (like Convex), then each stablecoin will be allocated to the remaining strategies according to the ratio of votes for that stablecoin / strategy combination. +* If the Strategists deem any of the allocations unsafe to the funds behind OUSD, they may choose to not execute those. In addition, Strategists may decline to execute minor adjustments where the gas costs would be greater than the expected benefits. +* Like all governance proposals, Strategist allocations must meet the minimum quorum requirements (currently 1M OGN) to be considered valid. +* From a security standpoint, it is important to know that while Strategists have the ability to move funds between approved strategies or instantly pause rebasing in the case of an emergency, Strategists do not have the power to add new strategies or withdraw funds without going through the timelock. Community members can use the Strategy Validator tools to more easily [create](https://analytics.ousd.com/strategist/creator) and [decode](https://analytics.ousd.com/strategist) which actions are being performed by the Strategists. +* When voting, please remember it is inefficient to move in and out of the Convex strategy frequently and some funds need to always remain outside of Convex in order to accommodate withdrawals. + + + +**** diff --git a/hr/core-concepts/fund-management/README.md b/hr/core-concepts/fund-management/README.md new file mode 100644 index 000000000..4f6287602 --- /dev/null +++ b/hr/core-concepts/fund-management/README.md @@ -0,0 +1,6 @@ +# Fund Management + +The OUSD smart contract aggregates all users' stablecoin deposits into a single pool of investable assets. Funds are then allocated across one or more [earning strategies](earning-strategies.md) at any given moment in time. The Vault favors high-yield strategies but also seeks to maintain diversification across multiple strategies. Diversification removes single points of failures and mitigates risks. + +In contrast to Yearn Vaults, TokenSets, or Zapper opportunities, users do not select individual strategies. All deposited stablecoins and consequently all OUSD tokens are fungible. + diff --git a/hr/core-concepts/fund-management/diversification.md b/hr/core-concepts/fund-management/diversification.md new file mode 100644 index 000000000..3d98a522e --- /dev/null +++ b/hr/core-concepts/fund-management/diversification.md @@ -0,0 +1,8 @@ +# Diversification + +The initial version of the OUSD Vault smart contract gives each valid strategy a simple weight between 0% and 100% to perform simple asset allocation. These weights will be shifted often via updates by Origin in the short-term and by decentralized governance in the long-term. + +Diversification across multiple underlying DeFi [platforms](../supported-strategies/) will reduce smart contract and other systemic risks. The smart contract will calculate current and expected APYs in an effort to provide competitive returns to OUSD holders. Over time, the Vault contract will be upgraded to intelligently and autonomously shift between strategies without any manual intervention. For example, the Vault will automatically shift capital between various lending strategies to optimize for yields. + +However, it is still expected that certain risk parameters or decisions on whether certain strategies will be included in the automated decision-making engine will be made through governance votes. + diff --git a/hr/core-concepts/fund-management/earning-strategies.md b/hr/core-concepts/fund-management/earning-strategies.md new file mode 100644 index 000000000..0fb0111e4 --- /dev/null +++ b/hr/core-concepts/fund-management/earning-strategies.md @@ -0,0 +1,6 @@ +# Earning Strategies + +Earning strategies put deployed capital to work across various DeFi platforms. The Vault will determine which strategies are active and what percentage of deployed capital they will receive. + +In addition, strategies will be upgraded over time. For example, at launch, there will be an initial [Compound strategy](../supported-strategies/compound.md). Over time, this may be replaced by a v2 or v3 Compound strategy. + diff --git a/hr/core-concepts/price-oracles.md b/hr/core-concepts/price-oracles.md new file mode 100644 index 000000000..1b08c685f --- /dev/null +++ b/hr/core-concepts/price-oracles.md @@ -0,0 +1,38 @@ +- - - +description: OUSD uses Chainlink to secure the protocol from pricing attacks +- - - + +# Price Oracles + +### Stablecoin Pricing + +OUSD is designed to stay pegged at 1 USD and be 1:1 backed with its underlying stablecoins. This is trickier than it sounds because these underlying stablecoins are constantly deviating from their own desired 1 USD pegs. While the majority of daily fluctuations are minor, there have been major swings in price that have occurred in the past and are likely to occur again in the future. + +| Coin | **Low** | **High** | **Delta** | **Source** | +| ---- | ---------------------------------------------------- | ---------------------------------------------------- | --------- | --------------------------------------------------------------------------- | +| USDC |

$0.929222

Mar 13, 2020

|

$1.11

Oct 15, 2018

| $0.180778 | [CoinMarketCap](https://coinmarketcap.com/currencies/usd-coin/) | +| USDC |

$0.924188

Aug 02, 2020

|

$1.17

May 08, 2019

| $0.245812 | [CoinGecko](https://www.coingecko.com/en/coins/usd-coin) | +| DAI |

$0.945505

May 10, 2020

|

$1.11

Mar 13, 2020

| $0.164495 | [CoinMarketCap](https://coinmarketcap.com/currencies/multi-collateral-dai/) | +| DAI |

$0.903243

Nov 25, 2019

|

$1.22

Mar 13, 2020

| $0.316757 | [CoinGecko](https://www.coingecko.com/en/coins/dai) | +| USDT |

$0.849809

Feb 02, 2017

|

$1.21

May 27, 2017

| $0.360191 | [CoinGecko](https://www.coingecko.com/en/coins/tether) | +| USDT |

$0.572521

Mar 02, 2015

|

$1.32

Jul 24, 2018

| $0.747479 | [CoinMarketCap](https://coinmarketcap.com/currencies/tether/) | + +The rebasing function treats 1 stablecoin as 1 OUSD for simplicity and to protect OUSD balances from being affected by the daily fluctuations in the price of the underlying stablecoins. Since the rebase function only counts coins, OUSD balances should only increase. + +In order to mint and redeem the appropriate number of OUSD on entry and exit, the smart contracts need to accurately price the USDT, USDC, and DAI that is entering and exiting the system. + +As an added precaution, OUSD never pays more than a dollar for a stablecoin, nor sells a stablecoin for less than a dollar. Oracles giving wrong prices will not result in a reduction of the number of stablecoins held. Gains that are collected as a result of stablecoins slipping from their peg are redistributed to the remaining holders of OUSD in the form of additional yield. + +As a decentralized protocol, OUSD must rely on non-centralized sources for these prices. OUSD uses Chainlink oracles for pricing data for DAI, USDC and USDT. You can read more about [our decision to work with Chainlink](https://blog.originprotocol.com/how-origin-uses-chainlink-oracles-to-secure-ousd-bff5601e840e) on our blog. Here are the Chainlink oracles we are currently using for stablecoin pricing: + +{% embed url="https://data.chain.link/usdt-usd" %} + +{% embed url="https://data.chain.link/usdc-usd" %} + +{% embed url="https://data.chain.link/dai-usd" %} + +### Reward Token Oracles & Front Running Protection + +When reward tokens from OUSD strategies are sold for additional yield, Chainlink oracles are checked to ensure that the sale price slippage has not exceeded normal bounds. These oracles are listed on our [registry](../smart-contracts/registry.md) page under the "Oracles" tab. + +The same is also true for OGN buybacks from OUSD yield.\ \ When minting and redeeming OUSD, a miniumun required amount can be passed into the contract call to ensure that the entire transaction fails if not enough OUSD or stablecoins would be returned to the user due to changing prices. diff --git a/hr/core-concepts/price-oracles/README.md b/hr/core-concepts/price-oracles/README.md new file mode 100644 index 000000000..58ed68ed4 --- /dev/null +++ b/hr/core-concepts/price-oracles/README.md @@ -0,0 +1,126 @@ +# Price Oracles + +OUSD is designed to stay pegged at 1 USD and be 1:1 backed with its underlying stablecoins. This is trickier than it sounds because these underlying stablecoins are constantly deviating from their own desired 1 USD pegs. While the majority of daily fluctuations are minor, there have been major swings in price that have occurred in the past and are likely to occur again in the future. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CoinLow + High + Delta + Source +
USDC +

$0.929222

+

Mar 13, 2020

+
+

$1.11

+

Oct 15, 2018

+
$0.180778CoinMarketCap +
USDC +

$0.924188

+

Aug 02, 2020

+
+

$1.17

+

May 08, 2019

+
$0.245812CoinGecko +
DAI +

$0.945505

+

May 10, 2020

+
+

$1.11

+

Mar 13, 2020

+
$0.164495CoinMarketCap +
DAI +

$0.903243

+

Nov 25, 2019

+
+

$1.22

+

Mar 13, 2020

+
$0.316757CoinGecko +
USDT +

$0.849809

+

Feb 02, 2017

+
+

$1.21

+

May 27, 2017

+
$0.360191CoinGecko +
USDT +

$0.572521

+

Mar 02, 2015

+
+

$1.32

+

Jul 24, 2018

+
$0.747479CoinMarketCap +
+ +The rebasing function treats 1 stablecoin as 1 OUSD for simplicity and to protect OUSD balances from being affected by the daily fluctuations in the price of the underlying stablecoins. Since the rebase function only counts coins, OUSD balances should only increase. + +In order to mint and redeem the appropriate number of OUSD on entry and exit, the smart contracts need to accurately price the USDT, USDC, and DAI that is entering and exiting the system. As a decentralized protocol, OUSD must rely on non-centralized sources for these prices. + +{% hint style="info" %} +OUSD fetches the price from multiple on-chain oracles and uses the exchange rate that is most advantageous for the vault when minting or redeeming. +{% endhint %} + +In order to prevent malicious attacks and to encourage long-term investors over short-term speculators, the OUSD contract compares price feeds from multiple sources and will use whichever exchange rate benefits the entire vault over the individual. This mechanism protects the vault funds from arbitrageurs and prevents any individual from being able to take advantage of any temporary inefficiencies caused by mispriced oracles to deplete the shared pool of assets. + +This protects the funds in the vault while rewarding long-term holders. Since the safest price depends on the direction of the trade, the Origin oracle exposes both a `priceUSDMint()` and a `priceUSDRedeem()`. + +OUSD uses Chainlink as oracle for DAI, USDC and USDT. + +{% embed url="https://feeds.chain.link/eth-usd" caption="" %} + +The specific smart contract address for each oracle being used are listed on our [registry](../../smart-contracts/registry.md) page. + +It is possible that additional oracles will be added to the protocol over time. Support may also be removed if any of these oracles become unreliable. + diff --git a/hr/core-concepts/price-oracles/untitled.md b/hr/core-concepts/price-oracles/untitled.md new file mode 100644 index 000000000..7a413944b --- /dev/null +++ b/hr/core-concepts/price-oracles/untitled.md @@ -0,0 +1,25 @@ +# Untitled + +## Getting Super Powers + +Becoming a super hero is a fairly straight forward process: + +``` +$ give me super-powers +``` + +{% hint style="info" %} + Super-powers are granted randomly so please submit an issue if you're not happy with yours. +{% endhint %} + +Once you're strong enough, save the world: + +{% code title="hello.sh" %} +```bash +# Ain't no code for that yet, sorry +echo 'You got to trust me on this, I saved the world' +``` +{% endcode %} + + + diff --git a/hr/core-concepts/supported-assets/README.md b/hr/core-concepts/supported-assets/README.md new file mode 100644 index 000000000..56390ccf6 --- /dev/null +++ b/hr/core-concepts/supported-assets/README.md @@ -0,0 +1,20 @@ +# Supported Stablecoins + +**Supported Stablecoins** + +It is important to understand that OUSD is only as strong as the stablecoins that are backing it. Any loss to the underlying assets will cause a similar loss to the value of OUSD. + +Currently, OUSD supports the following stablecoins: + +{% page-ref page="usdt.md" %} + +{% page-ref page="usdc.md" %} + +{% page-ref page="dai.md" %} + +None of these stablecoins are perfect, but we selected them because of their widespread usage. While these stablecoins have lost their USD peg on multiple occasions, they have demonstrated resiliency in eventually getting back to their 1 USD targets. + +It is important to note that all these stablecoins introduce non-trivial counter-party risk. Tether, in particular, has had well-documented banking troubles and regulatory challenges. In addition, both USDT and USDC have backdoors that grant their issuers the power to freeze money in their holder's wallets. While DAI does not have any direct backdoors, it's assets can also be negatively impacted since USDC is accepted as collateral for minting DAI. + +Despite these concerns, there are already billions of dollars betting on the security of these stablecoins. It is possible that additional stablecoins will be added to the protocol over time. Support may also be removed if any of these stablecoins prove to be too unreliable or put OUSD holders funds in jeopardy. + diff --git a/hr/core-concepts/supported-assets/dai.md b/hr/core-concepts/supported-assets/dai.md new file mode 100644 index 000000000..4be5c3788 --- /dev/null +++ b/hr/core-concepts/supported-assets/dai.md @@ -0,0 +1,20 @@ +# DAI + +![](../../.gitbook/assets/dai.png) + +Dai is a fiat-pegged stablecoin launched as a ERC-20 token on the Ethereum blockchain in December 2017. A major upgrade from single-collateral Dai \(SAI\) to multi-collateral Dai \(DAI\) was completed in November 2019. Dai is pegged to the US dollar. + +Dai is minted by users locking up crypto assets such as ETH or USDC as collateral in a collateralized debt position \(CDP\) called a vault. Previously, only ETH was accepted as collateral. The reserves and status of each vault can be viewed on the blockchain in real-time. The health of these vaults and the Dai stablecoin are closely monitored. + +Dai is the world's third-largest stablecoin with over $400 million in circulation. In addition, cDAI and aDAI, synthetic versions of Dai on the lending platforms Compound and Aave, combine for over $600 million in circulation. + +| Key Facts | | +|:------------- |:------------------------------------------------------------------------------------------------------------------- | +| Issued by | MakerDAO | +| Name | Dai | +| Symbol | DAI | +| Address | [0x6b175474e89094c44da98b954eedeac495271d0f](https://etherscan.io/token/0x6b175474e89094c44da98b954eedeac495271d0f) | +| Decimals | 18 | +| Official site | [https://makerdao.com/](https://makerdao.com/) | +| Holders | Over 140k addresses | + diff --git a/hr/core-concepts/supported-assets/usdc.md b/hr/core-concepts/supported-assets/usdc.md new file mode 100644 index 000000000..2647d7c83 --- /dev/null +++ b/hr/core-concepts/supported-assets/usdc.md @@ -0,0 +1,22 @@ +# USDC + +![](../../.gitbook/assets/usdc-coin-bd351fb779%20%281%29.png) + +USD Coin \(USDC\) is a fiat-pegged stablecoin launched as a ERC-20 token on the Ethereum blockchain in October 2018. USDC is pegged to the US dollar and can easily be redeemed for US dollars. + +Each USDC is backed by a 1:1 ratio with the equivalent amount of fiat currency held in custodial accounts by members of Centre, a consortium founded by Circle and Coinbase. Members of Centre are regulated financial institutions based in the US. Monthly audits of reserves are published by Grant Thornton LLP. + +USDC is the world's second-largest stablecoin after USDT and has quickly grown to over $1 billion in circulation. However, USDC remains far behind USDT's $12+ billion in circulation. + +| Key Facts | | +|:------------- |:------------------------------------------------------------------------------------------------------------------- | +| Issued by | Centre | +| Name | USD Coin | +| Symbol | USDC | +| Address | [0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48](https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48) | +| Decimals | 6 | +| Official site | [https://www.centre.io/usdc](https://www.centre.io/usdc) | +| Holders | Over 200k addresses | + + + diff --git a/hr/core-concepts/supported-assets/usdt.md b/hr/core-concepts/supported-assets/usdt.md new file mode 100644 index 000000000..4ae2afe89 --- /dev/null +++ b/hr/core-concepts/supported-assets/usdt.md @@ -0,0 +1,22 @@ +# USDT + +![](../../.gitbook/assets/image%20%281%29.png) + +Tether \(USDT\) is a fiat-pegged stablecoin that was initially built on top of Bitcoin via the Omni Layer Protocol. In September 2017, Tether announced they would be launching additional ERC-20 tokens for United States dollars on the Ethereum blockchain. + +Each Tether issued into circulation is said to be backed by a one-to-one ratio with the equivalent amount of fiat currency held in a custodial account by Tether Limited, a Hong Kong-based company with close ties to the cryptocurrency exchange, Bitfinex. + +Despite the controversy ****around ****the company's failure to provide a promised audit showing adequate reserves backing tether, USDT is still the world's largest stablecoin by market cap and currently the fourth-largest cryptocurrency after BTC, ETH and XRP. + +| Key Facts | | +|:------------- |:---------------------------------------------------------------------------------------------------------------- | +| Issued by | Tether Limited | +| Name | Tether | +| Symbol | USDT | +| Address | [0xdac17f958d2ee523a2206206994597c13d831](https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7) | +| Decimals | 6 | +| Official site | [https://tether.to/ ](https://tether.to/%20) | +| Holders | Over 1.8M addresses | + + + diff --git a/hr/core-concepts/supported-defi-platforms/README.md b/hr/core-concepts/supported-defi-platforms/README.md new file mode 100644 index 000000000..50ee37b6c --- /dev/null +++ b/hr/core-concepts/supported-defi-platforms/README.md @@ -0,0 +1,30 @@ +# Supported DeFi Platforms + +**Supported Platforms** + +OUSD generates yield by depositing stablecoins into lending platforms and market maker liquidity pools. It is important to understand that these platforms do carry technological risk and funds can be lost if there is a major security event. We are choosing to work with the platforms that have had their smart contracts audited and that we feel are most secure. + +Currently, we plan to earn yields from the following platforms: + +{% page-ref page="compound.md" %} + +Integrations are currently planned for the following platforms: + +{% page-ref page="aave.md" %} + +{% page-ref page="dydx.md" %} + +{% page-ref page="uniswap.md" %} + +{% page-ref page="curve.md" %} + +{% page-ref page="balancer.md" %} + +{% page-ref page="yearn.finance.md" %} + +Although DeFi has grown very quickly and there are now billions of dollars worth of value deposited on these platforms, several of these projects are still in beta and are highly experimental. There may be hidden vulnerabilities in the smart contracts that power these platforms, and there have been multi-million dollar losses caused by vulnerabilities in Ethereum applications in the past. + +We closely monitor security events on the platforms we support and will immediately move to secure OUSD holder funds if we identify any threats. + + + diff --git a/hr/core-concepts/supported-defi-platforms/aave.md b/hr/core-concepts/supported-defi-platforms/aave.md new file mode 100644 index 000000000..df02edab3 --- /dev/null +++ b/hr/core-concepts/supported-defi-platforms/aave.md @@ -0,0 +1,25 @@ +# Aave + +{% hint style="info" %} +Coming soon. Aave has not yet been integrated. +{% endhint %} + +Aave is a lending protocol and platform built on Ethereum and launched in January 2020 by the creators of ETHLend. Users on Aave can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and users can choose between a variable interest rate based on supply and demand or a fixed interest rate. + +Collateral balances are represented by ERC-20 aTokens at a 1:1 ratio to the underlying assets they represent. Interest is compounded automatically and paid to lenders with aTokens, meaning lenders will steadily see their aToken balance increase over time. Users can borrow assets against their aTokens. aTokens are freely transferable and can be used on many other DeFi protocols. aTokens can be redeemed for their underlying collateral at any time. + +Aave supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +Aave is currently governed by LEND, an ERC-20 token that was formerly the utility token for ETHLend. Aave has announced a transition to fully decentralized governance that includes a token swap where users exchange LEND for AAVE, a new ERC-20 governance token with staking rewards. Some AAVE will be distributed to users of the platform in a liquidity mining campaign. + +Aave's total value locked \(TVL\) has quickly grown to over $1.2 billion, making it one of the largest DeFi protocols. LEND has a circulating market cap of over $700 million. + +Aave has undergone security audits by OpenZeppelin, Trail of Bits, and Consensys Diligence. Aave maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------------ | +| Official site | [https://aave.com/](https://aave.com/) | +| Developer docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/aave/aave-protocol](https://github.com/aave/aave-protocol) | +| Discord | [https://discordapp.com/invite/AnSqnvV](https://discordapp.com/invite/AnSqnvV) | + diff --git a/hr/core-concepts/supported-defi-platforms/balancer.md b/hr/core-concepts/supported-defi-platforms/balancer.md new file mode 100644 index 000000000..f8d9e3c0a --- /dev/null +++ b/hr/core-concepts/supported-defi-platforms/balancer.md @@ -0,0 +1,27 @@ +# Balancer + +{% hint style="info" %} +Coming soon. Balancer has not yet been integrated. +{% endhint %} + +Balancer is a decentralized liquidity protocol and exchange on Ethereum, launched in March 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Balancer is an Automated Market Maker \(AMM\) that allows for liquidity pools of up to 8 different assets with custom weights. Liquidity pools on Balancer can be thought of as similar to Exchange Traded Funds \(ETFs\) or portfolios with weight targets for specific assets. If trading causes the pool to shift from its target weight distribution, exchange rates between assets in the pool change. Arbitrageurs can execute trades to take advantage of this and act to rebalance the pool back to its target weight distribution. Liquidity can also be shared across pools, unlike other AMMs. + +Balancer supports private pools, where only the owner of the pool can contribute liquidity, shared pools, which are completely public, and smart pools, which are shared pools controlled by a smart contract that can implement automated rules and logic. Liquidity providers are given Balancer Pool Tokens \(BPTs\) that represent their share of a given pool and fees. These tokens are freely transferable and can be redeemed for the assets provided and accrued fees. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Balancer pools. + +Balancer is governed by BAL, an ERC-20 governance token. BAL holders can vote on protocol changes. BAL is continuously awarded to liquidity providers and a large portion of the total supply of BAL was allocated to the team and investors on a continuous vesting schedule. + +Trading volumes on Balancer are often over $25 million daily. Balancer has a Total Value Locked \(TVL\) of over $250 million by liquidity providers at the time of writing. + +Balancer has undergone a security audit by Trail of Bits and has a bug bounty program. However, Balancer has suffered a major exploit in June 2020. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://balancer.finance/](https://balancer.finance/) | +| Developer docs | [https://docs.balancer.finance/](https://docs.balancer.finance/) | +| GitHub | [https://github.com/balancer-labs](https://github.com/balancer-labs) | +| Discord | [https://discord.gg/ARJWaeF](https://discord.gg/ARJWaeF) | + diff --git a/hr/core-concepts/supported-defi-platforms/compound.md b/hr/core-concepts/supported-defi-platforms/compound.md new file mode 100644 index 000000000..a4d2660a1 --- /dev/null +++ b/hr/core-concepts/supported-defi-platforms/compound.md @@ -0,0 +1,19 @@ +# Compound + +Compound is a lending protocol and platform built on Ethereum and launched in September 2018. Users can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and interest rates are adjusted automatically based on supply and demand. + +Collateral balances are represented by ERC-20 cTokens, which automatically accrue interest and increase in value over time relative to the underlying asset they represent. Users can borrow assets against the value of their cTokens. cTokens are freely transferable and can be used on many other DeFi protocols. cTokens can be redeemed for their underlying collateral at any time. + +Compound is governed by COMP, an ERC-20 governance token. COMP holders can propose and vote on protocol changes or delegate their votes to someone else. COMP tokens are awarded pro rata to users of the protocol daily, split equally between borrowers and lenders. A large portion of the COMP token supply was retained by the Compound team, investors, and advisors. + +Compound's total value locked \(TVL\) has quickly grown to nearly $800 million, making it one of the largest DeFi protocols. COMP has a circulating market cap of over $500 million. + +Compound has undergone multiple security audits by OpenZeppelin and Trail of Bits. The Compound protocol was formally verified by CertiK and has undergone economic stress testing by Gauntlet. Compound maintains a bug bounty program. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------------------------------------------------- | +| Official site | [https://compound.finance/](https://compound.finance/) | +| Developer docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/compound-finance/compound-protocol](https://github.com/compound-finance/compound-protocol) | +| Discord | [https://discord.com/invite/cU7vmVW](https://discord.com/invite/cU7vmVW) | + diff --git a/hr/core-concepts/supported-defi-platforms/curve.md b/hr/core-concepts/supported-defi-platforms/curve.md new file mode 100644 index 000000000..021d0041b --- /dev/null +++ b/hr/core-concepts/supported-defi-platforms/curve.md @@ -0,0 +1,25 @@ +# Curve + +{% hint style="info" %} +Coming soon. Curve has not yet been integrated. +{% endhint %} + +Curve is a decentralized liquidity protocol and exchange on Ethereum for stablecoins and wrapped BTC, launched in January 2020. Users can swap between popular ERC-20 stablecoins or between ERC-20 representations of bitcoin. Liquidity providers facilitate trading and earn fees. + +Curve is an Automated Market Maker \(AMM\) where each market has an associated liquidity pool with two or more assets that should have the same value, like USDT, USDC, DAI and TUSD, which are all US dollar pegged stablecoins. The exchange rate between each stablecoin and their relative weights are determined by an algorithm based on supply and demand. Arbitrageurs act to normalize these exchange rates. + +Some of Curve's liquidity pools earn extra fees for liquidity providers on top of the exchange fees from traders. Curve offers stablecoin pools integrated with Compound, yearn.finance, and Synthetix. The assets in each liquidity pool are provided to those platforms to generate additional yield which is passed on to each pool's liquidity providers. Liquidity Provider \(LP\) tokens are given to pool participants and can be redeemed for their initial liquidity supplied plus accrued fees and yield. LP tokens can also transferred for use in other protocols. + +Curve is governed by CRV, an ERC-20 governance token. CRV holders can vote on protocol changes. CRV holders can stake their tokens for additional voting power proportional to time staked. CRV is continuously awarded to liquidity providers and a large portion of the total supply of CRV was allocated to the team and investors on a continuous vesting schedule. + +Trading volumes on Curve are often over $50 million daily. Curve has a Total Value Locked \(TVL\) of over $1 billion by liquidity providers at the time of writing. + +Curve has undergone two audits by Trail of Bits and maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------ | +| Official site | [https://uniswap.org/](https://uniswap.org/) | +| Developer docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/hr/core-concepts/supported-defi-platforms/dydx.md b/hr/core-concepts/supported-defi-platforms/dydx.md new file mode 100644 index 000000000..24f1a895e --- /dev/null +++ b/hr/core-concepts/supported-defi-platforms/dydx.md @@ -0,0 +1,27 @@ +# dYdX + +{% hint style="info" %} +Coming soon. DyDx has not yet been integrated. +{% endhint %} + +dYdX is a trading and lending protocol and platform built on Ethereum and launched in May 2019. Users can trade assets on dYdX's non-custodial, decentralized exchange or participate in borrowing and lending. The lending protocol enables margin and futures trading. Interest rates are adjusted based on supply and demand and only short term loans are offered. + +Liquidity for assets available for borrowing and lending are pooled together by asset type. Interest paid to lenders is accrued automatically and borrowers must put up collateral to take out a loan. + +dYdX also supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +dYdX has around $40 million in total value locked \(TVL\) at the time of this writing. dYdX does not have a native token. + +dYdX has undergone security audits by OpenZeppelin and Bramah Systems. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://dydx.exchange/](https://dydx.exchange/) | +| Developer docs | [https://docs.dydx.exchange/](https://docs.dydx.exchange/) | +| GitHub | [https://github.com/dydxprotocol/](https://github.com/dydxprotocol/) | +| Discord | [https://discord.gg/yah42Rb](https://discord.gg/yah42Rb) | + + + + + diff --git a/hr/core-concepts/supported-defi-platforms/uniswap.md b/hr/core-concepts/supported-defi-platforms/uniswap.md new file mode 100644 index 000000000..012e25e93 --- /dev/null +++ b/hr/core-concepts/supported-defi-platforms/uniswap.md @@ -0,0 +1,27 @@ +# Uniswap + +{% hint style="info" %} +Coming soon. Uniswap has not yet been integrated. +{% endhint %} + +Uniswap is a decentralized liquidity protocol and exchange on Ethereum, launched in November 2018. Uniswap v2 launched in May 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Markets on Uniswap operate as liquidity pools rather than order books. This type of exchange is called an Automated Market Maker \(AMM\). The exchange rate between the two assets is determined by a constant product formula and moves along a price curve depending on the relative weight of each asset in the pool. This encourages arbitrageurs to enter liquidity pools to rebalance the relative weights and normalize the exchange rate. + +Traders can suffer from slippage if there is not enough liquidity in a given pool and may not be protected from unfavorable exchange rates. Liquidity providers may suffer impermanent loss when the pool exchange rate does not match market realities and arbitrageurs execute trades along the pricing curve. + +Pool participants are given Uniswap Liquidity Provider \(LP\) tokens that correspond to their share of liquidity provided in a given pool. These LP tokens are freely transferable. Participants can exit pools at any time by redeeming these tokens for the assets provided and fees accrued. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Uniswap pools. + +Trading volumes on Uniswap now eclipse that of many traditional exchanges and regularly surpass $200 million daily. Uniswap has over $170 million in Total Value Locked \(TVL\) by liquidity providers. Uniswap does not have a native platform or governance token. + +Uniswap has had its smart contracts audited and formally verfied by dapp.org. Uniswap maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------ | +| Official site | [https://uniswap.org/](https://uniswap.org/) | +| Developer docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/hr/core-concepts/supported-defi-platforms/yearn.finance.md b/hr/core-concepts/supported-defi-platforms/yearn.finance.md new file mode 100644 index 000000000..3f23b9fdb --- /dev/null +++ b/hr/core-concepts/supported-defi-platforms/yearn.finance.md @@ -0,0 +1,25 @@ +# Yearn.finance + +{% hint style="info" %} +Coming soon. Yearn.finance has not yet been integrated. +{% endhint %} + +Yearn.finance, formerly iEarn.finance, is a yield aggregation platform built on Ethereum and launched in January 2020 by Andre Cronje. Yearn manages yield farming and rebalancing strategies using a combination of automation and human decision making on behalf of users who have deposited capital. + +Yearn has two yield aggregation products, Earn and Vaults. Earn allows users to deposit stablecoins or wrapped BTC into liquidity pools on Curve to earn fees and governance token rewards. These assets are also lent out on platforms offering high yield and token rewards, adding to the yield earned. + +Vaults offer a more automated and managed experience. Users deposit assets such as LINK, Curve liquidity provider tokens, or stablecoins and the Vault pools these assets together and deploys the highest earning yield farming strategy as deemed safe by the community and Andre Cronje. Governance tokens earned as rewards are sold off for the original asset deposited and combined with other fees and automatically rolled into the Vault to compound yield. Strategies can be changed frequently and pooling assets together saves gas costs for users. + +Yearn is governed by YFI, an ERC-20 governance token. YFI holders can vote on protocol changes after agreeing to lock up their YFI for 3 days. YFI can also be staked for yield in the governance portal. This yield comes from fees charged to users on Yearn products. YFI was distributed entirely to liquidity providers on Curve and Balancer. There was no allocation for team members or investors. + +Yearn's total value locked \(TVL\) has quickly grown to over $800 million, making it one of the largest DeFi platforms. YFI has a circulating market cap of over $400 million. + +Yearn has undergone multiple security and smart contract audits by CertiK, Quantstamp, HackMD, and CryptoManiacs. Yearn has a reputation for launching experimental products very quickly and warns users that their products are in beta. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://yearn.finance/](https://yearn.finance/) | +| Developer docs | [https://docs.yearn.finance/](https://docs.yearn.finance/) | +| GitHub | [https://github.com/iearn-finance](https://github.com/iearn-finance) | +| Discord | [https://discord.gg/uTmHe8r](https://discord.gg/uTmHe8r) | + diff --git a/hr/core-concepts/supported-platforms/README.md b/hr/core-concepts/supported-platforms/README.md new file mode 100644 index 000000000..aa4b89181 --- /dev/null +++ b/hr/core-concepts/supported-platforms/README.md @@ -0,0 +1,32 @@ +# Supported Platforms + +**Supported Platforms** + +OUSD generates yield by depositing stablecoins into lending platforms and market maker liquidity pools. It is important to understand that these platforms do carry technological risk and funds can be lost if there is a major security event. We are choosing to work with the platforms that have had their smart contracts audited and that we feel are most secure. + +Currently, we plan to earn yields from the following platforms: + +{% page-ref page="compound.md" %} + +Integrations are currently planned for the following platforms: + +{% page-ref page="yearn.finance.md" %} + +{% page-ref page="compound.md" %} + +{% page-ref page="aave.md" %} + +{% page-ref page="dydx.md" %} + +{% page-ref page="uniswap.md" %} + +{% page-ref page="curve.md" %} + +{% page-ref page="balancer.md" %} + +Although DeFi has grown very quickly and there are now billions of dollars worth of value deposited on these platforms, several of these projects are still in beta and are highly experimental. There may be hidden vulnerabilities in the smart contracts that power these platforms, and there have been multi-million dollar losses caused by vulnerabilities in Ethereum applications in the past. + +We closely monitor security events on the platforms we support and will immediately move to secure OUSD holder funds if we identify any threats. + + + diff --git a/hr/core-concepts/supported-platforms/aave.md b/hr/core-concepts/supported-platforms/aave.md new file mode 100644 index 000000000..df02edab3 --- /dev/null +++ b/hr/core-concepts/supported-platforms/aave.md @@ -0,0 +1,25 @@ +# Aave + +{% hint style="info" %} +Coming soon. Aave has not yet been integrated. +{% endhint %} + +Aave is a lending protocol and platform built on Ethereum and launched in January 2020 by the creators of ETHLend. Users on Aave can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and users can choose between a variable interest rate based on supply and demand or a fixed interest rate. + +Collateral balances are represented by ERC-20 aTokens at a 1:1 ratio to the underlying assets they represent. Interest is compounded automatically and paid to lenders with aTokens, meaning lenders will steadily see their aToken balance increase over time. Users can borrow assets against their aTokens. aTokens are freely transferable and can be used on many other DeFi protocols. aTokens can be redeemed for their underlying collateral at any time. + +Aave supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +Aave is currently governed by LEND, an ERC-20 token that was formerly the utility token for ETHLend. Aave has announced a transition to fully decentralized governance that includes a token swap where users exchange LEND for AAVE, a new ERC-20 governance token with staking rewards. Some AAVE will be distributed to users of the platform in a liquidity mining campaign. + +Aave's total value locked \(TVL\) has quickly grown to over $1.2 billion, making it one of the largest DeFi protocols. LEND has a circulating market cap of over $700 million. + +Aave has undergone security audits by OpenZeppelin, Trail of Bits, and Consensys Diligence. Aave maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------------ | +| Official site | [https://aave.com/](https://aave.com/) | +| Developer docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/aave/aave-protocol](https://github.com/aave/aave-protocol) | +| Discord | [https://discordapp.com/invite/AnSqnvV](https://discordapp.com/invite/AnSqnvV) | + diff --git a/hr/core-concepts/supported-platforms/balancer.md b/hr/core-concepts/supported-platforms/balancer.md new file mode 100644 index 000000000..f8d9e3c0a --- /dev/null +++ b/hr/core-concepts/supported-platforms/balancer.md @@ -0,0 +1,27 @@ +# Balancer + +{% hint style="info" %} +Coming soon. Balancer has not yet been integrated. +{% endhint %} + +Balancer is a decentralized liquidity protocol and exchange on Ethereum, launched in March 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Balancer is an Automated Market Maker \(AMM\) that allows for liquidity pools of up to 8 different assets with custom weights. Liquidity pools on Balancer can be thought of as similar to Exchange Traded Funds \(ETFs\) or portfolios with weight targets for specific assets. If trading causes the pool to shift from its target weight distribution, exchange rates between assets in the pool change. Arbitrageurs can execute trades to take advantage of this and act to rebalance the pool back to its target weight distribution. Liquidity can also be shared across pools, unlike other AMMs. + +Balancer supports private pools, where only the owner of the pool can contribute liquidity, shared pools, which are completely public, and smart pools, which are shared pools controlled by a smart contract that can implement automated rules and logic. Liquidity providers are given Balancer Pool Tokens \(BPTs\) that represent their share of a given pool and fees. These tokens are freely transferable and can be redeemed for the assets provided and accrued fees. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Balancer pools. + +Balancer is governed by BAL, an ERC-20 governance token. BAL holders can vote on protocol changes. BAL is continuously awarded to liquidity providers and a large portion of the total supply of BAL was allocated to the team and investors on a continuous vesting schedule. + +Trading volumes on Balancer are often over $25 million daily. Balancer has a Total Value Locked \(TVL\) of over $250 million by liquidity providers at the time of writing. + +Balancer has undergone a security audit by Trail of Bits and has a bug bounty program. However, Balancer has suffered a major exploit in June 2020. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://balancer.finance/](https://balancer.finance/) | +| Developer docs | [https://docs.balancer.finance/](https://docs.balancer.finance/) | +| GitHub | [https://github.com/balancer-labs](https://github.com/balancer-labs) | +| Discord | [https://discord.gg/ARJWaeF](https://discord.gg/ARJWaeF) | + diff --git a/hr/core-concepts/supported-platforms/compound.md b/hr/core-concepts/supported-platforms/compound.md new file mode 100644 index 000000000..a4d2660a1 --- /dev/null +++ b/hr/core-concepts/supported-platforms/compound.md @@ -0,0 +1,19 @@ +# Compound + +Compound is a lending protocol and platform built on Ethereum and launched in September 2018. Users can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and interest rates are adjusted automatically based on supply and demand. + +Collateral balances are represented by ERC-20 cTokens, which automatically accrue interest and increase in value over time relative to the underlying asset they represent. Users can borrow assets against the value of their cTokens. cTokens are freely transferable and can be used on many other DeFi protocols. cTokens can be redeemed for their underlying collateral at any time. + +Compound is governed by COMP, an ERC-20 governance token. COMP holders can propose and vote on protocol changes or delegate their votes to someone else. COMP tokens are awarded pro rata to users of the protocol daily, split equally between borrowers and lenders. A large portion of the COMP token supply was retained by the Compound team, investors, and advisors. + +Compound's total value locked \(TVL\) has quickly grown to nearly $800 million, making it one of the largest DeFi protocols. COMP has a circulating market cap of over $500 million. + +Compound has undergone multiple security audits by OpenZeppelin and Trail of Bits. The Compound protocol was formally verified by CertiK and has undergone economic stress testing by Gauntlet. Compound maintains a bug bounty program. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------------------------------------------------- | +| Official site | [https://compound.finance/](https://compound.finance/) | +| Developer docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/compound-finance/compound-protocol](https://github.com/compound-finance/compound-protocol) | +| Discord | [https://discord.com/invite/cU7vmVW](https://discord.com/invite/cU7vmVW) | + diff --git a/hr/core-concepts/supported-platforms/curve.md b/hr/core-concepts/supported-platforms/curve.md new file mode 100644 index 000000000..021d0041b --- /dev/null +++ b/hr/core-concepts/supported-platforms/curve.md @@ -0,0 +1,25 @@ +# Curve + +{% hint style="info" %} +Coming soon. Curve has not yet been integrated. +{% endhint %} + +Curve is a decentralized liquidity protocol and exchange on Ethereum for stablecoins and wrapped BTC, launched in January 2020. Users can swap between popular ERC-20 stablecoins or between ERC-20 representations of bitcoin. Liquidity providers facilitate trading and earn fees. + +Curve is an Automated Market Maker \(AMM\) where each market has an associated liquidity pool with two or more assets that should have the same value, like USDT, USDC, DAI and TUSD, which are all US dollar pegged stablecoins. The exchange rate between each stablecoin and their relative weights are determined by an algorithm based on supply and demand. Arbitrageurs act to normalize these exchange rates. + +Some of Curve's liquidity pools earn extra fees for liquidity providers on top of the exchange fees from traders. Curve offers stablecoin pools integrated with Compound, yearn.finance, and Synthetix. The assets in each liquidity pool are provided to those platforms to generate additional yield which is passed on to each pool's liquidity providers. Liquidity Provider \(LP\) tokens are given to pool participants and can be redeemed for their initial liquidity supplied plus accrued fees and yield. LP tokens can also transferred for use in other protocols. + +Curve is governed by CRV, an ERC-20 governance token. CRV holders can vote on protocol changes. CRV holders can stake their tokens for additional voting power proportional to time staked. CRV is continuously awarded to liquidity providers and a large portion of the total supply of CRV was allocated to the team and investors on a continuous vesting schedule. + +Trading volumes on Curve are often over $50 million daily. Curve has a Total Value Locked \(TVL\) of over $1 billion by liquidity providers at the time of writing. + +Curve has undergone two audits by Trail of Bits and maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------ | +| Official site | [https://uniswap.org/](https://uniswap.org/) | +| Developer docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/hr/core-concepts/supported-platforms/dydx.md b/hr/core-concepts/supported-platforms/dydx.md new file mode 100644 index 000000000..24f1a895e --- /dev/null +++ b/hr/core-concepts/supported-platforms/dydx.md @@ -0,0 +1,27 @@ +# dYdX + +{% hint style="info" %} +Coming soon. DyDx has not yet been integrated. +{% endhint %} + +dYdX is a trading and lending protocol and platform built on Ethereum and launched in May 2019. Users can trade assets on dYdX's non-custodial, decentralized exchange or participate in borrowing and lending. The lending protocol enables margin and futures trading. Interest rates are adjusted based on supply and demand and only short term loans are offered. + +Liquidity for assets available for borrowing and lending are pooled together by asset type. Interest paid to lenders is accrued automatically and borrowers must put up collateral to take out a loan. + +dYdX also supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +dYdX has around $40 million in total value locked \(TVL\) at the time of this writing. dYdX does not have a native token. + +dYdX has undergone security audits by OpenZeppelin and Bramah Systems. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://dydx.exchange/](https://dydx.exchange/) | +| Developer docs | [https://docs.dydx.exchange/](https://docs.dydx.exchange/) | +| GitHub | [https://github.com/dydxprotocol/](https://github.com/dydxprotocol/) | +| Discord | [https://discord.gg/yah42Rb](https://discord.gg/yah42Rb) | + + + + + diff --git a/hr/core-concepts/supported-platforms/uniswap.md b/hr/core-concepts/supported-platforms/uniswap.md new file mode 100644 index 000000000..012e25e93 --- /dev/null +++ b/hr/core-concepts/supported-platforms/uniswap.md @@ -0,0 +1,27 @@ +# Uniswap + +{% hint style="info" %} +Coming soon. Uniswap has not yet been integrated. +{% endhint %} + +Uniswap is a decentralized liquidity protocol and exchange on Ethereum, launched in November 2018. Uniswap v2 launched in May 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Markets on Uniswap operate as liquidity pools rather than order books. This type of exchange is called an Automated Market Maker \(AMM\). The exchange rate between the two assets is determined by a constant product formula and moves along a price curve depending on the relative weight of each asset in the pool. This encourages arbitrageurs to enter liquidity pools to rebalance the relative weights and normalize the exchange rate. + +Traders can suffer from slippage if there is not enough liquidity in a given pool and may not be protected from unfavorable exchange rates. Liquidity providers may suffer impermanent loss when the pool exchange rate does not match market realities and arbitrageurs execute trades along the pricing curve. + +Pool participants are given Uniswap Liquidity Provider \(LP\) tokens that correspond to their share of liquidity provided in a given pool. These LP tokens are freely transferable. Participants can exit pools at any time by redeeming these tokens for the assets provided and fees accrued. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Uniswap pools. + +Trading volumes on Uniswap now eclipse that of many traditional exchanges and regularly surpass $200 million daily. Uniswap has over $170 million in Total Value Locked \(TVL\) by liquidity providers. Uniswap does not have a native platform or governance token. + +Uniswap has had its smart contracts audited and formally verfied by dapp.org. Uniswap maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------ | +| Official site | [https://uniswap.org/](https://uniswap.org/) | +| Developer docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/hr/core-concepts/supported-platforms/yearn.finance.md b/hr/core-concepts/supported-platforms/yearn.finance.md new file mode 100644 index 000000000..3f23b9fdb --- /dev/null +++ b/hr/core-concepts/supported-platforms/yearn.finance.md @@ -0,0 +1,25 @@ +# Yearn.finance + +{% hint style="info" %} +Coming soon. Yearn.finance has not yet been integrated. +{% endhint %} + +Yearn.finance, formerly iEarn.finance, is a yield aggregation platform built on Ethereum and launched in January 2020 by Andre Cronje. Yearn manages yield farming and rebalancing strategies using a combination of automation and human decision making on behalf of users who have deposited capital. + +Yearn has two yield aggregation products, Earn and Vaults. Earn allows users to deposit stablecoins or wrapped BTC into liquidity pools on Curve to earn fees and governance token rewards. These assets are also lent out on platforms offering high yield and token rewards, adding to the yield earned. + +Vaults offer a more automated and managed experience. Users deposit assets such as LINK, Curve liquidity provider tokens, or stablecoins and the Vault pools these assets together and deploys the highest earning yield farming strategy as deemed safe by the community and Andre Cronje. Governance tokens earned as rewards are sold off for the original asset deposited and combined with other fees and automatically rolled into the Vault to compound yield. Strategies can be changed frequently and pooling assets together saves gas costs for users. + +Yearn is governed by YFI, an ERC-20 governance token. YFI holders can vote on protocol changes after agreeing to lock up their YFI for 3 days. YFI can also be staked for yield in the governance portal. This yield comes from fees charged to users on Yearn products. YFI was distributed entirely to liquidity providers on Curve and Balancer. There was no allocation for team members or investors. + +Yearn's total value locked \(TVL\) has quickly grown to over $800 million, making it one of the largest DeFi platforms. YFI has a circulating market cap of over $400 million. + +Yearn has undergone multiple security and smart contract audits by CertiK, Quantstamp, HackMD, and CryptoManiacs. Yearn has a reputation for launching experimental products very quickly and warns users that their products are in beta. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://yearn.finance/](https://yearn.finance/) | +| Developer docs | [https://docs.yearn.finance/](https://docs.yearn.finance/) | +| GitHub | [https://github.com/iearn-finance](https://github.com/iearn-finance) | +| Discord | [https://discord.gg/uTmHe8r](https://discord.gg/uTmHe8r) | + diff --git a/hr/core-concepts/supported-stablecoins/README.md b/hr/core-concepts/supported-stablecoins/README.md new file mode 100644 index 000000000..1c4b60eb5 --- /dev/null +++ b/hr/core-concepts/supported-stablecoins/README.md @@ -0,0 +1,25 @@ +# Supported Stablecoins + +**Supported Stablecoins** + +It is important to understand that OUSD is only as strong as the stablecoins that are backing it. Any loss to the underlying assets will cause a similar loss to the value of OUSD. + +Currently, OUSD supports the following stablecoins: + +{% content-ref url="usdt.md" %} +[usdt.md](usdt.md) +{% endcontent-ref %} + +{% content-ref url="usdc.md" %} +[usdc.md](usdc.md) +{% endcontent-ref %} + +{% content-ref url="dai.md" %} +[dai.md](dai.md) +{% endcontent-ref %} + +None of these stablecoins are perfect, but we selected them because of their widespread usage. While these stablecoins have lost their USD peg on multiple occasions, they have demonstrated resiliency in eventually getting back to their 1 USD targets. + +It is important to note that all these stablecoins introduce non-trivial counter-party risk. Tether, in particular, has had well-documented banking troubles and regulatory challenges. In addition, both USDT and USDC have backdoors that grant their issuers the power to freeze money in their holder's wallets. While DAI does not have any direct backdoors, its assets can also be negatively impacted since USDC and USDT are accepted as collateral for minting DAI. + +Despite these concerns, there are already billions of dollars betting on the security of these stablecoins. It is possible that additional stablecoins will be added to the protocol over time. Support may also be removed if any of these stablecoins prove to be too unreliable or put OUSD holder's funds in jeopardy. diff --git a/hr/core-concepts/supported-stablecoins/dai.md b/hr/core-concepts/supported-stablecoins/dai.md new file mode 100644 index 000000000..b80269d11 --- /dev/null +++ b/hr/core-concepts/supported-stablecoins/dai.md @@ -0,0 +1,19 @@ +# DAI + +![](../../.gitbook/assets/dai.png) + +Dai is a fiat-pegged stablecoin launched as a ERC-20 token on the Ethereum blockchain in December 2017. A major upgrade from single-collateral Dai (SAI) to multi-collateral Dai (DAI) was completed in November 2019. Dai is pegged to the US dollar. + +Dai is minted by users locking up crypto assets such as ETH or USDC as collateral in a collateralized debt position (CDP) called a vault. Previously, only ETH was accepted as collateral. The reserves and status of each vault can be viewed on the blockchain in real-time. The health of these vaults and the Dai stablecoin are closely monitored. + +Dai is the world's third-largest stablecoin with over $400 million in circulation. In addition, cDAI and aDAI, synthetic versions of Dai on the lending platforms Compound and Aave, combine for over $600 million in circulation. + +| Key Facts | | +| ------------- | ------------------------------------------------------------------------------------------------------------------- | +| Issued by | MakerDAO | +| Name | Dai | +| Symbol | DAI | +| Address | [0x6b175474e89094c44da98b954eedeac495271d0f](https://etherscan.io/token/0x6b175474e89094c44da98b954eedeac495271d0f) | +| Decimals | 18 | +| Official site | [https://makerdao.com/](https://makerdao.com) | +| Holders | Over 380k addresses | diff --git a/hr/core-concepts/supported-stablecoins/usdc.md b/hr/core-concepts/supported-stablecoins/usdc.md new file mode 100644 index 000000000..e47385909 --- /dev/null +++ b/hr/core-concepts/supported-stablecoins/usdc.md @@ -0,0 +1,20 @@ +# USDC + +![](../../.gitbook/assets/usdc-coin-bd351fb779 (1).png) + +USD Coin (USDC) is a fiat-pegged stablecoin launched as a ERC-20 token on the Ethereum blockchain in October 2018. USDC is pegged to the US dollar and can easily be redeemed for US dollars. + +Each USDC is backed by a 1:1 ratio with the equivalent amount of fiat currency held in custodial accounts by members of Centre, a consortium founded by Circle and Coinbase. Members of Centre are regulated financial institutions based in the US. Monthly audits of reserves are published by Grant Thornton LLP. + +USDC is the world's second-largest stablecoin after USDT and has quickly grown to over $1 billion in circulation. However, USDC remains far behind USDT's $12+ billion in circulation. + +| Key Facts | | +| ------------- | ------------------------------------------------------------------------------------------------------------------- | +| Issued by | Centre | +| Name | USD Coin | +| Symbol | USDC | +| Address | [0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48](https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48) | +| Decimals | 6 | +| Official site | [https://www.centre.io/usdc](https://www.centre.io/usdc) | +| Holders | Over 1M addresses | + diff --git a/hr/core-concepts/supported-stablecoins/usdt.md b/hr/core-concepts/supported-stablecoins/usdt.md new file mode 100644 index 000000000..4f07af957 --- /dev/null +++ b/hr/core-concepts/supported-stablecoins/usdt.md @@ -0,0 +1,20 @@ +# USDT + +![](../../.gitbook/assets/image (1).png) + +Tether (USDT) is a fiat-pegged stablecoin that was initially built on top of Bitcoin via the Omni Layer Protocol. In September 2017, Tether announced they would be launching additional ERC-20 tokens for United States dollars on the Ethereum blockchain. + +Each Tether issued into circulation is said to be backed by a one-to-one ratio with the equivalent amount of fiat currency held in a custodial account by Tether Limited, a Hong Kong-based company with close ties to the cryptocurrency exchange, Bitfinex. + +Despite the controversy **** around **** the company's failure to provide a promised audit showing adequate reserves backing tether, USDT is still the world's largest stablecoin by market cap and currently the fourth-largest cryptocurrency after BTC, ETH and XRP. + +| Key Facts | | +| ------------- | ---------------------------------------------------------------------------------------------------------------- | +| Issued by | Tether Limited | +| Name | Tether | +| Symbol | USDT | +| Address | [0xdac17f958d2ee523a2206206994597c13d831](https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7) | +| Decimals | 6 | +| Official site | [https://tether.to/ ](https://tether.to) | +| Holders | Over 3.4M addresses | + diff --git a/hr/core-concepts/supported-strategies/README.md b/hr/core-concepts/supported-strategies/README.md new file mode 100644 index 000000000..b1bb5828c --- /dev/null +++ b/hr/core-concepts/supported-strategies/README.md @@ -0,0 +1,27 @@ +# Supported Strategies + +**Supported DeFi Platforms** + +OUSD generates yield by depositing stablecoins into lending platforms and market maker liquidity pools. It is important to understand that these platforms do carry technological risk and funds can be lost if there is a major security event. We are choosing to work with the platforms that have had their smart contracts audited and that we feel are most secure. + +Currently, OUSD earns yield from the following platform(s): + +{% content-ref url="compound.md" %} +[compound.md](compound.md) +{% endcontent-ref %} + +{% content-ref url="aave.md" %} +[aave.md](aave.md) +{% endcontent-ref %} + +{% content-ref url="curve.md" %} +[curve.md](curve.md) +{% endcontent-ref %} + +{% content-ref url="convex.md" %} +[convex.md](convex.md) +{% endcontent-ref %} + +Although DeFi has grown very quickly and there are now billions of dollars worth of value deposited on these platforms, several of these projects are still in beta and are highly experimental. There may be hidden vulnerabilities in the smart contracts that power these platforms, and there have been multi-million dollar losses caused by vulnerabilities in Ethereum applications in the past. + +We closely monitor security events on the platforms we support and will immediately move to secure OUSD holder funds if we identify any threats. diff --git a/hr/core-concepts/supported-strategies/aave.md b/hr/core-concepts/supported-strategies/aave.md new file mode 100644 index 000000000..cf77e0ffb --- /dev/null +++ b/hr/core-concepts/supported-strategies/aave.md @@ -0,0 +1,20 @@ +# Aave + +Aave is a lending protocol and platform built on Ethereum and launched in January 2020 by the creators of ETHLend. Users on Aave can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and users can choose between a variable interest rate based on supply and demand or a fixed interest rate. + +Collateral balances are represented by ERC-20 aTokens at a 1:1 ratio to the underlying assets they represent. Interest is compounded automatically and paid to lenders with aTokens, meaning lenders will steadily see their aToken balance increase over time. Users can borrow assets against their aTokens. aTokens are freely transferable and can be used on many other DeFi protocols. aTokens can be redeemed for their underlying collateral at any time. + +Aave supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +Aave's governance token was formerly called LEND which was the utility token for ETHLend. As part of their transition to fully decentralized governance, LEND holders were able to exchange LEND for AAVE, a new ERC-20 governance token with staking rewards. Some AAVE tokens have been distributed to users of the platform in a liquidity mining campaign. + +Aave's total value locked (TVL) has quickly grown to over $15.5 billion, making it the largest DeFi protocol at the time of writing. LEND has a circulating market cap of over $5.3 billion. + +Aave has undergone security audits by OpenZeppelin, Trail of Bits, and Consensys Diligence. Aave maintains a bug bounty program. + +| Resources | | +| -------------- | ------------------------------------------------------------------------------ | +| Official site | [https://aave.com/](https://aave.com) | +| Developer docs | [http://docs.aave.com/](http://docs.aave.com) | +| GitHub | [https://github.com/aave/aave-protocol](https://github.com/aave/aave-protocol) | +| Discord | [https://aave.com/discord](https://aave.com/discord) | diff --git a/hr/core-concepts/supported-strategies/balancer.md b/hr/core-concepts/supported-strategies/balancer.md new file mode 100644 index 000000000..f8d9e3c0a --- /dev/null +++ b/hr/core-concepts/supported-strategies/balancer.md @@ -0,0 +1,27 @@ +# Balancer + +{% hint style="info" %} +Coming soon. Balancer has not yet been integrated. +{% endhint %} + +Balancer is a decentralized liquidity protocol and exchange on Ethereum, launched in March 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Balancer is an Automated Market Maker \(AMM\) that allows for liquidity pools of up to 8 different assets with custom weights. Liquidity pools on Balancer can be thought of as similar to Exchange Traded Funds \(ETFs\) or portfolios with weight targets for specific assets. If trading causes the pool to shift from its target weight distribution, exchange rates between assets in the pool change. Arbitrageurs can execute trades to take advantage of this and act to rebalance the pool back to its target weight distribution. Liquidity can also be shared across pools, unlike other AMMs. + +Balancer supports private pools, where only the owner of the pool can contribute liquidity, shared pools, which are completely public, and smart pools, which are shared pools controlled by a smart contract that can implement automated rules and logic. Liquidity providers are given Balancer Pool Tokens \(BPTs\) that represent their share of a given pool and fees. These tokens are freely transferable and can be redeemed for the assets provided and accrued fees. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Balancer pools. + +Balancer is governed by BAL, an ERC-20 governance token. BAL holders can vote on protocol changes. BAL is continuously awarded to liquidity providers and a large portion of the total supply of BAL was allocated to the team and investors on a continuous vesting schedule. + +Trading volumes on Balancer are often over $25 million daily. Balancer has a Total Value Locked \(TVL\) of over $250 million by liquidity providers at the time of writing. + +Balancer has undergone a security audit by Trail of Bits and has a bug bounty program. However, Balancer has suffered a major exploit in June 2020. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://balancer.finance/](https://balancer.finance/) | +| Developer docs | [https://docs.balancer.finance/](https://docs.balancer.finance/) | +| GitHub | [https://github.com/balancer-labs](https://github.com/balancer-labs) | +| Discord | [https://discord.gg/ARJWaeF](https://discord.gg/ARJWaeF) | + diff --git a/hr/core-concepts/supported-strategies/compound.md b/hr/core-concepts/supported-strategies/compound.md new file mode 100644 index 000000000..77e40733e --- /dev/null +++ b/hr/core-concepts/supported-strategies/compound.md @@ -0,0 +1,18 @@ +# Compound + +Compound is a lending protocol and platform built on Ethereum and launched in September 2018. Users can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and interest rates are adjusted automatically based on supply and demand. + +Collateral balances are represented by ERC-20 cTokens, which automatically accrue interest and increase in value over time relative to the underlying asset they represent. Users can borrow assets against the value of their cTokens. cTokens are freely transferable and can be used on many other DeFi protocols. cTokens can be redeemed for their underlying collateral at any time. + +Compound is governed by COMP, an ERC-20 governance token. COMP holders can propose and vote on protocol changes or delegate their votes to someone else. COMP tokens are awarded pro-rata to users of the protocol daily, split equally between borrowers and lenders. A large portion of the COMP token supply was retained by the Compound team, investors, and advisors. + +Compound's total value locked (TVL) has quickly grown to over $10 billion, making it one of the largest DeFi protocols. COMP has a circulating market cap of over $2.5 billion. + +Compound has undergone multiple security audits by OpenZeppelin and Trail of Bits. The Compound protocol was formally verified by CertiK and has undergone economic stress testing by Gauntlet. Compound maintains a bug bounty program. + +| Resources | | +| -------------- | -------------------------------------------------------------------------------------------------------------- | +| Official site | [https://compound.finance/](https://compound.finance) | +| Developer docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/compound-finance/compound-protocol](https://github.com/compound-finance/compound-protocol) | +| Discord | [https://discord.com/invite/cU7vmVW](https://discord.com/invite/cU7vmVW) | diff --git a/hr/core-concepts/supported-strategies/convex.md b/hr/core-concepts/supported-strategies/convex.md new file mode 100644 index 000000000..771280a68 --- /dev/null +++ b/hr/core-concepts/supported-strategies/convex.md @@ -0,0 +1,18 @@ +# Convex + +Convex is an aggregation platform for Curve that launched in May 2021. Convex allows liquidity providers on Curve to earn boosted CRV rewards without having to vote-lock CRV. Convex vote-locks CRV on behalf of users and distributes boosted CRV rewards to them. Convex passes on trading fees earned on Curve to users as well. + +Convex also rewards users with their own ERC-20 governance token, CVX. Convex supports both CRV and CVX staking for additional rewards. Vote-locking CVX is required to participate in Convex governance. + +Convex is one of the few protocols whitelisted to participate in Curve governance and controls a huge amount of vote-locked CRV, making them one of the biggest players in Curve governance. A large proportion of liquidity provided on Curve is now done through Convex. Convex has a Total Value Locked (TVL) of over $15.4 billion in deposits at the time of writing. + +Convex has been audited by MixBytes. + +| | | +| -------------- | ---------------------------------------------------------------- | +| Resources | | +| Official site | [https://www.convexfinance.com](https://www.convexfinance.com) | +| Developer docs | [https://docs.convexfinance.com](https://docs.convexfinance.com) | +| GitHub | [https://github.com/convex-eth](https://github.com/convex-eth) | +| Discord | [https://discord.gg/uAwvZfs9qU](https://discord.gg/uAwvZfs9qU) | + diff --git a/hr/core-concepts/supported-strategies/curve.md b/hr/core-concepts/supported-strategies/curve.md new file mode 100644 index 000000000..40d2aade6 --- /dev/null +++ b/hr/core-concepts/supported-strategies/curve.md @@ -0,0 +1,20 @@ +# Curve + +Curve is a decentralized liquidity protocol and exchange on Ethereum for stablecoins and wrapped BTC, launched in January 2020. Users can swap between popular ERC-20 stablecoins or between ERC-20 representations of bitcoin. Liquidity providers facilitate trading and earn fees. + +Curve is an Automated Market Maker (AMM) where each market has an associated liquidity pool with two or more assets that should have the same value, like USDT, USDC, DAI and TUSD, which are all US dollar pegged stablecoins. The exchange rate between each stablecoin and their relative weights are determined by an algorithm based on supply and demand. Arbitrageurs act to normalize these exchange rates. + +Some of Curve's liquidity pools earn extra fees for liquidity providers on top of the exchange fees from traders. Curve offers stablecoin pools integrated with Compound, yearn.finance, and Synthetix. The assets in each liquidity pool are provided to those platforms to generate additional yield which is passed on to each pool's liquidity providers. Liquidity Provider (LP) tokens are given to pool participants and can be redeemed for their initial liquidity supplied plus accrued fees and yield. LP tokens can also transferred for use in other protocols. + +Curve is governed by CRV, an ERC-20 governance token. CRV holders can vote on protocol changes. CRV holders can stake or "vote-lock" their tokens for additional voting power proportional to time staked. Vote-locking CRV also significantly boosts liquidity provider rewards. CRV is continuously awarded to liquidity providers and a large portion of the total supply of CRV was allocated to the team and investors on a continuous vesting schedule. + +Curve has a Total Value Locked (TVL) of over $20.4 billion by liquidity providers at the time of writing. Hundreds of millions of dollars of trading volume are generated on Curve every day. + +Curve has undergone two audits by Trail of Bits and maintains a bug bounty program. + +| Resources | | +| -------------- | ------------------------------------------------------------------------ | +| Official site | [https://www.curve.fi/](https://www.curve.fi) | +| Developer docs | [https://www.curve.fi/devdocs](https://www.curve.fi/devdocs) | +| GitHub | [https://github.com/curvefi](https://github.com/curvefi) | +| Discord | [https://discord.com/invite/9uEHakc](https://discord.com/invite/9uEHakc) | diff --git a/hr/core-concepts/supported-strategies/dydx.md b/hr/core-concepts/supported-strategies/dydx.md new file mode 100644 index 000000000..24f1a895e --- /dev/null +++ b/hr/core-concepts/supported-strategies/dydx.md @@ -0,0 +1,27 @@ +# dYdX + +{% hint style="info" %} +Coming soon. DyDx has not yet been integrated. +{% endhint %} + +dYdX is a trading and lending protocol and platform built on Ethereum and launched in May 2019. Users can trade assets on dYdX's non-custodial, decentralized exchange or participate in borrowing and lending. The lending protocol enables margin and futures trading. Interest rates are adjusted based on supply and demand and only short term loans are offered. + +Liquidity for assets available for borrowing and lending are pooled together by asset type. Interest paid to lenders is accrued automatically and borrowers must put up collateral to take out a loan. + +dYdX also supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +dYdX has around $40 million in total value locked \(TVL\) at the time of this writing. dYdX does not have a native token. + +dYdX has undergone security audits by OpenZeppelin and Bramah Systems. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://dydx.exchange/](https://dydx.exchange/) | +| Developer docs | [https://docs.dydx.exchange/](https://docs.dydx.exchange/) | +| GitHub | [https://github.com/dydxprotocol/](https://github.com/dydxprotocol/) | +| Discord | [https://discord.gg/yah42Rb](https://discord.gg/yah42Rb) | + + + + + diff --git a/hr/core-concepts/supported-strategies/uniswap.md b/hr/core-concepts/supported-strategies/uniswap.md new file mode 100644 index 000000000..012e25e93 --- /dev/null +++ b/hr/core-concepts/supported-strategies/uniswap.md @@ -0,0 +1,27 @@ +# Uniswap + +{% hint style="info" %} +Coming soon. Uniswap has not yet been integrated. +{% endhint %} + +Uniswap is a decentralized liquidity protocol and exchange on Ethereum, launched in November 2018. Uniswap v2 launched in May 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Markets on Uniswap operate as liquidity pools rather than order books. This type of exchange is called an Automated Market Maker \(AMM\). The exchange rate between the two assets is determined by a constant product formula and moves along a price curve depending on the relative weight of each asset in the pool. This encourages arbitrageurs to enter liquidity pools to rebalance the relative weights and normalize the exchange rate. + +Traders can suffer from slippage if there is not enough liquidity in a given pool and may not be protected from unfavorable exchange rates. Liquidity providers may suffer impermanent loss when the pool exchange rate does not match market realities and arbitrageurs execute trades along the pricing curve. + +Pool participants are given Uniswap Liquidity Provider \(LP\) tokens that correspond to their share of liquidity provided in a given pool. These LP tokens are freely transferable. Participants can exit pools at any time by redeeming these tokens for the assets provided and fees accrued. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Uniswap pools. + +Trading volumes on Uniswap now eclipse that of many traditional exchanges and regularly surpass $200 million daily. Uniswap has over $170 million in Total Value Locked \(TVL\) by liquidity providers. Uniswap does not have a native platform or governance token. + +Uniswap has had its smart contracts audited and formally verfied by dapp.org. Uniswap maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------ | +| Official site | [https://uniswap.org/](https://uniswap.org/) | +| Developer docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/hr/core-concepts/supported-strategies/yearn.finance.md b/hr/core-concepts/supported-strategies/yearn.finance.md new file mode 100644 index 000000000..3f23b9fdb --- /dev/null +++ b/hr/core-concepts/supported-strategies/yearn.finance.md @@ -0,0 +1,25 @@ +# Yearn.finance + +{% hint style="info" %} +Coming soon. Yearn.finance has not yet been integrated. +{% endhint %} + +Yearn.finance, formerly iEarn.finance, is a yield aggregation platform built on Ethereum and launched in January 2020 by Andre Cronje. Yearn manages yield farming and rebalancing strategies using a combination of automation and human decision making on behalf of users who have deposited capital. + +Yearn has two yield aggregation products, Earn and Vaults. Earn allows users to deposit stablecoins or wrapped BTC into liquidity pools on Curve to earn fees and governance token rewards. These assets are also lent out on platforms offering high yield and token rewards, adding to the yield earned. + +Vaults offer a more automated and managed experience. Users deposit assets such as LINK, Curve liquidity provider tokens, or stablecoins and the Vault pools these assets together and deploys the highest earning yield farming strategy as deemed safe by the community and Andre Cronje. Governance tokens earned as rewards are sold off for the original asset deposited and combined with other fees and automatically rolled into the Vault to compound yield. Strategies can be changed frequently and pooling assets together saves gas costs for users. + +Yearn is governed by YFI, an ERC-20 governance token. YFI holders can vote on protocol changes after agreeing to lock up their YFI for 3 days. YFI can also be staked for yield in the governance portal. This yield comes from fees charged to users on Yearn products. YFI was distributed entirely to liquidity providers on Curve and Balancer. There was no allocation for team members or investors. + +Yearn's total value locked \(TVL\) has quickly grown to over $800 million, making it one of the largest DeFi platforms. YFI has a circulating market cap of over $400 million. + +Yearn has undergone multiple security and smart contract audits by CertiK, Quantstamp, HackMD, and CryptoManiacs. Yearn has a reputation for launching experimental products very quickly and warns users that their products are in beta. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://yearn.finance/](https://yearn.finance/) | +| Developer docs | [https://docs.yearn.finance/](https://docs.yearn.finance/) | +| GitHub | [https://github.com/iearn-finance](https://github.com/iearn-finance) | +| Discord | [https://discord.gg/uTmHe8r](https://discord.gg/uTmHe8r) | + diff --git a/hr/core-concepts/wrapped-ousd.md b/hr/core-concepts/wrapped-ousd.md new file mode 100644 index 000000000..bea00ee4b --- /dev/null +++ b/hr/core-concepts/wrapped-ousd.md @@ -0,0 +1,31 @@ +# Wrapped OUSD + +Wrapped OUSD provides a non-rebasing version of OUSD that still earns yield. This makes it easier to use OUSD as a building block for other contracts and it may provide tax benefits in some jurisdictions. + +![Two flavors, up only](https://cdn-images-1.medium.com/max/1600/1\*cqRG-8-64XYx9QChoMxk3g.png) + +### How wrapped OUSD works + +When you wrap OUSD, you get back a fixed number of wOUSD tokens. This number will not go up - you will have the same number of wOUSD tokens tomorrow as you have today. However, the number of OUSD tokens that you can unwrap will go up over time. + +For example, if you wrap 10,000 OUSD, you might receive 9,423 wOUSD. If you hold for a while, you will still have 9,423 wOUSD, but when you unwrap the wOUSD, you receive 11,500 OUSD. + +Both OUSD and wOUSD earn at the same rate and can be transferred just like any other ERC-20 token. wOUSD is one of the first implementations of [EIP-4626](https://eips.ethereum.org/EIPS/eip-4626), which is an extension on ERC-20 that provides basic functionality for depositing and withdrawing tokens and reading balances on a tokenized vault. wOUSD was independently [audited by Solidified](https://github.com/OriginProtocol/security/blob/3dc8c1dec2f6fbf4f7d0bdf92408f79262624647/audits/Solidified%20-%20OGV,%20wOUSD,%20and%20ERC721a%20-%20May%202022.pdf) in May 2022 and is ready for production use. + +### Wrapping + +If you don’t already have OUSD, you can buy it from Gate.io, KuCoin, Curve, Uniswap, or [get it directly from the OUSD DApp](https://www.youtube.com/watch?v=UabjvL-7iu4). + +Once you have OUSD in your wallet, visit [ousd.com/wrap](https://ousd.com/wrap) and follow these steps: + +1. Connect your wallet +2. Enter the amount of OUSD that you want to wrap +3. Submit the allowance for the wOUSD contract to use your OUSD +4. Submit the transaction to wrap your OUSD + +![ousd.com/wrap](https://cdn-images-1.medium.com/max/1600/1\*57fSZSSlzebhpIl8R4UqUQ.png) + +### Unwrapping + +Unwrapping your OUSD does not require any approvals since you already hold the wOUSD in your wallet. There's also no minimum term or lock-up period. You can use the same form shown above and just click the arrow to flip it to unwrap mode. This form calls the `redeem` function to unwrap a spcific amount of wOUSD. You can also [use Etherscan](https://etherscan.io/address/0xd2af830e8cbdfed6cc11bab697bb25496ed6fa62#writeProxyContract) to call the `withdraw` function if you prefer to specify the amount of OUSD that you want to be taken out. + diff --git a/hr/core-concepts/yield-generation/README.md b/hr/core-concepts/yield-generation/README.md new file mode 100644 index 000000000..b1d3861bc --- /dev/null +++ b/hr/core-concepts/yield-generation/README.md @@ -0,0 +1,30 @@ +# Yield Generation + +**Automated Yield Farming** + +While the Cambrian explosion of new lending and automated market maker pools has fueled total value locked (TVL), it has also made it increasingly challenging for yield farmers to manually allocate capital in efficient and optimal ways. + +[Yearn](https://yearn.finance) has demonstrated that smart contracts can automate the rebalancing of funds across various strategies to optimally earn lending interest, market-making fees, and rewards tokens. Over time, new strategies will be deployed that maximize returns while minimizing risk and dependencies. + +![Automated yield farming on the OUSD protocol](../../.gitbook/assets/ousd_earnings_graphic.png) + +OUSD uses the following high-level strategies for generating yield: + +{% content-ref url="lending.md" %} +[lending.md](lending.md) +{% endcontent-ref %} + +{% content-ref url="market-making.md" %} +[market-making.md](market-making.md) +{% endcontent-ref %} + +{% content-ref url="rewards.md" %} +[rewards.md](rewards.md) +{% endcontent-ref %} + +OUSD is able to generate higher yields than competing protocols due to a combination of important design decisions that amplify the rewards that are returned to OUSD holders: + +* Exit fees are returned to the pool, rewarding long term holders +* Price oracles favor the collective over the individual, again rewarding long term holders +* Smart contracts must manually opt-in to earn yield. This allows the protocol to put more capital to work than would be otherwise possible. +* Smart strategies balance risk and reward more effectively than deploying capital in any single underlying strategy. diff --git a/hr/core-concepts/yield-generation/lending.md b/hr/core-concepts/yield-generation/lending.md new file mode 100644 index 000000000..fa7607781 --- /dev/null +++ b/hr/core-concepts/yield-generation/lending.md @@ -0,0 +1,26 @@ +# Lending + +**Unbank the Banked** + +DeFi lending platforms let users lend and borrow crypto assets without any middlemen. Both lenders and borrowers get more value from their crypto. Lenders earn interest, while borrowers deposit crypto as collateral to gain access to credit without traditional banking headaches. DeFi lending platforms currently provide far superior returns for lenders than are generally available in the traditional markets. + +OUSD integrates with DeFi lending platforms that provide over-collateralized loans. Over-collateralization, combined with smart rules around liquidations, provide a reasonable level of security for lenders. Aave also additionally secures their lending pools with AAVE tokens respectively, further lowering risk. + +OUSD integrates with leading lending providers that have a proven track record, audited smart contracts, and have successfully lent hundreds of millions of dollars without issue. We are currently integrated with the following lending platforms: + +{% content-ref url="../supported-strategies/compound.md" %} +[compound.md](../supported-strategies/compound.md) +{% endcontent-ref %} + +{% content-ref url="../supported-strategies/aave.md" %} +[aave.md](../supported-strategies/aave.md) +{% endcontent-ref %} + + + + + + + + + diff --git a/hr/core-concepts/yield-generation/market-making.md b/hr/core-concepts/yield-generation/market-making.md new file mode 100644 index 000000000..464b5f13e --- /dev/null +++ b/hr/core-concepts/yield-generation/market-making.md @@ -0,0 +1,22 @@ +# Market Making + +**Own your Stake in Decentralized Exchanges** + +Automated market makers (AMMs) have quickly risen as the preferred form of decentralized exchange on the Ethereum network. This is in part due to the difficulty of supporting order book DEXes on Ethereum 1.0 that can rival the instant and low-slippage experiences on centralized exchanges. Further, AMMs like Uniswap are relatively user-friendly and gas-efficient to use. + +AMMs can only enable new markets when liquidity providers supply liquidity (e.g. multiple tokens for given trading pairs or pools). In return for providing liquidity, liquidity providers are rewarded with trading fees when other users swap tokens. For example, when traders swap two tokens on Uniswap v3, they are currently charged anywhere between 0.05% and 1% on top of the gas fees. These fees are distributed pro-rata to liquidity providers of the pair based on the percentage of total liquidity that they have provided. + +{% hint style="info" %} +[Impermanent loss](https://medium.com/@pintail/uniswap-a-good-deal-for-liquidity-providers-104c0b6816f2) is an important risk factor to understand, but this concern is largely mitigated by OUSD only providing liquidity for stablecoins of approximately equal value. +{% endhint %} + +The OUSD protocol routes USDT, USDC, and DAI to highly-performing liquidity pools as determined by trading volume and rewards tokens (e.g. Curve rewards CRV tokens to liquidity providers). Yields are then passed on to OUSD holders. + +We are currently integrated with the following automated market maker: + +{% content-ref url="../supported-strategies/curve.md" %} +[curve.md](../supported-strategies/curve.md) +{% endcontent-ref %} + + + diff --git a/hr/core-concepts/yield-generation/rewards.md b/hr/core-concepts/yield-generation/rewards.md new file mode 100644 index 000000000..f598afe7c --- /dev/null +++ b/hr/core-concepts/yield-generation/rewards.md @@ -0,0 +1,12 @@ +# Rewards + +**Collecting Rewards** + +In addition to collecting interest from lending and fees from market making, we intend to automatically claim and convert the bonus incentives that are being distributed by many of the DeFi protocols. For example, Compound gives away COMP tokens and Curve gives away CRV tokens. These bonus rewards will be regularly converted into stablecoins, deployed in the market, and distributed to OUSD holders in the form of additional yield. + +{% hint style="info" %} +While the vault safely stores any unexpected rewards that it receives, custom strategies will need to be written and deployed to decide when and how the protocol should convert them to stablecoins. +{% endhint %} + +Today, rewards are a significant factor for yield farmers as they represent a large percentage of their returns. We anticipate that the OUSD protocol will be upgraded over time to take advantage of the most attractive yields available across the DeFi landscape. The protocol will factor in the market value of the various rewards being offered when deciding how to best allocate resources. + diff --git a/hr/faq.md b/hr/faq.md new file mode 100644 index 000000000..6d47859ae --- /dev/null +++ b/hr/faq.md @@ -0,0 +1,33 @@ +# FAQ + +**Where can I buy OUSD?** + +Check out [Getting Started](https://docs.ousd.com/getting-started) to see a variety of options. + +**What are the costs to mint and redeem OUSD?** + +As with any Ethereum transaction, you will need Ether to interact with the OUSD smart contract. We have taken measures to reduce gas usage where possible, but these costs can vary. + +Anytime you mint or redeem OUSD, there will be an exchange rate applied to your stablecoins deposited or withdrawn. You can read more about this in [Price Oracles](https://docs.ousd.com/core-concepts/price-oracles). + +To encourage long-term holding of OUSD and to protect the protocol from attackers, an exit fee of 0.25% is charged on all redeems. You can read more about this in [How It Works](https://docs.ousd.com/how-it-works). + +**How soon will my balance increase once I have OUSD?** + +The amount of OUSD in your wallet will grow each time there is a positive rebase event. You can read more about this in [Elastic Supply](https://docs.ousd.com/core-concepts/elastic-supply). The supply is currently rebased several times per day and is usually correlated with how many people are minting and redeeming OUSD. + +**Why does OUSD not grow when it's held in Uniswap, SushiSwap, etc?** + +By default, rebase events don't affect the supply of OUSD that is sitting in smart contracts. These contracts can opt in to receiving additional OUSD if they are capable of handling elastic supply tokens. You can read more about this in [Rebasing & Smart Contracts](https://docs.ousd.com/core-concepts/elastic-supply/rebasing-and-smart-contracts). + +**How is it possible for the APY to be so high?** + +You can read about our various strategies in [Yield Generation](https://docs.ousd.com/core-concepts/yield-generation). We currently get most of the yield from harvesting rewards tokens (namely COMP and CRV). Additionally, the yield increases as more OUSD is held in smart contracts that do not opt into rebasing since the underlying collateral continues to earn for the average OUSD holder. + +**Why is my balance increasing at a slower rate than the advertised APY?** + +OUSD balances increase when the supply is rebased. But the size of each rebase varies wildly depending on how much the vault has earned since the last rebase. And while most rebases collect a small amount earnings from lending strategies, other rebases involve liquidating rewards tokens or collecting fees. As a result, the yield will vary significantly during short time periods. + +**What about the hack? Is OUSD safe?** + +On November 7th 2020, OUSD was exploited for 7M USD due to a previously undetected reentrancy bug. You can read more [details about the hack](https://medium.com/originprotocol/urgent-ousd-has-hacked-and-there-has-been-a-loss-of-funds-7b8c4a7d534c) on our blog as well as the [detailed compensation plan](https://medium.com/originprotocol/origin-dollar-ousd-detailed-compensation-plan-faa73f87442e) for taking care of the affected users. Origin Dollar was relaunched in December after completing multiple audits and security upgrades. You can learn more about the steps taken to secure the protocol in our [relaunch announcement](https://medium.com/originprotocol/origin-dollar-ousd-is-back-b8ee0c601dad). diff --git a/hr/getting-started.md b/hr/getting-started.md new file mode 100644 index 000000000..a02770326 --- /dev/null +++ b/hr/getting-started.md @@ -0,0 +1,71 @@ +# Getting Started + +These docs are intended to explain how OUSD works, communicate the potential risks and benefits, and provide a guide for developers who wish to contribute to our codebase or integrate OUSD into their products. Here are a few ways for you to dive in and get started. + +**Buying OUSD** + +{% hint style="info" %} +The [Origin Dollar DApp](https://ousd.com/swap) will intelligently route your transaction to get you the best rate. +{% endhint %} + +The [Origin Dollar DApp](https://ousd.com/swap) allows anyone to buy or sell OUSD using a web-3 enabled cryptocurrency wallet like [Metamask](https://www.metamask.io), [Ledger](https://www.ledger.com), or [Gnosis Safe](https://gnosis-safe.io). This is the native way to get OUSD, especially if you want a large amount that could risk moving the market on other exchanges. The DApp will intelligently decide whether to create or trade-in OUSD tokens using the vault or help you complete the trade on whichever AMM is currently offering the best rate. + +**Decentralized Exchanges** + +OUSD is currently available on the following decentralized exchanges. These are listed here for reference only. We recommend using the [Origin Dollar DApp](https://ousd.com/swap) to ensure you always get the best rate. + +* [Buy OUSD on 1inch](https://app.1inch.io/#/1/swap/USDT/OUSD) +* [Buy OUSD on Curve](https://curve.fi/factory/9) +* [Buy OUSD on Uniswap v3](https://app.uniswap.org/#/swap?inputCurrency=0xdac17f958d2ee523a2206206994597c13d831ec7\&outputCurrency=0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86) +* [Buy OUSD on Uniswap v2](https://app.uniswap.org/#/swap?inputCurrency=0xdac17f958d2ee523a2206206994597c13d831ec7\&outputCurrency=0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86\&use=v2) +* [Buy OUSD on Sushiswap](https://exchange.sushiswapclassic.org/#/swap?inputCurrency=0xdac17f958d2ee523a2206206994597c13d831ec7\&outputCurrency=0x2a8e1e676ec238d8a992307b495b45b3feaa5e86) + +**Centralized Exchanges** + +OUSD is currently available on the following centralized exchanges. Be sure to check on how they are handling the yield that is being generated by the protocol. Depending on the exchange, there may be additional steps you need to take to participate in the yield while it's being held in their custody. + +* Buy OUSD on KuCoin + * [OUSD/USDT](https://trade.kucoin.com/OUSD-USDT) + * [OUSD/BTC](https://trade.kucoin.com/OUSD-BTC) +* Buy OUSD on Gate.io + * [OUSD/USDT](https://www.gate.io/trade/OUSD\_USDT) +* Buy OUSD on Virgox + * [OUSD/USDT](https://virgox.com/exchange/141) +* [Buy OUSD on Dharma App](https://www.dharma.io) (US only) + +We're continuing to work on making OUSD available on additional centralized exchanges. + +**Adding OUSD to Your Wallet** + +{% hint style="success" %} +The main ERC20 address for Origin Dollar (OUSD) is: \ +**0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +If your OUSD does not automatically show up in your wallet, you should be able to add it manually using the address above. If you are planning on [storing your OUSD in a multi-sig wallet](core-concepts/elastic-supply/rebasing-and-smart-contracts.md), be sure to opt-in to receive yield. We want to have OUSD supported by as many wallets as possible and included on all the various lists of well-known tokens. We would greatly appreciate any help you can offer in this area. + +**Integrating OUSD** + +OUSD is a non-standard ERC-20 token that requires custom integration work for most applications that wish to support it. In particular, it is important for developers to understand how our elastic supply works as this can easily cause unexpected behavior. + +If you are a wallet provider or crypto exchange that is interested in supporting OUSD, please refer to the following guides: + +{% content-ref url="core-concepts/elastic-supply/rebasing-and-smart-contracts.md" %} +[rebasing-and-smart-contracts.md](core-concepts/elastic-supply/rebasing-and-smart-contracts.md) +{% endcontent-ref %} + +{% content-ref url="smart-contracts/architecture.md" %} +[architecture.md](smart-contracts/architecture.md) +{% endcontent-ref %} + +{% content-ref url="smart-contracts/api/" %} +[api](smart-contracts/api/) +{% endcontent-ref %} + +**Developer Analytics** + +Our internal developer dashboard is available at [analytics.ousd.com](https://analytics.ousd.com). The dashboard shows the current circulating supply, the assets under management in the vault, and the current allocations between each of the stablecoins and strategies. + +**Getting Help** + +Please join the Origin Dollar #engineering room in Origin's [Discord](https://www.originprotocol.com/discord) server. Our team and members of our community look forward to helping you build. Your questions help us improve, so please don't hesitate to ask if you can't find what you are looking for here. diff --git a/hr/governance/admin-privileges.md b/hr/governance/admin-privileges.md new file mode 100644 index 000000000..30ed8065a --- /dev/null +++ b/hr/governance/admin-privileges.md @@ -0,0 +1,32 @@ +# Admin Privileges + +The OUSD smart contracts are designed to be owner upgradable. The Origin team uses two different Gnosis multisig wallet contracts in order to make changes to the protocol. These multisig wallets have been [audited by OpenZeppelin](https://blog.openzeppelin.com/gnosis-multisig-wallet-audit-d702ff0e2b1e/), [ConsenSys Dilligence](https://blog.gnosis.pm/the-gnosis-multisig-wallet-and-our-commitment-to-security-ce9aca0d17f6), Origin’s team, and others. + +{% hint style="info" %} +Time-delayed admin actions gives users a chance to exit OUSD if its admins become malicious, are compromised, or make a change that the users do not like. +{% endhint %} + +### Admin + +The primary admin is a 5 of 8 multisig contract which is required to make any code changes to the protocol. OUSD can only be upgraded from this 5 of 8 multi-sig wallet. The keys to this multi-sig are held by individuals with close ties to the company, and not even the Origin founders acting together have enough control to execute owner functions on their own. In addition, the OUSD contracts are owned by a [timelock](../smart-contracts/api/timelock.md) which places a 48 hour time delay before any changes to the protocol can be made. + +### Strategist + +Some functionality, such as rebalancing funds between strategies or pausing deposits, can be triggered without the timelock and with far fewer signers. This allows the Origin team to react more quickly to market conditions or security threats. These signers, known as Strategists, have the ability to execute a limited number of functions __ with only 2 of 9 signers. + +The strategist multisig can do the following actions on the vault: + +* reallocate - move funds between strategies +* setVaultBuffer - adjust the amount of funds held outside strategies for cheaper redeems. +* setAssetDefaultStrategy - which strategy mints and redeems pull from for a particular strategy +* withdrawAllFromStrategy - remove funds from a single strategy and send them to the vault +* withdrawAllFromStrategies - remove funds from all active strategies and send them to the vault +* pauseRebase - pause all rebases +* pauseCapital - pause all mints and redeems +* unpauseCapital - allow all mints and redeems + +### Future + +Having these admin privileges is necessary in the early days to ensure that the protocol is secure and optimized for earning yields while minimizing risks. We expect to release multiple iterations of our smart contracts in the first several months of the protocol's existence. + +Once several upgrade cycles have been completed, we intend to transfer ownership from our company control to a decentralized governance contract, thereby allowing the community to vote and participate in future protocol updates. diff --git a/hr/governance/contributing.md b/hr/governance/contributing.md new file mode 100644 index 000000000..5b63d22c7 --- /dev/null +++ b/hr/governance/contributing.md @@ -0,0 +1,103 @@ +# Contributing + +**100% Open-source** + +OUSD is an entirely open-source project and we welcome contributions of all sorts. There are many ways to help, from reporting issues, contributing code, and helping us improve our community. + +{% content-ref url="broken-reference" %} +[Broken link](broken-reference) +{% endcontent-ref %} + +We work in public and our company Discord is open to all. If you have questions or need help getting started, our [Discord OUSD channels](https://discord.gg/jyxpUSe) are the best place to get assistance from our team and community. + +{% content-ref url="broken-reference" %} +[Broken link](broken-reference) +{% endcontent-ref %} + +**Developer Analytics** + +Our internal developer dashboard is available at [analytics.ousd.com](https://analytics.ousd.com). The dashboard shows the current circulating supply, the assets under management in the vault, and the current allocations between each of the stablecoins and strategies. Various other developer tools can be found at [ousd.com/dashboard](https://ousd.com/dashboard). + +#### Development Process + +Our branching strategy is similar to [GitFlow](http://nvie.com/posts/a-successful-git-branching-model/), but we do all of our development in the `master` branch and have a `stable` branch for code that has been released. + +Your development flow should look like: + +1. Find an interesting issue and communicate! Please let the `#engineering` [Discord](https://discord.gg/jyxpUSe) channel know what you want to work on. +2. Ping a [core team member](https://github.com/orgs/OriginProtocol/teams/core/members) member on Discord and ask to be added to our [contributors team](https://github.com/orgs/OriginProtocol/teams/contributors). Otherwise, you’ll need to fork the relevant repository and push feature branches to your own fork. +3. Add a comment to the issue or self-assign so we don’t have multiple contributors unintentionally working on the same task. +4. Start with the `master` branch and check out a new feature branch unless you’re contributing to an existing feature. +5. Write some awesome code. +6. Pull the latest commits from `master` and confirm that your code works with any other work that has been merged since you started. +7. Push your branch to the upstream repository (i.e. https://github.com/OriginProtocol/\[repo]) so that other contributors can easily work off of it if necessary. +8. Please request a review in the PR by clicking on the gear icon next to “Reviewers” in the right column. + +For critical smart contract code to be merged it must pass the following checklist: + +* Code reviewed by 2 reviewers +* Unit tests pass +* Slither tests pass with no warning +* Echidna tests pass + +The `master` branch is locked so that only members of the [core team](https://github.com/orgs/OriginProtocol/teams/core) are able to merge your pull requests. Pull requests that are peer-reviewed by other trusted contributors will be fast-tracked and merged faster! Check in the `#engineering` Discord channel for appropriate reviewers. + +#### Coding Style + +We use a variety of programming languages in our repositories. When contributing, please follow existing coding conventions and refer to the CONTRIBUTING.md file in the repository, if one exists. + +For JavaScript, we use [NPM’s style](https://docs.npmjs.com/misc/coding-style), which is automatically enforced via [prettier](https://prettier.io). + +For Solidity, we use two-space indents. + +#### Protocol Design + +When considering protocol or implementation design proposals, we are looking for: + +* A description of the problem this design proposal solves +* Discussion of the trade-offs involved +* Review of other existing solutions +* Links to relevant literature (RFCs, papers, etc) +* Discussion of the proposed solution + +Please note that protocol design is hard and meticulous work. You may need to review existing literature and think through generalized use cases. + +#### Community Guidelines + +We want to keep the Origin community awesome, growing and collaborative. We need your help to keep it that way. To help with this we’ve come up with some general guidelines for the community as a whole: + +* Be nice: Be courteous, respectful and polite to fellow community members: no regional, racial, gender, or other abuse will be tolerated. We like nice people way better than mean ones! +* Encourage diversity and participation: Make everyone in our community feel welcome, regardless of their background and the extent of their contributions, and do everything possible to encourage participation in our community. +* Keep it legal: Basically, don’t get anybody in trouble. Share only content that you own, do not share private or sensitive information, and don’t break laws. +* Stay on topic: Make sure that you are posting to the correct channel and avoid off-topic discussions. Remember when you update an issue or respond to an email you are potentially sending to a large number of people. Please consider this before you update. Also remember that nobody likes spam. + +#### Reporting Issues + +If you find bugs, mistakes or inconsistencies in Origin’s code or documents, please let us know by filing a GitHub issue. No issue is too small. Help us fix our tpyos! + +#### Security Issues + +OUSD is still in early development, which means there may be problems with the protocol or in our implementations. We take security vulnerabilities very seriously. If you discover a security issue, please bring it to our attention right away! + +If you find a security vulnerability please send your report privately to [security@originprotocol.com](mailto:security@originprotocol.com) or send an encrypted message to [@joshfraser on Keybase](https://keybase.io/joshfraser). Please DO NOT file a public issue. Be sure to review our guidelines for responsible disclosure and eligibility for bug bounties. + +{% content-ref url="../security-and-risks/bug-bounties.md" %} +[bug-bounties.md](../security-and-risks/bug-bounties.md) +{% endcontent-ref %} + +#### **Community Improvement** + +Origin is just as much about community as it is about our technology. + +We need constant help in improving our documentation, building new tools to interface with our platform, spreading the word to new users, helping new users getting setup and much more. + +Please get in touch if you would like to help out. Our `discussion` channel on [Discord](https://www.originprotocol.com/discord) is a great place to share ideas and volunteer to help. + +#### Full-Time Positions + +Origin occasionally hires developers for part-time or full-time positions. + +We have a strong preference for hiring people who have already started contributing to the project. If you want a full-time position on our team, your best shot is to engage with our team and start contributing code. It is very unlikely that we would offer you a full-time position on our engineering team unless you’ve had at least a few pull requests merged. + +If you are interested, check out [the Origin Protocol job listings](https://angel.co/originprotocol/jobs). If you’d like to help in other ways, please propose your ideas in [our Discord channel](https://www.originprotocol.com/discord). + diff --git a/hr/governance/governance.md b/hr/governance/governance.md new file mode 100644 index 000000000..eea11a787 --- /dev/null +++ b/hr/governance/governance.md @@ -0,0 +1,26 @@ +# Principles + +**Progressive Decentralization** + +OUSD is designed to be a decentralized protocol governed by many stakeholders all over the world. We believe that the minters and holders of OUSD should collectively determine important protocol decisions as soon as possible. + +That being said, in the very early days, it is imperative that the core engineering team can act quickly and decisively to build the foundational parts of the protocol. + +Decentralization will progress across four phases rapidly over the next few months. It is our intent to relinquish control and governance to the community as soon as possible. + +![](../.gitbook/assets/ousd_docs_graphics_2%20%283%29.png) + +**Timelock** + +Prior to full decentralized governance, we will implement a [timelock](../smart-contracts/api/timelock-1.md) in front of all admin function calls, giving OUSD users time \(48 hours\) to withdraw their funds if they have objections to our proposed upgrades. This timelock will be added shortly after launch. + +**New and Existing Stakeholders** + +OUSD is a new project founded by Origin Protocol [team](www.originprotocol.com/team) and will be supported by the existing Origin community as well as many new stakeholders that choose to mint, hold, use, and provide liquidity for OUSD. + +In addition, we also want to ensure high participation from our existing Origin Token \(OGN\) holders, community of close to 500,000 members, and buyers/sellers on the Platform. Existing OGN holders will be able to stake their OGN to participate in governance and earn incentives for driving value to OUSD. More details will be provided in the near future. + +The strong connection between OUSD and the rest of the Origin commerce platform will fuel growth in both initiatives. + + + diff --git a/hr/governance/ogn-staking.md b/hr/governance/ogn-staking.md new file mode 100644 index 000000000..e7a3e0bc2 --- /dev/null +++ b/hr/governance/ogn-staking.md @@ -0,0 +1,18 @@ +# OGN Staking + +Origin Token (OGN) is intended as the governance token for OUSD and OGN will play an increasingly important role as the Origin Platform becomes more decentralized. Today, users can stake their OGN tokens to earn additional OGN after a chosen staking period has elapsed. + +{% hint style="info" %} +Visit the [OUSD DApp](https://www.ousd.com/stake) in a web3-enabled browser to stake your OGN. +{% endhint %} + +The initial staking program offers three staking periods and respective yields: + +* 30-day staking period: Earn 7.5% annualized interest +* 90-day staking period: Earn 12.5% annualized interest +* 365-day staking period: Earn 25% annualized interest + +Staked tokens will be locked for the duration of the staking period. After each staking period ends, you will be able to claim both your initial OGN (principal) and yield. + +OGN is currently trading on top exchanges like [Coinbase](https://www.coinbase.com/price/origin-token), [Binance](https://www.binance.com/en/register?ref=NPPYAEAE), [Huobi](https://www.huobi.com/en-us/exchange/ogn_usdt/), [Upbit](https://upbit.com/exchange?code=CRIX.UPBIT.BTC-OGN), [Bittrex Global](https://global.bittrex.com/Market/Index?MarketName=BTC-OGN), and [dozens more](https://coinmarketcap.com/currencies/origin-protocol/markets/). Visit the Origin website to [learn more about OGN](https://www.originprotocol.com/ogn-token) or check out the [OGN Dashboard](https://www.originprotocol.com/dashboard) to track important token metrics. + diff --git a/hr/governance/phases.md b/hr/governance/phases.md new file mode 100644 index 000000000..4b45be826 --- /dev/null +++ b/hr/governance/phases.md @@ -0,0 +1,6 @@ +# Phases + +Progressive decentralization will follow four phases as outlined below. + +![](../.gitbook/assets/ousd_docs_graphics_2%20%282%29.png) + diff --git a/hr/governance/principles.md b/hr/governance/principles.md new file mode 100644 index 000000000..b809ce66f --- /dev/null +++ b/hr/governance/principles.md @@ -0,0 +1,30 @@ +# Principles + +**Governance Portal** + +OGN holders are encouraged to participate in creating and voting on proposals that impact the protocol in the [OGN governance portal](https://vote.originprotocol.com). Anyone with at least 1,000 OGN in their wallet or staked in our OGN Staking contract can create a new proposal using Snapshot. All OGN holders are able to vote for proposals. Our desire is for our community to have a strong impact on the direction of Origin’s products, open-source codebase, and to have a voice in key business decisions and the overall direction of the project. + +OGN holders can also [delegate votes](vote-delegation.md) to another account. + +**Progressive Decentralization** + +OUSD is designed to be a decentralized protocol governed by many stakeholders all over the world. We believe that the holders of OUSD should collectively determine important protocol decisions as soon as possible. + +That being said, in the very early days, it is imperative that the core engineering team can act quickly and decisively to build the foundational parts of the protocol. + +Decentralization will progress across four phases rapidly over the next few months. It is our intent to relinquish control and governance to the community as soon as possible. + +![](../.gitbook/assets/ousd\_docs\_graphics\_2 (2).png) + +**Timelock** + +Prior to full decentralized governance, we will implement a [timelock](../smart-contracts/api/timelock.md) in front of all admin function calls, giving OUSD users time to withdraw their funds if they have objections to our proposed upgrades. + +**New and Existing Stakeholders** + +OUSD is a new project founded by Origin Protocol [team](https://www.originprotocol.com/team) and will be supported by the existing Origin community as well as many new stakeholders that choose to mint, hold, use, and provide liquidity for OUSD. + +In addition, we also want to ensure high participation from our existing Origin Token (OGN) holders and the millions of people in our community. Existing OGN holders are able to [stake their OGN](ogn-staking.md) to participate in governance and earn incentives for driving value to OUSD. + +The strong connection between OUSD and the rest of the Origin commerce platform will fuel growth in both initiatives. + diff --git a/hr/governance/vote-delegation.md b/hr/governance/vote-delegation.md new file mode 100644 index 000000000..9a8149d2f --- /dev/null +++ b/hr/governance/vote-delegation.md @@ -0,0 +1,18 @@ +# Vote Delegation + +OGN holders can forward their voting power on the [Governance Portal](https://vote.originprotocol.com/#/) to another Ethereum address. Choosing this option does not strip the delegator of their voting power. The delegatee receives the extra voting power only on proposals the delegator has not voted on. + +This is convenient when users want someone they trust or even one of Origin's team members to make governance decisions regarding Origin's ecosystem. It is also useful when users have OGN stored more safely in a hardware wallet and don’t want to go through the hassle of connecting it to the computer. A more accessible Ethereum wallet e.g. Metamask can be used to vote by having voting power delegated to it from the hardware wallet.\ + + +**How to Delegate** + +* Go to: [https://snapshot.org/#/delegate](https://snapshot.org/#/delegate). +* Type in the address or ENS name you want to delegate to. +* There is an option to limit the delegation power to only Origin’s products by selecting _Limit delegation to a specific space_ and typing in “origingov.eth”. +* Click confirm to save your delegation.\ + + +![](../.gitbook/assets/Screenshot 2022-03-20 at 10.47.43.png) + +After completing these steps, the OGN voting power is successfully delegated to the address specified. diff --git a/hr/guides/incentivized-harvesting-guide.md b/hr/guides/incentivized-harvesting-guide.md new file mode 100644 index 000000000..a24597e9c --- /dev/null +++ b/hr/guides/incentivized-harvesting-guide.md @@ -0,0 +1,46 @@ +# Incentivized Harvesting Guide + +The OUSD Harvester contract collects reward tokens earned by the OUSD strategies, sells them, and sends them on to increase protocol yield. **Anyone can call the harvest and earn 1% of the resulting USDT** for doing so. This creates a self-incentivizing system that operates at a known cost to the protocol. + +### When to call + +You'll want to call this contract when it is profitable to do so. You gain the 1% harvest USDT given by the contract, and spend the gas cost to send the transaction. + +The simplest way to calculate both of these is to simulate the transaction. You can then look at the resulting transfers to know the income received, and you can look at the gas amount used, the current gas prices, and the current cost of ETH, to find out the cost. + +Alternatively you can precompute the gas used for a given strategy's harvest, look up the pending reward tokens using various online services, then do your calculations without using the blockchain. + +The amount of rewards increases at a fairly steady, predictable rate. The primary variation is in gas prices, which will make a much bigger minute to minute difference on when you should call this. + +When calculating profitability, remember to account for the cost to swap back to ETH from USDT. + +### How to call + +When you call the harvest, **you will want to use some form of MEV protection**. Otherwise bots will see that your transaction is profitable, and execute it ahead of you, leaving you no gain and only gas fees. + +To harvest, you call `harvester.harvestAndSwap(strategyAddress, rewardTo)`. + +The harvester address and strategyAddresses can be found in the strategy tab of the [contract registry](../smart-contracts/registry.md). The `rewardTo` address is the account that will receive the USDT funds as a reward for calling the function - use your own address for it. + +Below is the harvestAndSwap ABI: + +``` +[{ + "inputs": [ + { + "internalType": "address", + "name": "_strategyAddr", + "type": "address" + }, + { + "internalType": "address", + "name": "_rewardTo", + "type": "address" + } + ], + "name": "harvestAndSwap", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" +}] +``` diff --git a/hr/guides/integration-guide-for-exchanges.md b/hr/guides/integration-guide-for-exchanges.md new file mode 100644 index 000000000..cda6f2cd1 --- /dev/null +++ b/hr/guides/integration-guide-for-exchanges.md @@ -0,0 +1,34 @@ +# Integration Guide For Exchanges + +Centralized exchanges will play an important role in helping us reach our goal of making OUSD ubiquitous. We are happy to help any exchange that wants to make OUSD available to its users. We believe OUSD will make a great addition to any exchange that wants to offer both a superior stablecoin and a new high-yield opportunity for their users. + +These docs are a great starting point for understanding how OUSD works. Here are some important questions for exchanges that wish to integrate OUSD to consider: + +**Do you want to participate in the yield that is generated?** + +We're assuming the answer will be yes and we highly encourage this as well! However, there may be some instances where you would prefer to move fast and list OUSD without participating in the [rebasing nature of OUSD](../core-concepts/elastic-supply/rebasing-and-smart-contracts.md) since it's the fastest and simplest integration. For exchanges that want to list OUSD, but are strapped for engineering resources, you may want to launch the non-rebasing version first while your engineers make whatever changes are necessary. To make OUSD non-rebasing you can call `rebaseOptOut()` from each EOA wallet that holds OUSD, or do nothing if you are storing OUSD on smart contracts. Non-rebasing OUSD behaves just like any other ERC-20 token. + +**Are you storing customer balances on smart contracts (ie. multi-sigs) or EOA wallets?** + +Any smart contract that is holding OUSD needs to manually opt-in to receive the yield by calling `rebaseOptIn()`. This is due to the [elastic supply](../core-concepts/elastic-supply/) and the [rebasing nature of OUSD](../core-concepts/elastic-supply/rebasing-and-smart-contracts.md). Many exchanges sweep customer funds into a multi-sig wallet for cold storage. If you do this, you'll want to make sure that you opt-in to rebasing so that you are always earning. + +**Are you caching user balances?** + +OUSD dynamically updates the value returned by the `balanceOf()` function on our ERC20 contract. Users' balances will update at unpredictable times as new yield is generated by the protocol. As long as you aren't caching this value, users will always see the correct amount of OUSD that they are holding. + +It's important to note that while OUSD is a rebasing token, user balances will only rebase in a positive direction (your balance will never go down). This makes things a lot simpler than integrating with other rebasing coins like AMPL or other algo-stables. + +**Are you comingling user funds?** + +If you are comingling funds, you'll want to be sure that each user gets their pro-rata amount of the yield that is generated by the protocol. Probably the easiest way to do this is to track each user's balance as a percentage of a pool instead of as a fixed amount. + +**Are you planning to provide liquidity?** + +The Origin team is often willing to provide a market maker and initial liquidity for exchanges that wish to integrate OUSD. There are also 9 figures worth of liquidity available on decentralized exchanges like [Curve](https://curve.fi/factory/9). + +If you are interested in using OUSD to power your own staking or earning program, you will probably want to be able to access OUSD on demand. OUSD can always be minted or redeemed using the [Origin Dollar DApp](https://www.ousd.com), or directly from the OUSD [smart contracts](../smart-contracts/registry.md). If you are planning on providing liquidity yourself, you should be aware that the exact amount of OUSD you will receive in exchange for your USDT, USDC, or DAI depends on the current exchange rates as determined by the [oracles.](../core-concepts/price-oracles.md) If you are planning on redeeming OUSD for the underlying stablecoins, you should know there is a 0.25% exit fee and OUSD will return a basket of stable coins in proportion to the backing stablecoins in the pool. We encourage exchanges to leverage existing pools of liquidity to avoid those fees. If possible, mints or redeems should be done in large batches for maximum efficiency. + +#### Do you have other questions? + +The best way to get help from both our engineering and business teams is usually on [Discord](https://www.originprotocol.com/discord). + diff --git a/hr/how-it-works.md b/hr/how-it-works.md new file mode 100644 index 000000000..061ececf6 --- /dev/null +++ b/hr/how-it-works.md @@ -0,0 +1,39 @@ +# How It Works + +#### 100% Backed and Stable + +Origin Dollar (OUSD) is an ERC-20 compliant token for the Ethereum network. + +OUSD is a stable currency that is backed 1:1 by other stablecoins like USDT, USDC and DAI. As a result, 1 OUSD should always be very close to 1 USD in value. + +{% hint style="success" %} +1 OUSD = 1 USD +{% endhint %} + +#### Buying OUSD + +Users can convert their existing stablecoins (currently USDT, USDC, and DAI) to OUSD at the official [Origin Dollar DApp](https://www.ousd.com). Received OUSD begins accruing compounding yield immediately. + +The Origin DApp will intelligently route user's transactions to give them the best available price while taking slippage and gas costs into consideration. This means that the DApp will sometimes encourage users to buy OUSD that is already in circulation versus minting fresh OUSD from the vault. The OUSD DApp will choose from multiple sources of liquidity and will suggest the option that gives the user the best possible rate. + +**Selling OUSD** + +Users can convert their OUSD back into other stablecoins at any time using the [Origin Dollar DApp](https://www.ousd.com). The Origin DApp will intelligently route user's transactions to give them the best available price while taking slippage, gas costs, and the vault's exit fee into consideration. This means that the DApp will often help users sell their OUSD on AMM's instead of redeeming OUSD with the vault and incurring the protocol's exit fee. + +A 0.25% exit fee is charged upon redemption with the vault. This fee is distributed as additional yield to the remaining participants in the vault (ie. other OUSD holders). The fee serves as a security feature to make it difficult for attackers to take advantage of lagging oracles, preventing them from siphoning stablecoins from the vault in the event of mispriced underlying assets. The fee exists to incentivize long-term holders over short-term speculators. + +Upon redemption, the vault will determine which stablecoin(s) to return to the user. In the current implementation, the vault will return coins in the same ratio as the current holdings. This lack of user optionality also protects the vault as a whole in the event that any of the supported stablecoins loses its peg to the dollar. + +{% hint style="warning" %} +Redemptions on the OUSD vault incur a **0.25% exit fee** and the user doesn't get to pick which stablecoins they receive. Users can often avoid this fee by selling to an AMM instead. +{% endhint %} + +#### A**utomated Yield Farming** + +OUSD generates yields by deploying the underlying stablecoins that were deposited to the OUSD smart contract to other DeFi protocols such as Compound, Aave, and Curve. There may be new diversified strategies added to the vault in the future. Collected interest, trading fees, and rewards tokens are pooled and converted to stablecoins to produce OUSD-denominated yields. Over time, the protocol will move assets in and out of different liquidity pools in order to provide the best yield to the holders of OUSD. + +#### **Elastic Supply** + +The generated returns are passed on to the holders of OUSD via constant rebasing of the money supply. OUSD constantly adjusts the money supply in response to the yield the protocol has generated. This allows the price of OUSD to stay pegged at $1 while the balances in token holders' wallets adjust in real-time to reflect yields that have been earned by the protocol. + +The end result is a stablecoin that is easy to spend, earns outsized yields automatically, and is more desirable to hold than existing stablecoins. diff --git a/hr/security-and-risks/asset-risk.md b/hr/security-and-risks/asset-risk.md new file mode 100644 index 000000000..92140f5ed --- /dev/null +++ b/hr/security-and-risks/asset-risk.md @@ -0,0 +1,33 @@ +# Bug Bounties + +**Bug Bounties** + +Bug bounties are granted at the full discretion of Origin Protocol. The rewards range in size from **$100** for minor issues to **$250,000** for major vulnerabilities. Currently, the bounty program only applies to OUSD and not other products from Origin. + +{% hint style="warning" %} +In order to be eligible for a bug bounty, you must follow the rules of Responsible Disclosure outlined below. +{% endhint %} + +**Responsible Disclosure** + +Security is our top priority and we've taken every effort to make sure our code is secure and works as intended. However, it's completely possible that vulnerabilities both large and small may have gone undetected. + +In case you discover a vulnerability, we would like to know about it immediately so we can take steps to address it as quickly as possible. + +If you discover a vulnerability, please do the following: + +* Report your findings to [security@originprotocol.com](mailto:security@originprotcol.com) or contact [Josh Fraser on Keybase](https://keybase.io/joshfraser) +* Do not take advantage of the vulnerability or problem you have discovered +* Do not reveal the problem to others until it has been resolved +* Do not use attacks on physical security, social engineering, distributed denial of service, spam or applications of third parties +* Do provide sufficient information to reproduce the problem, so we will be able to resolve it as quickly as possible. Complex vulnerabilities may require further explanation so we might ask you for additional information. + +In return, we promise: + +* We will respond to your report within 3 business days with our evaluation of the report and an expected resolution date +* If you have followed the instructions above, we will not take any legal action against you in regard to the report +* We will handle your report with strict confidentiality, and not pass on your personal details to third parties without your permission +* If you so wish we will keep you informed of the progress towards resolving the problem +* In the public information concerning the problem reported, we will give your name as the discoverer of the problem \(unless you desire otherwise\) +* As a token of our gratitude for your assistance, we offer a reward for every report of a security problem that was not yet known to us. The amount of the reward will be determined based on the severity of the leak, the quality of the report, and any additional assistance you provide. + diff --git a/hr/security-and-risks/audits.md b/hr/security-and-risks/audits.md new file mode 100644 index 000000000..8d5402c70 --- /dev/null +++ b/hr/security-and-risks/audits.md @@ -0,0 +1,40 @@ +# Audits + +**The OUSD Vault, ERC-20, and Overall System** + +OUSD has been audited by multiple, well-respected security firms. We have worked with [OpenZeppelin](https://openzeppelin.com), [Trail of Bits](https://www.trailofbits.com), [Solidified](https://solidified.io), and [Certora](https://www.certora.com) to audit all of the code that powers Origin Dollar. Their findings are available below: + +* [Trail of Bits, OUSD Audit, December 2020](https://github.com/OriginProtocol/security/blob/master/audits/Trail%20of%20Bits%20-%20Origin%20Dollar%20-%20Dec%202020.pdf) +* [Solidified, OUSD Audit, December 2020](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20Origin%20Dollar%20-%20Dec%202020.pdf) +* [Solidified, OGN Staking Audit, December 2020](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20OGN%20Staking%20-%20Dec%202020.pdf) +* [Certora, OUSD Formal Verification Audit, January 2021](https://www.certora.com/pubs/OriginFeb2021.pdf) +* [OpenZeppelin, OUSD Audit, August 2021](https://github.com/OriginProtocol/security/blob/master/audits/OpenZeppelin%20-%20Origin%20Dollar%20-%20October%202021.pdf) +* [Solidified, wOUSD, ERC721a, Governance, Harvester & Dripper Audit, May 2022](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20OGV%2C%20wOUSD%2C%20and%20ERC721a%20-%20May%202022.pdf) + +Both our initial and future governance tokens have been audited as well: + +* [Trail of Bits, OGN Audit, November 2018](https://github.com/OriginProtocol/security/blob/master/audits/Trail%20of%20Bits%20-%20Origin%20Marketplace%20and%20OGN%20Token%20-%20Nov%202018.pdf) +* [Solidified, OGV Audit, May 2022](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20OGV%2C%20wOUSD%2C%20and%20ERC721a%20-%20May%202022.pdf) + +In addition, the underlying strategies and dependencies that OUSD utilizes have been thoroughly audited by various firms. + +{% hint style="info" %} +OUSD only integrates strategies that have been carefully audited and battle-tested with significant capital over an extended period of time. +{% endhint %} + +**Compound Strategy and Open Price Feed** + +Compound has been audited by [Trail of Bits](https://www.trailofbits.com) and [OpenZeppelin](https://openzeppelin.com) and formally verified by [Certora](https://www.certora.com). Visit the Compound website for their [full list of audits](https://compound.finance/docs/security#audits) including the original code for the modified [Timelock](../smart-contracts/api/timelock.md) that OUSD is using. + +**Aave Strategy** + +Aave has been audited by [Trail of Bits](https://www.trailofbits.com), [OpenZeppelin](https://openzeppelin.com), [ConsenSys Diligence](https://consensys.net/diligence/), [Certik](https://certik.io), [MixBytes](https://mixbytes.io), and [PeckShield](https://peckshield.com). They have also been formally verified by [Certora](https://www.certora.com). Visit the Aave website for [their full list of audits](https://docs.aave.com/developers/security-and-audits). + +**Curve Strategy** + +Curve has been audited by [Trail of Bits](https://www.trailofbits.com) and [Quantstamp](https://quantstamp.com). Visit the Curve website for [their full list of audits](https://www.curve.fi/audits). + +**Chainlink Oracles** + +Chainlink has been audited by [Quantstamp](https://github.com/smartcontractkit/chainlink/tree/bafa91c), [SigmaPrime](https://github.com/smartcontractkit/chainlink/tree/cee356), [Callisto](https://gist.github.com/yuriy77k/c3a70d212a7f9ecda715252e45073158), and [Nick Johnson](https://github.com/smartcontractkit/chainlink/tree/5327f9). + diff --git a/hr/security-and-risks/bug-bounties.md b/hr/security-and-risks/bug-bounties.md new file mode 100644 index 000000000..d6e21196f --- /dev/null +++ b/hr/security-and-risks/bug-bounties.md @@ -0,0 +1,32 @@ +# Bug Bounties + +**Bug Bounties** + +Bug bounties are granted at the full discretion of Origin Protocol. The rewards range in size from **$100 OUSD** for minor issues to **$250,000 OUSD** for major vulnerabilities. Currently, the bounty program only applies to OUSD and not other products from Origin. + +{% hint style="warning" %} +In order to be eligible for a bug bounty, you must follow the rules of Responsible Disclosure outlined below. +{% endhint %} + +**Responsible Disclosure** + +Security is our top priority and we've taken every effort to make sure our code is secure and works as intended. However, it's completely possible that vulnerabilities both large and small may have gone undetected. + +In case you discover a vulnerability, we would like to know about it immediately so we can take steps to address it as quickly as possible. + +If you discover a vulnerability, please do the following: + +* Report your findings to [security@originprotocol.com](mailto:security@originprotocol.com) or contact [Josh Fraser on Keybase](https://keybase.io/joshfraser). Here is an example of a [well written disclosure](https://gist.github.com/DanielVF/66f459da88804d1fd917c47576c68523). +* Do not take advantage of the vulnerability or problem you have discovered +* Do not reveal the problem to others until it has been resolved +* Do not use attacks on physical security, social engineering, distributed denial of service, spam or applications of third parties +* Do provide sufficient information to reproduce the problem, so we will be able to resolve it as quickly as possible. Complex vulnerabilities may require further explanation so we might ask you for additional information. + +In return, we promise: + +* We will respond to your report within 3 business days with our evaluation of the report and an expected resolution date +* If you have followed the instructions above, we will not take any legal action against you in regard to the report +* We will handle your report with strict confidentiality, and not pass on your personal details to third parties without your permission +* If you so wish we will keep you informed of the progress towards resolving the problem +* In the public information concerning the problem reported, we will give your name as the discoverer of the problem (unless you desire otherwise) +* As a token of our gratitude for your assistance, we offer a reward for every report of a security problem that was not yet known to us. The amount of the reward will be determined based on the severity of the leak, the quality of the report, and any additional assistance you provide. diff --git a/hr/security-and-risks/contributing.md b/hr/security-and-risks/contributing.md new file mode 100644 index 000000000..6937c347d --- /dev/null +++ b/hr/security-and-risks/contributing.md @@ -0,0 +1,95 @@ +# Contributing + +**100% Open-source** + +OUSD is an entirely open-source project and we welcome contributions of all sorts. There are many ways to help, from reporting issues, contributing code, and helping us improve our community. + +We work in public and our company Discord is open to all. If you have questions or need help getting started, our Discord OUSD channels are the best place to get assistance from our team and community. + +**Developer Analytics** + +Our internal developer dashboard is available at [analytics.ousd.com](https://analytics.ousd.com). The dashboard shows the current circulating supply, the assets under management in the vault, and the current allocations between each of the stablecoins and strategies. + +#### Development Process + +Our branching strategy is similar to [GitFlow](http://nvie.com/posts/a-successful-git-branching-model/), but we do all of our development in the `master` branch and have a `stable` branch for code that has been released. + +Your development flow should look like: + +1. Find an interesting issue and communicate! Please let the `#engineering` [Discord](https://discord.gg/jyxpUSe) channel know what you want to work on. +2. Ping a [core team member](https://github.com/orgs/OriginProtocol/teams/core/members) member on Discord and ask to be added to our [contributors team](https://github.com/orgs/OriginProtocol/teams/contributors). Otherwise, you’ll need to fork the relevant repository and push feature branches to your own fork. +3. Add a comment to the issue or self-assign so we don’t have multiple contributors unintentionally working on the same task. +4. Start with the `master` branch and check out a new feature branch unless you’re contributing to an existing feature. +5. Follow the appropriate [coding style](https://docs.originprotocol.com/guides/getting_started/contributing.html#contributing-email-coding-style) and write some awesome code. +6. Pull the latest commits from `master` and confirm that your code works with any other work that has been merged since you started. +7. Push your branch to the upstream repository \(i.e. https://github.com/OriginProtocol/\[repo\]\) so that other contributors can easily work off of it if necessary. +8. Please request a review in the PR by clicking on the gear icon next to “Reviewers” in the right column. + +For critical smart contract code to be merged it must pass the following checklist: + +* Code reviewed by 2 reviewers +* Unit tests pass +* Slither tests pass with no warning +* Echidna tests pass + +The `master` branch is locked so that only members of the [core team](https://github.com/orgs/OriginProtocol/teams/core) are able to merge your pull requests. Pull requests that are peer-reviewed by other trusted contributors will be fast-tracked and merged faster! Check in the `#engineering` Discord channel for appropriate reviewers. + +#### Coding Style + +We use a variety of programming languages in our repositories. When contributing, please follow existing coding conventions and refer to the CONTRIBUTING.md file in the repository, if one exists. + +For JavaScript, we use [NPM’s style](https://docs.npmjs.com/misc/coding-style), which is automatically enforced via [prettier](https://prettier.io/). + +For Solidity, we use two-space indents. + +#### Protocol Design + +When considering protocol or implementation design proposals, we are looking for: + +* A description of the problem this design proposal solves +* Discussion of the trade-offs involved +* Review of other existing solutions +* Links to relevant literature \(RFCs, papers, etc\) +* Discussion of the proposed solution + +Please note that protocol design is hard and meticulous work. You may need to review existing literature and think through generalized use cases. + +#### Community Guidelines + +We want to keep the Origin community awesome, growing and collaborative. We need your help to keep it that way. To help with this we’ve come up with some general guidelines for the community as a whole: + +* Be nice: Be courteous, respectful and polite to fellow community members: no regional, racial, gender, or other abuse will be tolerated. We like nice people way better than mean ones! +* Encourage diversity and participation: Make everyone in our community feel welcome, regardless of their background and the extent of their contributions, and do everything possible to encourage participation in our community. +* Keep it legal: Basically, don’t get anybody in trouble. Share only content that you own, do not share private or sensitive information, and don’t break laws. +* Stay on topic: Make sure that you are posting to the correct channel and avoid off-topic discussions. Remember when you update an issue or respond to an email you are potentially sending to a large number of people. Please consider this before you update. Also remember that nobody likes spam. + +#### Reporting Issues + +If you find bugs, mistakes or inconsistencies in Origin’s code or documents, please let us know by filing a GitHub issue. No issue is too small. Help us fix our tpyos! + +#### Security Issues + +OUSD is still in early development, which means there may be problems with the protocol or in our implementations. We take security vulnerabilities very seriously. If you discover a security issue, please bring it to our attention right away! + +If you find a security vulnerability please send your report privately to [security@originprotocol.com](mailto:security@originprotocol.com) or send an encrypted message to [@joshfraser on Keybase](https://keybase.io/joshfraser). Please DO NOT file a public issue. Be sure to review our guidelines for responsible disclosure and eligibility for bug bounties. + +{% page-ref page="bug-bounties.md" %} + +#### **Community Improvement** + +Origin is just as much about community as it is about our technology. + +We need constant help in improving our documentation, building new tools to interface with our platform, spreading the word to new users, helping new users getting setup and much more. + +Please get in touch if you would like to help out. Our `general` channel on [Discord](https://www.originprotocol.com/discord) is a great place to share ideas and volunteer to help. + +#### Full-Time Positions + +Origin occasionally hires developers for part-time or full-time positions. + +We have a strong preference for hiring people who have already started contributing to the project. If you want a full time position on our team, your best shot is to engage with our team and start contributing code. It is very unlikely that we would offer you a full-time position on our engineering team unless you’ve had at least a few pull requests merged. + +If you are interested, check out [the Origin Protocol job listings](https://angel.co/originprotocol/jobs). If you’d like to help in other ways, please propose your ideas in [our Discord channel](https://www.originprotocol.com/discord). + + + diff --git a/hr/security-and-risks/insurance.md b/hr/security-and-risks/insurance.md new file mode 100644 index 000000000..f805d14f1 --- /dev/null +++ b/hr/security-and-risks/insurance.md @@ -0,0 +1,15 @@ +# Insurance + +OUSD holders can buy smart contract insurance to cover any losses that might result from any bugs or vulnerabilities in the OUSD contracts, including economic exploits (such as flash loans attacks). In addition, anyone who wants to make a financial bet on the security of our contracts can earn a yield by providing coverage. + +DeFi coverage for OUSD is currently available via[ Nexus Mutual](https://nexusmutual.io) and [InsurAce Protocol](https://www.insurace.io). These partnerships allow for more effective risk management by OUSD holders while creating new opportunities for coverage providers to profit. + +Read our [announcement post](https://medium.com/originprotocol/origin-partners-with-nexus-mutual-to-offer-defi-insurance-for-origin-dollar-ousd-6eb3432ee042) to learn how to [buy coverage](https://app.nexusmutual.io/cover/buy/get-quote?address=0xE75D77B1865Ae93c7eaa3040B038D7aA7BC02F70), [provide coverage](https://app.nexusmutual.io/staking), or [participate in shield mining campaigns](https://app.nexusmutual.io/rewards) with Nexus Mutual. You can learn more about InsurAce and how to buy coverage on their [user guide](https://docs.insurace.io/landing-page/documentation-1/user-guide) or [documentation](https://docs.insurace.io/landing-page/). + +**Nexus Mutual Coverage** + +Read our[ announcement post](https://medium.com/originprotocol/origin-partners-with-nexus-mutual-to-offer-defi-insurance-for-origin-dollar-ousd-6eb3432ee042) to learn how to[ buy coverage](https://app.nexusmutual.io/cover/buy/get-quote?address=0x0000000000000000000000000000000000000016),[ provide coverage](https://app.nexusmutual.io/staking), and[ participate in shield mining campaigns](https://app.nexusmutual.io/rewards) with Nexus Mutual. + +**InsurAce Protocol Coverage** + +Read InsurAce Protocol’s [User Guide](https://docs.insurace.io/landing-page/documentation-1/user-guide) to learn how to [buy coverage](https://docs.insurace.io/landing-page/documentation-1/user-guide/dashboard) and participate in [underwriting mining](https://docs.insurace.io/landing-page/documentation-1/user-guide/how-to-stake) for OUSD. diff --git a/hr/security-and-risks/risks.md b/hr/security-and-risks/risks.md new file mode 100644 index 000000000..64dc13dc0 --- /dev/null +++ b/hr/security-and-risks/risks.md @@ -0,0 +1,44 @@ +# Risks + +{% hint style="danger" %} +Use at your own risk. Do not deploy more capital than you are willing to lose. +{% endhint %} + +As with any yield-generating DeFi product, there are associated risks with holding OUSD that are important to understand. These risks can be broadly classified into 3 categories: + +* OUSD smart contract risk +* Underlying third-party platform risk +* Underlying stablecoin risk + +**OUSD smart contract risk** + +Our smart contracts have been [audited](audits.md) by multiple, well-respected security firms. However, it is important to note that even with formal audits, it is still possible for there to be logic errors that could lead to the loss of funds for OUSD holders. The contracts involve complex math and logic. While we have taken every precaution to ensure the safety and security of our smart contracts, users are reminded to use at their own risk. Origin Protocol will not be held responsible for any loss of funds, regardless of who is at fault. + +**Third-party platform risk** + +OUSD is built on top of other DeFi platforms like Aave, Compound, and Curve that add additional smart contract risk. We are choosing to work with platforms that have literally billions of dollars of assets under management and have made a reasonable efforts to ensure the security of their protocols. However, there are no guarantees that the underlying third-party platforms will continue to work as intended, and any failure in an underlying strategy would potentially lead to a loss of funds for OUSD holders. + +**Stablecoin risks** + +It is important to understand that OUSD is only as strong as the stablecoins that are backing it. Any loss of value to an underlying stablecoin asset will cause a similar loss to the value of OUSD. While OUSD is designed to maintain a 1:1 relationship between supply and number of backing stablecoins, it does not guarantee which stablecoins will make up that backing nor the value of those coins. + +It is important to note that each of the supported stablecoins introduces non-trivial counter-party risk. Tether, in particular, has had well-documented banking troubles and regulatory challenges. In addition, both USDT and USDC have backdoors that grant their issuers the power to freeze money in their holder's wallets. While DAI does not have any direct backdoors, its assets can also be negatively impacted since USDC and USDT are accepted as collateral for minting DAI. + +**Risk mitigation** + +While it's impossible to guarantee our contracts are 100% safe, we have taken every step possible to mitigate the chance of losing funds: + +We regularly have our work [audited ](audits.md)by the top auditors in the industry. + +[DeFi insurance](insurance.md) is availble to offer smart contract coverage as an optional add-on service for OUSD holders. + +We have retained [Certora](https://www.certora.com) to formally verify the various security properties of our contracts. They helped us establish automated verifications that will run anytime we update our contract code. We have automated checking for common errors with [Slither](https://github.com/crytic/slither) and [Echidna](https://github.com/crytic/echidna) tests. Together, these alert our team to common security issues in addition to our own test suite. + +Code reviews involving our smart contracts are incredibly rigorous. We require at least two engineers to review each change with a detailed checklist and we prioritize security reviews over new feature development. + +Finally, we have formalized an engineering [rotation](https://github.com/OriginProtocol/security/blob/master/incidents/ROTATION.md) for reviewing [attacks on other projects](https://github.com/OriginProtocol/security/tree/master/incidents) as well as ensuring we deep dive into each of these reviews, including reviewing the affected contracts' source code ourselves. We've observed that attackers often exploit the same fundamental vulnerability on multiple different projects. By reviewing other project's vulnerabilities, we force ourselves to stay up to date on the latest security threats in our industry and are constantly learning from their mistakes. + +**Actions speak louder than words** + +You should also know that many members of the Origin team, including both founders, are holding a significant portion of their personal wealth in OUSD. Origin Protocol's corporate treasury is also holding millions of dollars in OUSD. We have skin in the game and are willing to put our own money at risk with the code we have written. + diff --git a/hr/security-and-risks/untitled.md b/hr/security-and-risks/untitled.md new file mode 100644 index 000000000..21b692090 --- /dev/null +++ b/hr/security-and-risks/untitled.md @@ -0,0 +1,20 @@ +# Audits + +{% hint style="danger" %} +The OUSD smart contracts have not yet been audited. We strongly recommend reviewing our smart contracts before depositing significant amounts of capital. +{% endhint %} + +**OUSD** + +Audits have already been scheduled with the respected security firm, [Trail of Bits](https://www.trailofbits.com/), for early October 2020. Their audit results will be publicly released as soon as they are available. + +**Supported Strategies** + +Multiple audits for Compound have already been completed and are available on their website. This includes the original code for the modified [Timelock](../smart-contracts/api/timelock-1.md) that OUSD is using. + +{% page-ref page="untitled.md" %} + + + + + diff --git a/hr/smart-contracts/api/README.md b/hr/smart-contracts/api/README.md new file mode 100644 index 000000000..ff400f20f --- /dev/null +++ b/hr/smart-contracts/api/README.md @@ -0,0 +1,9 @@ +# API + +Documentation of contracts API used by the protocol: + +* [Vault](vault.md) +* [ERC-20](erc-20-1.md) +* [Timelock](timelock.md) +* [Stategies](strategies.md) + diff --git a/hr/smart-contracts/api/erc-20-1.md b/hr/smart-contracts/api/erc-20-1.md new file mode 100644 index 000000000..164343cc0 --- /dev/null +++ b/hr/smart-contracts/api/erc-20-1.md @@ -0,0 +1,16 @@ +# ERC-20 + +{% hint style="success" %} +The main ERC20 address for Origin Dollar (OUSD) is: \ **0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +OUSD is an ERC-20 compliant token with one novel property (elastic supply) that is important to understand. + +{% hint style="warning" %} +Wallets and exchanges that wish to integrate OUSD should not cache token balances for OUSD as this value will change frequently as yield is accrued to token holders. +{% endhint %} + +The biggest difference separating OUSD from your average ERC-20 token is the way OUSD's`balanceOf()` function will return a variable amount based on the total value of the vault multiplied by the holder's stake in the vault. This difference is vital to understand, particularly for wallets and exchanges that wish to integrate the OUSD token. This value should be fetched in real-time instead of being cached since OUSD rebases frequently. + + + diff --git a/hr/smart-contracts/api/oracle.md b/hr/smart-contracts/api/oracle.md new file mode 100644 index 000000000..362749de7 --- /dev/null +++ b/hr/smart-contracts/api/oracle.md @@ -0,0 +1,7 @@ +# Oracles + +{% hint style="info" %} +Documentation coming soon. +{% endhint %} + +OUSD uses Chainlink [oracles](../../core-concepts/price-oracles.md) to secure the protocol from pricing attacks. You can [read more about our decision to work with Chainlink](https://blog.originprotocol.com/how-origin-uses-chainlink-oracles-to-secure-ousd-bff5601e840e) on the Origin blog. diff --git a/hr/smart-contracts/api/ousd.md b/hr/smart-contracts/api/ousd.md new file mode 100644 index 000000000..8d6981144 --- /dev/null +++ b/hr/smart-contracts/api/ousd.md @@ -0,0 +1,8 @@ +# OUSD + +{% hint style="info" %} +Documentation coming soon. +{% endhint %} + + + diff --git a/hr/smart-contracts/api/strategies.md b/hr/smart-contracts/api/strategies.md new file mode 100644 index 000000000..a275b76e6 --- /dev/null +++ b/hr/smart-contracts/api/strategies.md @@ -0,0 +1,14 @@ +# Strategies + +{% hint style="info" %} +Documentation coming soon. +{% endhint %} + +New strategies can be added or removed at any time to respond to new market realities and diversify risk. + +Once we migrate to decentralized governance, it is our intent for the community to propose new strategies and to vote on the appropriate weight for each strategy in the pool. We anticipate that most OUSD holders will value having some exposure to higher yield opportunities while maintaining more conservative positions for a portion of the funds. + + + + + diff --git a/hr/smart-contracts/api/timelock-1.md b/hr/smart-contracts/api/timelock-1.md new file mode 100644 index 000000000..88954aca7 --- /dev/null +++ b/hr/smart-contracts/api/timelock-1.md @@ -0,0 +1,22 @@ +# Timelock + +{% hint style="danger" %} +The timelock will be added soon after everything is verified as working. Until then, the contracts will be governed by Origin's 5 of 8 multi-sig. This allows for a faster response if any critical issues are discovered. +{% endhint %} + +The timelock contract enforces a 48 hour wait period before any changes to the OUSD contracts can be executed. The timelock can be called by our multi-sig and is the owner of our [ERC-20](../architecture.md), [Vault](vault.md), and [Strategies](strategies.md) contracts. Time-delaying admin actions gives users a chance to exit OUSD if its admins become malicious, are compromised, or make a change that the users do not like. + +{% hint style="info" %} +The timelock is a safety measure that gives OUSD holders 48 hours to withdraw their funds if they have objections to any proposed upgrades to the protocol. +{% endhint %} + +OUSD is using a slightly modified version of the [Compound Timelock](https://compound.finance/docs/governance) which has been [audited by OpenZeppelin](https://blog.openzeppelin.com/compound-finance-patch-audit/). The 3 notable differences are: + +1. OUSD will initially use a shorter wait period \(48 hours\) than Compound \(72 hours\) to allow for a faster response if any issues are discovered. +2. Once the 48 hours have passed, anyone is free to execute the call, not just the owner of the contract. +3. Deposits \(but not withdrawals or transfers\) can be immediately frozen without requiring the 48 waiting period. This is in case a major vulnerability is discovered. + + + + + diff --git a/hr/smart-contracts/api/timelock.md b/hr/smart-contracts/api/timelock.md new file mode 100644 index 000000000..2273ddad7 --- /dev/null +++ b/hr/smart-contracts/api/timelock.md @@ -0,0 +1,15 @@ +# Timelock + +The timelock contract enforces a 48 hour wait period before any changes to the OUSD contracts can be executed. The timelock can be called by our multi-sig and is the owner of our [ERC-20](../architecture.md), [Vault](vault.md), and [Strategies](strategies.md) contracts. Time-delaying admin actions gives users a chance to exit OUSD if its admins become malicious, are compromised, or make a change that the users do not like. + +{% hint style="info" %} +The timelock is a safety measure that gives OUSD holders 48 hours to withdraw their funds if they have objections to any proposed upgrades to the protocol. +{% endhint %} + +OUSD is using a slightly modified version of the [Compound Timelock](https://compound.finance/docs/governance) which has been [audited by OpenZeppelin](https://blog.openzeppelin.com/compound-finance-patch-audit/). The two notable differences are: + +1. OUSD will initially use a shorter wait period (48 hours) than Compound (72 hours) to allow for a faster response if any issues are discovered. +2. Some actions, such as reallocating funds between existing strategies and freezing deposits can be called immediately by a multisig wallet without requiring the 48 waiting period. This is in case a major vulnerability is discovered. + + + diff --git a/hr/smart-contracts/api/vault.md b/hr/smart-contracts/api/vault.md new file mode 100644 index 000000000..13a7a8601 --- /dev/null +++ b/hr/smart-contracts/api/vault.md @@ -0,0 +1,184 @@ +--- +description: >- + The vault is the main contract of the protocol. The vault is responsible for minting/redeeming OUSD tokens, rebalancing funds between the various supported strategies, and liquidating rewards tokens. +--- + +# Vault + +## Units + +All OUSD amounts passed or returned by the Vault methods use 18 decimal places. For example, 1 OUSD is expressed as 1000000000000000000. + +For other stable coins, the number of decimal places varies. DAI uses 18 decimal places while USDC and USDT use only 6. + +The protocol was updated in November are [currently underway](https://github.com/OriginProtocol/origin-dollar/issues/590) to increase the resolution of rebasing calculations from 18 decimals to 27 decimals. The OUSD token itself will still retain 18 decimals of precision and user balances should not change. + +## Methods‌ + +### mint() + +**`function mint(address _asset, uint256 _amount, uint256 _minimumOusdAmount)`**‌ + +Mints OUSD in exchange for a deposit of a certain `_amount` of stablecoin specified by the `_asset` parameter. The caller receives a certain amount of OUSD depending on the **exchange rate**. + +| Parameter Name | Type | Description | +| --------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | +| \_asset | address | Address of the [supported](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/core-concepts/supported-assets) stablecoin | +| \_amount | uint256 | Amount deposited, expressed in decimal units | +| \_minimumOusdAmount | uint256 | Minimum amount of OUSD the caller is willing to receive. The call to mint() reverts if the minimum is not met. | + +### mintMultiple() + +**`function mintMultiple(address[] _assets, uint256[] _amounts, uint256 _minimumOusdAmount)`**‌ + +Mints OUSD in exchange for a deposit of multiple stablecoins in a single call. Stablecoins are specified by the `_assets` array parameter and the amounts by the `_amounts` array parameter. The caller receives a certain amount of OUSD depending on the **exchange rate**. + +| Parameter Name | Type | Description | +| --------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| \_assets | address\[] | Addresses of the [supported](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/core-concepts/supported-assets) stablecoins | +| \_amounts | uint256\[] | Amounts deposited, expressed in decimal units | +| \_minimumOusdAmount | uint256 | Minimum amount of OUSD the caller is willing to receive. The call to mint() reverts if the minimum is not met. | + +{% hint style="warning" %} +On redemptions, it is the protocol and not the user that decides which stablecoin(s) are returned to the user. This decision of which coin(s) to return is based on the internal ratios of the assets that are being held in the vault.‌ +{% endhint %} + +### redeem() + +**`function redeem(uint256 _amount)`**‌ + +OUSD specified by the `_amount` parameter is redeemed in exchange for one or multiple supported stablecoins. Amount of stablecoins received depends on the **exchange rate**. + +| Parameter Name | Type | Description | +| -------------- | ------- | ----------------------------------------- | +| \_amount | uint256 | amount of OUSD expressed in decimal units | + +### redeemAll()‌ + +**`function redeemAll()`**‌ + +All OUSD in user's possession is redeemed in exchange for one or multiple supported stablecoins. Amount of stablecoins received depends on the **exchange rate**. + +### rebase() + +**`function rebase()`**‌ + +Updates the balances for all users based on the value of the assets currently stored in the vault. Returns total value of the underlying assets and strategies represented by `uint256` type.‌ + +### allocate() + +**`function allocate()`**‌ + +Moves the assets under management into their prescribed [Stategies](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/architecture/strategies) to maximize yield and diversify risk.‌ + +### totalValue() + +**`function totalValue()`**‌ + +Returns total value of underlying assets and strategies. + +| `return` name | Type | Description | +| ------------- | ------- | ------------------------------------------------ | +| value | uint256 | total value of underlying assets and strategies. | + +### checkBalance() + +**`function checkBalance(address _asset)`**‌ + +Returns the balance of an asset specified by the`_asset` parameter held in Vault and all strategies represented by `uint256` type. + +| Parameter Name | Type | Description | +| -------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | +| \_asset | address | Address of the [supported](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/core-concepts/supported-assets) stablecoin | + +### calculateRedeemOutputs() + +**`function calculateRedeemOutputs(uint256 _amount)`**‌ + +Calculate the mix of stablecoins that a `redeem` function would return when redeeming certain amount of OUSD specified by the `_amount` parameter. Returns an array of stablecoin values. + +To attribute the stablecoin values to the correct stablecoin currency this call should be used in conjunction with `getAllAssets` function that returns an array of stablecoin addresses. + +The index of an array that is returned by the `calculateRedeemOutputs` corresponds to the stablecoin address with the same index in an array returned by the `getAllAssets` function. + +| Parameter Name | Type | Description | +| -------------- | ------- | ----------------------------------------- | +| \_amount | uint256 | amount of OUSD expressed in decimal units | + +| `return` name | Type | Description | +| ------------- | ----------- | --------------------------------------------------------------------------- | +| outputs | uint256\[] | array of the amount of the stablecoin assets `redeem` function would return | + +### getAssetCount() + +**`function getAssetCount()`**‌ + +Return the number of supported stablecoin assets represented by `uint256` type.‌ + +### getAllAssets() + +**`function getAllAssets()`**‌ + +Return all assets addresses of supported stablecoin assets in order represented by `uint256` type.‌ + +### getStrategyCount()‌ + +**`function getStrategyCount()`**‌ + +Return the number of strategies active on the Vault represented by `uint256` type.‌ + +### getAPR() + +**`function getAPR()`**‌ + +Return the total annual percentage yield (APR) of the Vault and all Strategies represented by `uint256` type. Resulting number has 18 decimal places.‌ + +### isSupportedAsset() + +**`function isSupportedAsset(address _asset)`**‌ + +Return the boolean that is true if the asset specified by the `_asset` parameter is supported by the Vault. + +| Parameter Name | Type | Description | +| -------------- | ------- | ------------------------- | +| \_asset | address | Address of the stablecoin | + +### priceUSDMint() + +**`function priceUSDMint(string symbol)`**‌‌ + +Returns the exchange rate price of a stable coin specified by the `symbol` parameters used when minting OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Parameter Name | Type | Description | +| -------------- | ------ | ------------------------ | +| symbol | string | Symbol of the stablecoin | + +### priceUSDRedeem() + +**`function priceUSDRedeem(string symbol)`**‌‌ + +Returns the exchange rate price of a stable coin specified by the `symbol` parameters used when redeeming OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Parameter Name | Type | Description | +| -------------- | ------ | ------------------------ | +| symbol | string | Symbol of the stablecoin | + +### priceAssetUSDMint()‌ + +**`function priceAssetUSDMint(address _asset)`**‌‌ + +Returns the exchange rate price of a stable coin specified by the `_asset` parameters used when minting OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Parameter Name | Type | Description | +| -------------- | ------- | -------------------------- | +| \_asset | address | Address of the stablecoin‌ | + +### priceAssetUSDRedeem()‌ + +**`function priceAssetUSDRedeem(address _asset)`**‌‌‌ + +Returns the exchange rate price of a stable coin specified by the `_asset` parameters used when redeeming OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Parameter Name | Type | Description | +| -------------- | ------- | ------------------------- | +| \_asset | address | Address of the stablecoin | diff --git a/hr/smart-contracts/architecture.md b/hr/smart-contracts/architecture.md new file mode 100644 index 000000000..f53eacf24 --- /dev/null +++ b/hr/smart-contracts/architecture.md @@ -0,0 +1,18 @@ +# Architecture + +![](../.gitbook/assets/ousd\_docs\_graphics\_3.png) + +OUSD is made up of a series of smart contracts. Each of these contracts is wrapped in a proxy contract that can be upgraded via the governance protocols. + +Internally, ownership in the vault is tracked using a credits system that represents the percent ownership of the vault for each holder. The [ERC-20](api/erc-20-1.md) contract handles the conversion to USD terms when viewing a balance or initiating a transfer between wallets. + +The [Vault](api/vault.md) is responsible for minting and burning OUSD. It also enforces the percentage of assets that are deployed to each of the supported [Strategies](../core-concepts/supported-strategies/). To optimize gas costs, the vault may maintain a buffer to allow most deposits and redemptions to occur without winding/unwinding assets from strategies. + +The Flipper is a smart contract for users to swap in and out of OUSD cheaply for any of DAI, USDC, or USDT at a fixed 1:1 rate. This contract is used as an alternative way to route user transactions originating from the web app. It's important to note that this contract may be empty on one side (e.g., contain 0 OUSD balance), and thus sometimes provides limited swap routes. While limited in functionality, Flipper uses around 45% less gas than Uniswap v3 due to its simplicity. + +The Harvester contract collects reward tokens earned by the strategies, sells them, and sends the resulting stablecoins to the Dripper to be released to the vault. Anyone can call the harvest and earn 1% of the resulting USDT for doing so. This creates a self-incentivizing system that operates at a known fixed cost. See our [incentivized-harvesting-guide.md](../guides/incentivized-harvesting-guide.md "mention") for details. + +The Dripper contract buffers aproximately one week of reward token sales proceeds and makes it avaiable at a smooth rate to the vault. This keeps OUSD yield from being extremely spiky when harvests come in. The rate is recalculated at least once per day and is the rate that it would take to distribute the current dripper holdings out over a one week period. + + + diff --git a/hr/smart-contracts/erc-20.md b/hr/smart-contracts/erc-20.md new file mode 100644 index 000000000..c3a21d407 --- /dev/null +++ b/hr/smart-contracts/erc-20.md @@ -0,0 +1,12 @@ +# Architecture + +![](../.gitbook/assets/ousd_docs_graphics_3.png) + +OUSD is made up of a series of smart contracts. Each of these contracts is wrapped in a proxy contract that can be upgraded via the governance protocols. + +Internally, ownership in the pool is tracked using a credits system that represents the percent ownership of the pool for each holder. The [ERC-20](api/erc-20-1.md) contract handles the conversion to USD terms when viewing a balance or initiating a transfer between wallets. + +The [Vault](api/vault.md) is responsible for minting and burning OUSD. It also enforces the percentage of assets that are deployed to each of the supported [Strategies](../core-concepts/supported-strategies/). To optimize gas costs, the vault maintains a buffer to allow most deposits and redemptions to occur without winding/unwinding assets from strategies. + + + diff --git a/hr/smart-contracts/registry.md b/hr/smart-contracts/registry.md new file mode 100644 index 000000000..f2d45b7dd --- /dev/null +++ b/hr/smart-contracts/registry.md @@ -0,0 +1,156 @@ +# Registry + +Here is the full registry of OUSD smart contracts that have been deployed to the Ethereum mainnet. + +{% hint style="success" %} +The main ERC20 address for Origin Dollar (OUSD) is: \ +**0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +{% tabs %} +{% tab title="Core" %} +Well-known addresses (proxy wrappers): + + + +| Contract | Address | ENS | +| -------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------- | +| OUSD | [0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86](https://etherscan.io/address/0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86) |

ousd.eth

origindollar.eth

| +| Vault | [0xE75D77B1865Ae93c7eaa3040B038D7aA7BC02F70](https://etherscan.io/address/0xe75d77b1865ae93c7eaa3040b038d7aa7bc02f70) | [originvault.eth](https://etherscan.io/address/originvault.eth) | + + + +Internal implementation contracts. The Vault is split into VaultAdmin and VaultCore to work around the maximum contract size limit on Ethereum: + + + +| Contract | Address | +| ---------- | --------------------------------------------------------------------------------------------------------------------- | +| OUSD | [0x33db8d52d65F75E4cdDA1b02463760c9561A2aa1](https://etherscan.io/address/0x33db8d52d65F75E4cdDA1b02463760c9561A2aa1) | +| VaultAdmin | [0x3EB68D8f4992A0e34aA58cc3dF86A40814078cF6](https://etherscan.io/address/0x3EB68D8f4992A0e34aA58cc3dF86A40814078cF6) | +| VaultCore | [0x226de75867B2f785BA19600e2a7e6eFccD57157B](https://etherscan.io/address/0x226de75867B2f785BA19600e2a7e6eFccD57157B) | +{% endtab %} + +{% tab title="Strategies" %} +Well-known addresses (proxy wrappers): + + + +| Strategy | Address | Auto-Allocation | +| -------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------- | +| Aave | [0x5e3646A1Db86993f73E6b74A57D8640B69F7e259](https://etherscan.io/address/0x5e3646A1Db86993f73E6b74A57D8640B69F7e259) | Manual allocation | +| Compound | [0x9c459eeb3FA179a40329b81C1635525e9A0Ef094](https://etherscan.io/address/0x9c459eeb3FA179a40329b81C1635525e9A0Ef094) | 100% of USDC, USDT and DAI | +| Convex | [0xEA2Ef2e2E5A749D4A66b41Db9aD85a38Aa264cb3](https://etherscan.io/address/0xEA2Ef2e2E5A749D4A66b41Db9aD85a38Aa264cb3#code) | Manual allocation | + + + +Internal implementation contracts: + + + +| Strategy | Address | +| -------- | -------------------------------------------------------------------------------------------------------------------------- | +| Aave | [0xA050eBE34Be464902F7E0F7F451f4B5253d57114](https://etherscan.io/address/0xA050eBE34Be464902F7E0F7F451f4B5253d57114) | +| Compound | [0x47f3eb71b5507df5ab6ac7f8660ef282ab0e560f](https://etherscan.io/address/0x47f3eb71b5507dF5Ab6aC7F8660Ef282Ab0E560f) | +| Convex | [0x08f3a0637851aA1B0E0750aA3d46E0E356f349aC](https://etherscan.io/address/0x08f3a0637851aa1b0e0750aa3d46e0e356f349ac#code) | + + + +Yield harvesting and collection: + + + +| | | +| --------- | -------------------------------------------------------------------------------------------------------------------------- | +| Contract | Address | +| Harvester | [0x21fb5812d70b3396880d30e90d9e5c1202266c89](https://etherscan.io/address/0x21fb5812d70b3396880d30e90d9e5c1202266c89#code) | +| Dripper | [0x80c898ae5e56f888365e235ceb8cea3eb726cb58](https://etherscan.io/address/0x80c898ae5e56f888365e235ceb8cea3eb726cb58#code) | +{% endtab %} + +{% tab title="Oracles" %} +The following Chainlink oracles are used to protect the vault in case a backing stablecoin loses value. They also offer slippage protection when harvesting rewards tokens or executing the OGN buyback. + + + +| Pair | Contract | +| ------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| [USDT/USD](https://data.chain.link/ethereum/mainnet/stablecoins/usdt-usd) | [0x3E7d1eAB13ad0104d2750B8863b489D65364e32D](https://etherscan.io/address/0x3E7d1eAB13ad0104d2750B8863b489D65364e32D) | +| [USDC/USD](https://data.chain.link/ethereum/mainnet/stablecoins/usdc-usd) | [0x8fFfFfd4AfB6115b954Bd326cbe7B4BA576818f6](https://etherscan.io/address/0x8fFfFfd4AfB6115b954Bd326cbe7B4BA576818f6) | +| [DAI/USD](https://data.chain.link/ethereum/mainnet/stablecoins/dai-usd) | [0xAed0c38402a5d19df6E4c03F4E2DceD6e29c1ee9](https://etherscan.io/address/0xAed0c38402a5d19df6E4c03F4E2DceD6e29c1ee9) | +| [COMP/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/comp-usd) | [0xdbd020caef83efd542f4de03e3cf0c28a4428bd5](https://etherscan.io/address/0xdbd020caef83efd542f4de03e3cf0c28a4428bd5) | +| [AAVE/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/aave-usd) | [0x547a514d5e3769680Ce22B2361c10Ea13619e8a9](https://etherscan.io/address/0x547a514d5e3769680Ce22B2361c10Ea13619e8a9) | +| [CRV/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/crv-usd) | [0xcd627aa160a6fa45eb793d19ef54f5062f20f33f](https://etherscan.io/address/0xcd627aa160a6fa45eb793d19ef54f5062f20f33f) | +| [CVX/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/cvx-usd) | [0xd962fC30A72A84cE50161031391756Bf2876Af5D](https://etherscan.io/address/0xd962fC30A72A84cE50161031391756Bf2876Af5D) | +| [OGN/ETH](https://data.chain.link/ethereum/mainnet/crypto-eth/ogn-eth) | [0x2c881b6f3f6b5ff6c975813f87a4dad0b241c15b](https://etherscan.io/address/0x2c881b6f3f6b5ff6c975813f87a4dad0b241c15b) | +{% endtab %} + +{% tab title="Governance" %} + + +| Contract | Address | ENS | +| ------------------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------- | +| 5 of 8 Multisig | [0xbe2AB3d3d8F6a32b96414ebbd865dBD276d3d899](https://etherscan.io/address/0xbe2AB3d3d8F6a32b96414ebbd865dBD276d3d899) | [originprotocol.eth](https://etherscan.io/address/originprotocol.eth) | +| 2 of 9 Multisig | [0xF14BBdf064E3F67f51cd9BD646aE3716aD938FDC](https://etherscan.io/address/0xF14BBdf064E3F67f51cd9BD646aE3716aD938FDC) | [originstrategist.eth](https://etherscan.io/address/originstrategist.eth) | +| Governor / Timelock | [0x72426BA137DEC62657306b12B1E869d43FeC6eC7](https://etherscan.io/address/0x72426BA137DEC62657306b12B1E869d43FeC6eC7) |

origingovernor.eth

origintimelock.eth

| +| OGN Buyback | [0x77314EB392b2be47C014cde0706908b3307Ad6a9](https://etherscan.io/address/0x77314EB392b2be47C014cde0706908b3307Ad6a9) | [originbuyback.eth](https://etherscan.io/address/originbuyback.eth) | +{% endtab %} + +{% tab title="Stablecoins" %} +| Contract | Address | +| ------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| [USDT](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | [0xdac17f958d2ee523a2206206994597c13d831ec7](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | +| [USDC](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | [0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | +| [DAI](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | [0x6b175474e89094c44da98b954eedeac495271d0f](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | +{% endtab %} + +{% tab title="Staking" %} +| Contract | Address | ENS | +| ----------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- | +| OGN Staking | [0x501804B374EF06fa9C427476147ac09F1551B9A0](https://etherscan.io/address/0x501804B374EF06fa9C427476147ac09F1551B9A0) | [originstaking.eth](https://etherscan.io/address/originstaking.eth) | + + + +Internal implementation contracts: + + + +| Contract | Address | +| ----------- | --------------------------------------------------------------------------------------------------------------------- | +| OGN Staking | [0x8cd68a1e0b79150455c5498882d5d5d3df2dde08](https://etherscan.io/address/0x8cd68a1e0b79150455c5498882d5d5d3df2dde08) | + + + +OUSD compensation contract ([details](https://medium.com/originprotocol/origin-delivers-on-compensation-promise-claim-your-ousd-and-ogn-now-a9fa9b840476)): + + + +| Contract | Address | +| ----------------- | --------------------------------------------------------------------------------------------------------------------- | +| OUSD Compensation | [0x9C94df9d594BA1eb94430C006c269C314B1A8281](https://etherscan.io/address/0x9C94df9d594BA1eb94430C006c269C314B1A8281) | +{% endtab %} + +{% tab title="Flipper" %} +Flipper is a gas-optimized way for users to swap in and out of OUSD at a fixed 1:1 rate with other stablecoins. This contract may become empty on one side (e.g., contain 0 OUSD balance), and thus sometimes provides limited swap routes. + + + +| Contract | Address | ENS | +| -------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- | +| Flipper | [0xcecaD69d7D4Ed6D52eFcFA028aF8732F27e08F70](https://etherscan.io/address/0xcecaD69d7D4Ed6D52eFcFA028aF8732F27e08F70) | [originflipper.eth](https://etherscan.io/address/originflipper.eth) | +{% endtab %} + +{% tab title="Wrapped" %} +Wrapped OUSD\ +\ **Well known proxy address:** - [0xD2af830E8CBdFed6CC11Bab697bB25496ed6FA62](https://etherscan.io/address/0xD2af830E8CBdFed6CC11Bab697bB25496ed6FA62) + +Internal implementation address - [0xbf3b9b141cb3629f5bb8f721cba9265c92494539](https://etherscan.io/address/0xbf3b9b141cb3629f5bb8f721cba9265c92494539) +{% endtab %} +{% endtabs %} + + + + + + + + diff --git a/id/README.md b/id/README.md new file mode 100644 index 000000000..edec6fb09 --- /dev/null +++ b/id/README.md @@ -0,0 +1,29 @@ +--- +description: Stablecoin pertama yang menghasilkan keuntungan saat masih ada di dompet Anda +--- + +# Pengantar + +## **Bentuk Uang yang Lebih Baik** + +Origin Dollar (OUSD) is a new stablecoin that was initially launched in September 2020 on the Ethereum network. Desainnya lebih unggul dari stablecoin yang sudah ada karena OUSD menangkap hasil yang kompetitif saat disimpan secara pasif di dompet. + +![](.gitbook/assets/origin-dollar-summary.jpeg) + +**Latar Belakang** + +In 1999, Yu Pan, Origin’s R\&D engineer, and his fellow PayPal co-founders [conceived](https://www.cnbc.com/2017/08/14/david-sacks-cryptocurrency-interview.html) of creating “the new world currency”, complete with interest yielding strategies and debit cards without having to connect to traditional banking systems. Beberapa pivot dan akuisisi eBay kemudian, PayPal menjatuhkan ambisinya di bidang ini. + +Hampir dua dekade kemudian, Tether memperkenalkan konsep stablecoin dalam mata uang USD pada tahun 2014. Sejak saat itu, stablecoin telah membuktikan dirinya sebagai cara ideal untuk mentransfer nilai tanpa membuat pengguna rentan terhadap volatilitas harga mata uang yang mengambang bebas. Saat ini, lebih banyak nilai [ditransfer melalui Tether](https://www.bloomberg.com/news/articles/2019-10-01/tether-not-bitcoin-likely-the-world-s-most-used-cryptocurrency) daripada dengan Bitcoin. Meanwhile, Decentralized Finance (DeFi) has experienced an explosion of growth with [billions of dollars](https://defipulse.com) of capital now locked up in smart contracts that generate yields from lending and trading protocols. + +Salah satu masalah dengan stablecoin yang ada adalah bahwa pengguna harus terus-menerus memilih antara memegang koin yang mudah digunakan dan mendapatkan hasil dengan mengunci token mereka dalam kontrak pintar. Misalnya, pengguna yang mengunci USDC di Aave tidak dapat membelanjakan sebagian dari USDC tersebut secara bersamaan. Biaya gas Ethereum yang mahal berfungsi sebagai "biaya peralihan" setiap kali pengguna tersebut ingin beralih antara mode pengeluaran dan mode penghasilan. + +Lebih buruk lagi, hasil dari aktivitas pinjaman dan perdagangan berubah dengan cepat. Para penerima imbal hasil DeFi yang canggih terbiasa dengan keharusan untuk terus menyeimbangkan kembali portofolio aset mereka di banyak platform yang bersaing. Ini memakan waktu dan mahal karena biaya gas sekali lagi menggerogoti hasil panen. Selain itu, menghitung ROI nyata memakan waktu karena APY tidak stabil dan terus berfluktuasi. Tidak ada unit akun yang mudah. Akibatnya, sementara DeFi berkembang sangat pesat, itu masih menyulitkan banyak pengguna cryptocurrency untuk berpartisipasi. + +Dengan OUSD, tidak perlu melepaskan posisi yang rumit saat Anda ingin membelanjakan OUSD. Anda dapat mentransfernya dengan bebas tanpa harus membayar gas untuk membuka kunci modal yang dapat dihabiskan. Selain itu, OUSD memberi Anda akses ke beberapa peluang berpenghasilan tertinggi di DeFi tanpa kerepotan. Kontrak pintar OUSD akan menyebarkan modal dasar Anda ke serangkaian strategi perolehan hasil yang terdiversifikasi, menyeimbangkan kembali dari waktu ke waktu untuk mencapai hasil yang besar sambil mendiversifikasi risiko. Penghasilan secara otomatis bertambah di dompet Anda dan terus bertambah selama Anda memegang OUSD. Sekali lagi, tidak diperlukan staking atau lockup. OUSD juga berfungsi sebagai unit akun yang ideal. Investor DeFi tidak lagi membutuhkan spreadsheet yang rumit untuk menghitung pendapatan mereka karena mereka dapat dengan mudah melihat saldo OUSD mereka yang terus diperbarui secara real-time karena bunga mereka bertambah secara otomatis. OUSD adalah stablecoin ideal untuk petani hasil DeFi dan pengguna cryptocurrency pemula. + +Dibuat oleh para veteran cryptocurrency dan fintech, Origin Dollar dipersembahkan oleh [tim](https://www.originprotocol.com/team) di [Origin Protocol](https://www.originprotocol.com) yang mencakup pengusaha serial, investor cryptocurrency awal, karyawan awal di YouTube, manajer teknik di Google / Dropbox, dan salah satu pendiri Paypal, Yu Pan. + +Bagi mereka yang tertarik mempelajari detail teknis tentang cara kerjanya, dokumen ini adalah tempat yang tepat untuk memulai. We encourage developers to audit and contribute to our [Github](http://www.github.com/OriginProtocol) (100% open-source). Tim kami berkumpul di [Discord](https://www.originprotocol.com/discord) jika Anda memiliki pertanyaan atau membutuhkan bantuan untuk memulai. + +Selamat datang di masa depan uang. diff --git a/id/SUMMARY.md b/id/SUMMARY.md new file mode 100644 index 000000000..8a549b093 --- /dev/null +++ b/id/SUMMARY.md @@ -0,0 +1,64 @@ +# Daftar Isi + +* [Introducing OUSD](README.md) +* [Cara kerjanya](how-it-works.md) +* [Mulai](getting-started.md) +* [Dasbor Analisis](analytics-dashboard.md) +* [FAQ](faq.md) + +## Konsep inti + +* [Pasokan Elastis](core-concepts/elastic-supply/README.md) + * [Rebasing & Kontrak Pintar](core-concepts/elastic-supply/rebasing-and-smart-contracts.md) +* [Menghasilkan keuntungan](core-concepts/yield-generation/README.md) + * [Pinjaman](core-concepts/yield-generation/lending.md) + * [Pembuatan Pasar](core-concepts/yield-generation/market-making.md) + * [Hadiah](core-concepts/yield-generation/rewards.md) +* [Wrapped OUSD](core-concepts/wrapped-ousd.md) +* [Supported Stablecoins](core-concepts/supported-stablecoins/README.md) + * [USDT](core-concepts/supported-stablecoins/usdt.md) + * [USDC](core-concepts/supported-stablecoins/usdc.md) + * [DAI](core-concepts/supported-stablecoins/dai.md) +* [Supported Strategies](core-concepts/supported-strategies/README.md) + * [Compound](core-concepts/supported-strategies/compound.md) + * [Aave](core-concepts/supported-strategies/aave.md) + * [Curve](core-concepts/supported-strategies/curve.md) + * [Convex](core-concepts/supported-strategies/convex.md) +* [Fund Management](core-concepts/fund-management.md) +* [Price Oracles](core-concepts/price-oracles.md) + +## Pemerintahan + +* [Prinsip](governance/principles.md) +* [Hak Istimewa Admin](governance/admin-privileges.md) +* [Staking OGN](governance/ogn-staking.md) +* [Berkontribusi](governance/contributing.md) +* [Vote Delegation](governance/vote-delegation.md) + +## Kontrak Pintar + +* [Arsitektur](smart-contracts/architecture.md) +* [Registri](smart-contracts/registry.md) +* [API](smart-contracts/api/README.md) + * [Kubah](smart-contracts/api/vault.md) + * [ERC-20](smart-contracts/api/erc-20-1.md) + * [Timelock](smart-contracts/api/timelock.md) + * [Strategies](smart-contracts/api/strategies.md) + +## Keamanan & Risiko + +* [Resiko](security-and-risks/risks.md) +* [Audit](security-and-risks/audits.md) +* [Pertanggungan](security-and-risks/insurance.md) +* [Bug Bounties](security-and-risks/bug-bounties.md) + +## Panduan + +* [Panduan Integrasi Untuk Pertukaran](guides/integration-guide-for-exchanges.md) +* [Incentivized Harvesting Guide](guides/incentivized-harvesting-guide.md) + +## Tautan + +* [Github](https://www.github.com/originprotocol/origin-dollar) +* [Discord](https://www.originprotocol.com/discord) +* [originprotocol.com](https://www.originprotocol.com) diff --git a/id/analytics-dashboard.md b/id/analytics-dashboard.md new file mode 100644 index 000000000..8a1c3e05a --- /dev/null +++ b/id/analytics-dashboard.md @@ -0,0 +1,31 @@ +# Dasbor Analisis + +{% hint style="info" %} +Kunjungi [analytics.ousd.com](https://analytics.ousd.com) untuk melihat bagaimana dana dialokasikan, melihat data kinerja historis, dan melacak keuntungan pribadi Anda. +{% endhint %} + +Dasbor [](https://analytics.ousd.com/apy) terutama ditujukan untuk konsumsi oleh tim teknik kami, tetapi kami melanjutkan dan menerapkannya karena etos kami adalah "publik secara default" dan semua yang kami lakukan adalah [sumber terbuka](http://github.com/OriginProtocol). Sayangnya, hal itu sering kali berarti melakukan kesalahan di sisi transparansi dan belum tentu di sisi meluangkan waktu untuk menjelaskan hal-hal dengan jelas. + +Sebelum masuk ke perhitungan hasil, penting untuk memahami cara kerja OUSD baik dalam hal [generasi hasil](https://docs.ousd.com/core-concepts/yield-generation) dan [rebasing](https://docs.ousd.com/core-concepts/elastic-supply). You can read all about that in these [docs](https://docs.ousd.com), including [the part about smart contracts being excluded from yield](https://docs.ousd.com/core-concepts/elastic-supply/rebasing-and-smart-contracts). + +Untuk meringkas bagaimana APY dihitung, ini adalah tingkat tahunan perubahan dalam akuntansi internal OUSD dari saldo pengguna antara dua titik waktu. To understand that, let's break down the columns in the historical APY table (in reverse order). + +**Perbandingan** + +There are two types of OUSD balances: rebasing (most accounts) and non-rebasing (smart contracts that have not opted in). Kontrak token OUSD mempertahankan akuntansi internal terpisah untuk setiap jenis saldo menggunakan apa yang disebut "kredit". Rasio yang ditunjukkan di sini adalah pasokan rebasing OUSD dibagi dengan kredit rebasing, yang memberi kita nilai tukar di antara keduanya. + +**Kredit** + +Some smart contracts holding OUSD have unique credit balances because their rebasing status has changed at some point in the past (by opting in or out). Di sini kami menunjukkan jumlah semua kredit rebasing dan kredit non-rebasing. Ketika dikalikan dengan rasio, itu memberikan perbedaan antara pasokan backing dan pasokan non-rebasing. + +**Non-rebasing** + +Ini adalah bagian dari pasokan yang disimpan dalam kontrak pintar lain yang belum memilih untuk melakukan rebasing. When added to (credits \* ratio), this equals backing supply. Perhatikan juga bahwa kolom **%** menunjukkan persentase OUSD yang non-rebasing. + +**Dorongan** + +APY secara efektif "didorong" untuk rebasing akun berkat fakta bahwa beberapa OUSD non-rebasing. Pikirkan tentang semua stablecoin yang digunakan sebagai jaminan untuk mencetak OUSD non-rebasing. Stablecoin itu masih menghasilkan melalui strategi pertanian hasil kami, tetapi keuntungan hanya diperoleh ke akun rebasing. Hasilnya adalah APY efektif lebih tinggi daripada tanpa mekanisme ini. Dorongan adalah ukuran dari perbedaan ini. Jika dorongan adalah 100%, maka pemegang OUSD biasa menikmati APY dua kali lipat dari yang seharusnya. + +**Perhitungan APR/APY** + +Bringing this full circle, we currently measure yield by measuring the change in the [rebasing credits per token](https://github.com/OriginProtocol/origin-dollar/blob/master/contracts/contracts/token/OUSD.sol#L45) between two points in time. Tetapi ada beberapa pertimbangan lain yang perlu diperhatikan. Pertama, kami harus membuat asumsi tentang berapa banyak blok Ethereum yang ditambang pada rata-rata hari. Kami menggunakan [ 6.500 yang sudah tetap](https://github.com/OriginProtocol/ousd-analytics/blob/master/eagleproject/core/views.py#L43), tetapi jumlah sebenarnya blok per hari adalah variabel. Kedua, kami membutuhkan cakrawala waktu yang masuk akal untuk mengukur. We focus on 30 days, which has proven to be a relatively consistent window of time during which a complete sample of yield-generating activities has occurred. Ketiga, kami mengubah APR menjadi APY dengan mengasumsikan [pelipatgandaan harian konstan](https://github.com/OriginProtocol/ousd-analytics/blob/master/eagleproject/core/views.py#L449-L451). Dengan kata lain, hasil terus diinvestasikan kembali ke dalam strategi yang sama. Akhirnya, ada satu kelemahan yang perlu dipertimbangkan untuk menggunakan rasio rebase untuk mengukur hasil. Since rebase events currently occur sporadically (and not very frequently in a world of high gas prices), the APY won't reflect earnings that have not yet been translated to account balances. Misalnya, mungkin ada lonjakan suku bunga di Compound atau lonjakan volume dalam strategi Curve 3pool, yang akan menyebabkan OUSD menghasilkan lebih banyak daripada rata-rata hari. Sampai [metode rebase](https://github.com/OriginProtocol/origin-dollar/blob/master/contracts/contracts/vault/VaultCore.sol#L365-L370) dipanggil, APY akan melaporkan pendapatan ini lebih rendah. In fact, anyone who sells OUSD during that time would be missing out on the "[next rebase](https://analytics.ousd.com)". The good news is that you should be able to observe the change in your balance over one week and it (annualized) should approximately equal our advertised APY. diff --git a/id/architecture/erc-20-1.md b/id/architecture/erc-20-1.md new file mode 100644 index 000000000..164f05278 --- /dev/null +++ b/id/architecture/erc-20-1.md @@ -0,0 +1,19 @@ +# ERC-20 + +{% hint style="success" %} +Alamat ERC20 utama untuk Origin Dollar \ (OUSD \) adalah: +**0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +OUSD adalah token yang sesuai dengan ERC-20 dengan satu properti baru yang penting untuk dipahami. + +{% hint style="warning" %} +Dompet dan bursa yang ingin mengintegrasikan OUSD tidak boleh menyimpan saldo token ke dalam cache untuk OUSD karena nilai ini akan sering berubah saat hasil diperoleh ke pemegang token. +{% endhint %} + +Perbedaan terbesar yang memisahkan OUSD dari token ERC-20 rata-rata Anda adalah cara fungsi`balanceOf ()` OUSD akan mengembalikan jumlah variabel berdasarkan nilai total kumpulan dikalikan dengan kepemilikan pemegang di kumpulan. Perbedaan ini penting untuk dipahami, terutama untuk dompet dan bursa yang ingin mengintegrasikan token OUSD. Nilai ini harus diambil secara real-time daripada di-cache karena OUSD sering melakukan rebas. + + + + + diff --git a/id/architecture/erc-20.md b/id/architecture/erc-20.md new file mode 100644 index 000000000..52b467ea6 --- /dev/null +++ b/id/architecture/erc-20.md @@ -0,0 +1,12 @@ +# Ikhtisar + +![](../.gitbook/assets/ousd_docs_graphics_3.png) + +OUSD terdiri dari serangkaian kontrak pintar. Masing-masing kontrak ini dibungkus dalam kontrak proxy yang dapat ditingkatkan melalui protokol tata kelola. + +Secara internal, kepemilikan dalam kumpulan dilacak menggunakan sistem kredit yang mewakili persentase kepemilikan kumpulan untuk setiap pemegang. Kontrak ERC-20 menangani konversi ke persyaratan USD saat melihat saldo atau memulai transfer antar dompet. + +Vault bertanggung jawab untuk mencetak dan membakar OUSD. Ini juga memberlakukan persentase aset yang disebarkan ke masing-masing [Strategi](../core-concepts/supported-strategies/)didukung. Untuk mengoptimalkan biaya gas, vault mempertahankan penyangga untuk memungkinkan sebagian besar simpanan dan penebusan terjadi tanpa membongkar / melepas aset dari strategi. + + + diff --git a/id/architecture/strategies.md b/id/architecture/strategies.md new file mode 100644 index 000000000..a327de877 --- /dev/null +++ b/id/architecture/strategies.md @@ -0,0 +1,14 @@ +# Strategi + +Strategi baru dapat ditambahkan atau dihapus kapan saja untuk menanggapi realitas pasar baru dan mendiversifikasi risiko. + +Saat peluncuran, OUSD akan memanfaatkan satu strategi dan menyebarkan modal yang disimpan ke Compound. Kami bermaksud untuk menerapkan banyak strategi lain segera setelahnya. + +Setelah kami bermigrasi ke tata kelola yang terdesentralisasi, kami bermaksud agar komunitas mengusulkan strategi baru dan memberikan suara pada bobot yang sesuai untuk setiap strategi dalam kelompok. Kami mengantisipasi bahwa sebagian besar pemegang OUSD akan menghargai eksposur ke peluang imbal hasil yang lebih tinggi sambil mempertahankan posisi yang lebih konservatif untuk sebagian dana. + + + + + + + diff --git a/id/architecture/timelock.md b/id/architecture/timelock.md new file mode 100644 index 000000000..99994ea87 --- /dev/null +++ b/id/architecture/timelock.md @@ -0,0 +1,22 @@ +# Timelock + +{% hint style="danger" %} +Timelock akan ditambahkan segera setelah semuanya diverifikasi sebagai berfungsi. Sampai saat itu, kontrak akan diatur oleh 5 dari 8 multi-sig Origin. Hal ini memungkinkan respons yang lebih cepat jika ada masalah kritis yang ditemukan. +{% endhint %} + +Kontrak timelock memberlakukan masa tunggu 48 jam sebelum perubahan apa pun pada kontrak OUSD dapat dilaksanakan. Kunci waktu dapat dipanggil oleh multi-sig kami dan merupakan pemilik kontrak [ERC-20](erc-20.md), [Vault](vault.md) dan [Strategies](strategies.md). Tindakan admin yang menunda waktu memberi pengguna kesempatan untuk keluar dari OUSD jika adminnya menjadi jahat, disusupi, atau membuat perubahan yang tidak disukai pengguna. + +{% hint style="info" %} +Timelock adalah ukuran keamanan yang memberi pemegang OUSD 48 jam untuk menarik dana mereka apabila mereka keberatan dengan usulan peningkatan protokol. +{% endhint %} + +OUSD menggunakan versi [Compound Timelock](https://compound.finance/docs/governance) yang sedikit dimodifikasi yang telah [diaudit oleh OpenZeppelin](https://blog.openzeppelin.com/compound-finance-patch-audit/). 3 perbedaan penting adalah: + +1. OUSD awalnya akan menggunakan periode tunggu yang lebih pendek \ (48 jam \) daripada Compound \ (72 jam \) untuk memungkinkan respons yang lebih cepat jika ditemukan masalah. +2. Setelah 48 jam berlalu, siapa pun bebas untuk melakukan panggilan, tidak hanya pemilik kontrak. +3. Deposit \ (tapi bukan penarikan atau transfer \) dapat langsung dibekukan tanpa memerlukan 48 waktu tunggu. Ini apabila sebuah kerentanan besar ditemukan. + + + + + diff --git a/id/architecture/vault.md b/id/architecture/vault.md new file mode 100644 index 000000000..12d9bb087 --- /dev/null +++ b/id/architecture/vault.md @@ -0,0 +1,17 @@ +# Vault + +Vault adalah inti dari protokol. Vault bertanggung jawab untuk mencetak / menebus token OUSD, menyeimbangkan kembali dana antara berbagai strategi yang didukung, dan melikuidasi token hadiah. + +Fungsi terpenting yang dapat dipanggil secara publik di Vault adalah: + +* `mint ()`memungkinkan satu stablecoin yang didukung untuk diubah menjadi OUSD +* `mintMultiple ()`memungkinkan beberapa stablecoin yang didukung untuk dikonversi ke OUSD dalam satu panggilan +* `redeem ()`memungkinkan sejumlah OUSD ditukarkan dengan stablecoin lain yang didukung. +* `redeemAll ()`memungkinkan pengguna untuk menebus seluruh saldo OUSD mereka untuk stablecoin lain yang didukung. Ini sangat berguna karena saldo pengguna terus bertambah seiring bertambahnya hasil. +* `rebase ()`memperbarui saldo untuk semua pengguna berdasarkan nilai aset yang saat ini disimpan di kumpulan. +* `allocate ()`memindahkan aset di bawah manajemen ke dalam [Stategies](strategies.md) yang ditentukan untuk memaksimalkan hasil dan mendiversifikasi risiko. + +Saat penebusan, adalah protokol dan bukan pengguna yang memutuskan stablecoin \ (s \) mana yang akan dikembalikan ke pengguna. Keputusan tentang coin mana \(s\) yang akan dikembalikan didasarkan pada rasio internal dari aset yang disimpan di pool. + + + diff --git a/id/core-concepts/elastic-supply.md b/id/core-concepts/elastic-supply.md new file mode 100644 index 000000000..85426b92b --- /dev/null +++ b/id/core-concepts/elastic-supply.md @@ -0,0 +1,18 @@ +# Pasokan Elastis + +**Pasokan Elastis. Harga Stabil.** + +OUSD bekerja secara berbeda dari kebanyakan token. Alih-alih kenaikan harga karena nilai aset yang dikelola meningkat \ (seperti pada Compound cTokens atau Yearn yTokens \), nilai satu OUSD tetap konstan sekitar $ 1. Sebaliknya, kontrak secara konstan menyesuaikan pasokan moneter dan secara otomatis memperbarui saldo di dompet setiap pemegang token untuk mencerminkan hasil yang telah diperoleh oleh protokol. + +{% hint style="info" %} +Anggap saja sebagai bunga yang bertambah di rekening bank Anda. Unit akun dan nilai dolar AS tidak berubah. Anda hanya mendapatkan lebih banyak dolar AS dari waktu ke waktu saat Anda memperoleh bunga. +{% endhint %} + +![](../.gitbook/assets/ousd_docs_graphics_4.png) + +Mekanisme ini terinspirasi oleh pendekatan baru yang diambil oleh [Ampleforth](https://www.ampleforth.org/), tetapi ada beberapa perbedaan utama yang perlu diperhatikan: + +1. OUSD 100% didukung oleh stablecoin lain dan tidak akan memiliki tantangan yang sama untuk mempertahankan patokan terhadap dolar. Mengingat kemudahan mencetak dan menebus OUSD, kami dapat mengandalkan arbitrase untuk memastikan pasak dipertahankan. +2. Rebasing OUSD sangat bias terhadap peningkatan pasokan karena jumlah OUSD yang dicetak terkait dengan realisasi keuntungan yang diperoleh dari strategi yang mendasarinya. Pokok Anda dilindungi selama tidak ada yang salah dengan protokol pinjaman / AMM dan stablecoin yang mendasarinya. Penurunan sebesar apa pun dalam saldo Anda akan menjadi indikasi adanya masalah dalam sistem. +3. Tidak seperti Ampleforth, yang melakukan rebases sekali sehari, pasokan moneter OUSD terus diperbarui secara waktu nyata saat hasil dihasilkan. + diff --git a/id/core-concepts/elastic-supply/README.md b/id/core-concepts/elastic-supply/README.md new file mode 100644 index 000000000..5907e36be --- /dev/null +++ b/id/core-concepts/elastic-supply/README.md @@ -0,0 +1,21 @@ +# Pasokan Elastis + +**Pasokan Elastis. Harga Stabil.** + +OUSD bekerja secara berbeda dari kebanyakan token. Instead of the price increasing as the value of the assets under management increase (as with Compound cTokens or Yearn yTokens), the value of one OUSD remains constant at approximately $1. Instead, the contracts constantly adjust the monetary supply and automatically updates the balance in every token holder’s wallet to reflect the yield that has been earned by the protocol. + +{% hint style="info" %} +Anggap saja sebagai bunga yang bertambah di rekening bank Anda. Unit akun dan nilai dolar AS tidak berubah. Anda hanya mendapatkan lebih banyak dolar AS dari waktu ke waktu saat Anda memperoleh bunga. +{% endhint %} + +![](../../.gitbook/assets/ousd\_docs\_graphics\_4.png) + +This mechanism was inspired by the novel approach taken by [Ampleforth](https://www.ampleforth.org), but there are some key differences that are worth highlighting: + +1. OUSD 100% didukung oleh stablecoin lain dan tidak memiliki tantangan yang sama untuk mempertahankan pasak terhadap dolar. Given the ease of minting and redeeming OUSD, we can count on arbitrageurs to ensure the peg is maintained. +2. Rebasing OUSD hanya akan meningkatkan pasokan karena jumlah OUSD yang dicetak terkait dengan keuntungan yang diperoleh dari strategi yang mendasarinya. Pokok Anda dilindungi selama tidak ada yang salah dengan protokol pinjaman / AMM dan stablecoin yang mendasarinya. Saldo OUSD Anda tidak akan pernah berkurang, tetapi nilainya bisa turun jika ada kegagalan pada sistem yang mendasarinya. +3. Unlike Ampleforth, which only rebases once a day, the monetary supply of OUSD is constantly being updated in real-time as yield is generated. Rebase dipicu secara teratur saat pengguna berinteraksi dengan kontrak OUSD. Chainlink Keepers ensure at least one rebase occurs every day. + +**Memicu rebase secara manual** + +Siapa pun dapat memicu rebase kapan saja dengan [memanggil fungsi rebase di vault](https://etherscan.io/address/originvault.eth#writeProxyContract). Anda dapat melakukan ini di Etherscan dengan menghubungkan dompet web3. diff --git a/id/core-concepts/elastic-supply/rebasing-and-smart-contracts.md b/id/core-concepts/elastic-supply/rebasing-and-smart-contracts.md new file mode 100644 index 000000000..d355f84ec --- /dev/null +++ b/id/core-concepts/elastic-supply/rebasing-and-smart-contracts.md @@ -0,0 +1,22 @@ +# Rebasing & Kontrak Cerdas + +Jika Anda menggunakan dompet multi-sig atau kontrak pintar lain yang ingin berpartisipasi dalam aspek rebasing OUSD, Anda harus memanggil fungsi`rebaseOptIn()` OUSD. Ini hanya berlaku untuk kontrak pintar karena dompet EOA standar didaftarkan secara otomatis. + +{% hint style="info" %} +Dompet multi-sig atau kontrak pintar lainnya harus memanggil`rebaseOptIn()`untuk mendapatkan hasil. +{% endhint %} + +Secara default, OUSD yang diadakan pada kontrak pintar tidak akan berpartisipasi dalam sifat rebasing token dan akan kehilangan hasil apa pun kecuali kontrak pintar secara eksplisit ikut serta. Ini meningkatkan komposisi OUSD dalam DeFi karena banyak protokol tidak dirancang dengan harapan bahwa saldo mungkin berubah. Untuk protokol DeFi lainnya, OUSD berfungsi seperti ERC-20 normal lainnya yang berperilaku baik hingga Anda memintanya untuk mengubahnya. This is a particularly useful attribute for automated market makers (AMM’s) like Uniswap which break when the number of tokens they are holding changes unexpectedly. + +![The Gnosis Safe OUSD app will prompt you to opt in to yield](../../.gitbook/assets/ousd-app-in-gnosis-safe.png) + +Smart contracts must explicitly opt-in to receiving yield via the rebasing mechanism. This fixes the issue with the expanding supply on AMM’s while still allowing multi-sig wallets and other smart contracts the opportunity to still participate and earn yield. + +{% hint style="warning" %} +If you are deploying a contract and intend to call`rebaseOptIn()`to earn yield you cannot call it from the contract's constructor. The contract must be deployed before it can be called. +{% endhint %} + +[Gnosis Safe](https://gnosis-safe.io) users are encouraged to use the Origin Dollar app which will prompt you to opt in to receiving yield. If you are using the "Old" [Gnosis Wallet](https://github.com/gnosis/MultiSigWallet) or another contract-based wallet, you will need the [proxy contract address for OUSD](../../smart-contracts/registry.md) and the corresponding [ABI](https://api.etherscan.io/api?module=contract\&action=getabi\&address=0x1ae95dd4eeae7ed03da79856c2d44ffa3318f805). Once you add those, you will be able to call the `rebaseOptIn()` function to opt into receiving yield via rebasing or`rebaseOptOut()` to turn it off again. + + + diff --git a/id/core-concepts/fund-management.md b/id/core-concepts/fund-management.md new file mode 100644 index 000000000..e0820b645 --- /dev/null +++ b/id/core-concepts/fund-management.md @@ -0,0 +1,23 @@ +# Pengelolaan Dana + +The OUSD smart contract aggregates all users' stablecoin deposits into a single pool of assets that are then deployed into earning strategies based on preset allocations. In contrast to Yearn Vaults, TokenSets, or Zapper opportunities, users do not select individual strategies. All deposited stablecoins and consequently all OUSD tokens are fungible. + +The weighting of how assets are distributed between the supported strategies is decided by OGN holders using weekly snapshot voting. These votes happen offchain and do not cost any gas. The results of the weekly poll will then be executed onchain by members of the [Strategist multi-sig](https://etherscan.io/address/0xF14BBdf064E3F67f51cd9BD646aE3716aD938FDC) (known as "Strategists"). + +Ultimately, we believe it should be up to the community to decide what the right balance of risk/reward is appropriate for OUSD. We encourage the community to favor high-yield strategies while still maintaining diversification across multiple strategies to remove single points of failure and minimize risk. + +**How strategy allocation voting works:** + +* New snapshot proposals will open for voting on the [OGN governance portal ](http://vote.originprotocol.com)at midnight Tuesday UTC (7pm eastern Monday). The poll will be open for 48 hours, ending at midnight Thursday UTC (7pm eastern on Wednesday). +* During this time, those interested can discuss allocation changes in a thread in the #governance channel on [Origin's Discord](https://www.originprotocol.com/discord). +* Each proposal will use "weighted voting", with options for each coin/strategy combination and an option to keep the existing allocation unchanged. OGN holders can spread their votes among different listed strategies or the existing allocation. +* After the voting time has ended, Strategists will submit, verify, and execute transactions to change OUSD to the determined allocation percentages for the week. If more than 50% of the weighted votes are cast for the existing allocation, Strategists will take no action. +* Allocations will be executed for strategies that use all stablecoins first (like Convex), then each stablecoin will be allocated to the remaining strategies according to the ratio of votes for that stablecoin / strategy combination. +* If the Strategists deem any of the allocations unsafe to the funds behind OUSD, they may choose to not execute those. In addition, Strategists may decline to execute minor adjustments where the gas costs would be greater than the expected benefits. +* Like all governance proposals, Strategist allocations must meet the minimum quorum requirements (currently 1M OGN) to be considered valid. +* From a security standpoint, it is important to know that while Strategists have the ability to move funds between approved strategies or instantly pause rebasing in the case of an emergency, Strategists do not have the power to add new strategies or withdraw funds without going through the timelock. Community members can use the Strategy Validator tools to more easily [create](https://analytics.ousd.com/strategist/creator) and [decode](https://analytics.ousd.com/strategist) which actions are being performed by the Strategists. +* When voting, please remember it is inefficient to move in and out of the Convex strategy frequently and some funds need to always remain outside of Convex in order to accommodate withdrawals. + + + +**** diff --git a/id/core-concepts/fund-management/README.md b/id/core-concepts/fund-management/README.md new file mode 100644 index 000000000..e5d8d59e2 --- /dev/null +++ b/id/core-concepts/fund-management/README.md @@ -0,0 +1,6 @@ +# Pengelolaan Dana + +Kontrak pintar OUSD menggabungkan semua setoran stablecoin pengguna ke dalam satu kumpulan aset yang dapat diinvestasikan. Dana kemudian dialokasikan di satu atau lebih [strategi penghasilan](earning-strategies.md) pada waktu tertentu. Vault lebih menyukai strategi hasil tinggi tetapi juga berusaha mempertahankan diversifikasi di berbagai strategi. Diversifikasi menghilangkan satu titik kegagalan dan mengurangi risiko. + +Berbeda dengan peluang Yearn Vaults, TokenSets, atau Zapper, pengguna tidak memilih strategi individu. Semua stablecoin yang disimpan dan akibatnya semua token OUSD dapat dipertukarkan. + diff --git a/id/core-concepts/fund-management/diversification.md b/id/core-concepts/fund-management/diversification.md new file mode 100644 index 000000000..119e03179 --- /dev/null +++ b/id/core-concepts/fund-management/diversification.md @@ -0,0 +1,8 @@ +# Diversifikasi + +Versi awal kontrak pintar OUSD Vault memberikan bobot sederhana antara 0% dan 100% untuk setiap strategi yang valid untuk melakukan alokasi aset sederhana. Bobot ini akan sering diubah melalui pembaruan oleh Origin dalam jangka pendek dan oleh tata kelola yang terdesentralisasi dalam jangka panjang. + +Diversifikasi di beberapa platform DeFi [mendasarinya](../supported-strategies/) akan mengurangi kontrak pintar dan risiko sistemik lainnya. Kontrak pintar akan menghitung APY saat ini dan yang diharapkan dalam upaya memberikan pengembalian yang kompetitif kepada pemegang OUSD. Seiring waktu, kontrak Vault akan ditingkatkan untuk secara cerdas dan otonom beralih di antara strategi tanpa intervensi manual apa pun. Misalnya, Vault akan secara otomatis mengalihkan modal di antara berbagai strategi pinjaman untuk mengoptimalkan hasil. + +Namun, masih diharapkan bahwa parameter risiko atau keputusan tertentu tentang apakah strategi tertentu akan dimasukkan dalam mesin pengambilan keputusan otomatis akan dibuat melalui suara tata kelola. + diff --git a/id/core-concepts/fund-management/earning-strategies.md b/id/core-concepts/fund-management/earning-strategies.md new file mode 100644 index 000000000..f940e1056 --- /dev/null +++ b/id/core-concepts/fund-management/earning-strategies.md @@ -0,0 +1,6 @@ +# Strategi Penghasilan + +Strategi penghasilan menempatkan modal yang dikerahkan untuk bekerja di berbagai platform DeFi. Vault akan menentukan strategi mana yang aktif dan berapa persentase dari modal yang diterapkan yang akan mereka terima. + +Selain itu, strategi akan ditingkatkan seiring waktu. Misalnya, saat peluncuran, akan ada [strategi gabungan](../supported-strategies/compound.md). Seiring waktu, ini dapat diganti dengan strategi Compound v2 atau v3. + diff --git a/id/core-concepts/price-oracles.md b/id/core-concepts/price-oracles.md new file mode 100644 index 000000000..04e0e9fa2 --- /dev/null +++ b/id/core-concepts/price-oracles.md @@ -0,0 +1,38 @@ +- - - +description: OUSD uses Chainlink to secure the protocol from pricing attacks +- - - + +# Oracle Harga + +### Stablecoin Pricing + +OUSD is designed to stay pegged at 1 USD and be 1:1 backed with its underlying stablecoins. This is trickier than it sounds because these underlying stablecoins are constantly deviating from their own desired 1 USD pegs. While the majority of daily fluctuations are minor, there have been major swings in price that have occurred in the past and are likely to occur again in the future. + +| Koin | **Low** | **High** | **Delta** | **Source** | +| ---- | ---------------------------------------------------- | ---------------------------------------------------- | ---------- | --------------------------------------------------------------------------- | +| USDC |

$ 0,929222

13 Maret 2020

|

$ 1,11

15 Oktober 2018

| $ 0,180778 | [CoinMarketCap](https://coinmarketcap.com/currencies/usd-coin/) | +| USDC |

$ 0,924188

02 Agu 2020

|

$ 1,17

08 Mei 2019

| $ 0,245812 | [CoinGecko](https://www.coingecko.com/en/coins/usd-coin) | +| DAI |

$ 0,945505

10 Mei 2020

|

$ 1,11

13 Maret 2020

| $ 0,164495 | [CoinMarketCap](https://coinmarketcap.com/currencies/multi-collateral-dai/) | +| DAI |

$ 0,903243

25 November 2019

|

$ 1,22

13 Maret 2020

| $ 0,316757 | [CoinGecko](https://www.coingecko.com/en/coins/dai) | +| USDT |

$ 0,849809

02 Feb 2017

|

$ 1,21

27 Mei 2017

| $ 0,360191 | [CoinGecko](https://www.coingecko.com/en/coins/tether) | +| USDT |

$ 0,572521

02 Maret 2015

|

$ 1,32

24 Juli 2018

| $ 0,747479 | [CoinMarketCap](https://coinmarketcap.com/currencies/tether/) | + +The rebasing function treats 1 stablecoin as 1 OUSD for simplicity and to protect OUSD balances from being affected by the daily fluctuations in the price of the underlying stablecoins. Since the rebase function only counts coins, OUSD balances should only increase. + +In order to mint and redeem the appropriate number of OUSD on entry and exit, the smart contracts need to accurately price the USDT, USDC, and DAI that is entering and exiting the system. + +As an added precaution, OUSD never pays more than a dollar for a stablecoin, nor sells a stablecoin for less than a dollar. Oracles giving wrong prices will not result in a reduction of the number of stablecoins held. Gains that are collected as a result of stablecoins slipping from their peg are redistributed to the remaining holders of OUSD in the form of additional yield. + +As a decentralized protocol, OUSD must rely on non-centralized sources for these prices. OUSD uses Chainlink oracles for pricing data for DAI, USDC and USDT. You can read more about [our decision to work with Chainlink](https://blog.originprotocol.com/how-origin-uses-chainlink-oracles-to-secure-ousd-bff5601e840e) on our blog. Here are the Chainlink oracles we are currently using for stablecoin pricing: + +{% embed url="https://data.chain.link/usdt-usd" %} + +{% embed url="https://data.chain.link/usdc-usd" %} + +{% embed url="https://data.chain.link/dai-usd" %} + +### Reward Token Oracles & Front Running Protection + +When reward tokens from OUSD strategies are sold for additional yield, Chainlink oracles are checked to ensure that the sale price slippage has not exceeded normal bounds. These oracles are listed on our [registry](../smart-contracts/registry.md) page under the "Oracles" tab. + +The same is also true for OGN buybacks from OUSD yield.\ \ When minting and redeeming OUSD, a miniumun required amount can be passed into the contract call to ensure that the entire transaction fails if not enough OUSD or stablecoins would be returned to the user due to changing prices. diff --git a/id/core-concepts/price-oracles/README.md b/id/core-concepts/price-oracles/README.md new file mode 100644 index 000000000..566862651 --- /dev/null +++ b/id/core-concepts/price-oracles/README.md @@ -0,0 +1,126 @@ +# Harga Oracles + +OUSD dirancang untuk tetap dipatok pada 1 USD dan didukung 1: 1 dengan stablecoin yang mendasarinya. Ini lebih rumit daripada kedengarannya karena stablecoin yang mendasari ini terus-menerus menyimpang dari pasak 1 USD yang mereka inginkan. Meskipun sebagian besar fluktuasi harian kecil, ada perubahan besar dalam harga yang telah terjadi di masa lalu dan kemungkinan besar akan terjadi lagi di masa mendatang. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
KoinRendah + Tinggi + Delta + Sumber +
USDC +

$ 0,929222

+

13 Maret 2020

+
+

$ 1,11

+

15 Oktober 2018

+
$ 0,180778CoinMarketCap +
USDC +

$ 0,924188

+

02 Agu 2020

+
+

$ 1,17

+

08 Mei 2019

+
$ 0,245812CoinGecko +
DAI +

$ 0,945505

+

10 Mei 2020

+
+

$ 1,11

+

13 Maret 2020

+
$ 0,164495CoinMarketCap +
DAI +

$ 0,903243

+

25 November 2019

+
+

$ 1,22

+

13 Maret 2020

+
$ 0,316757CoinGecko +
USDT +

$ 0,849809

+

02 Feb 2017

+
+

$ 1,21

+

27 Mei 2017

+
$ 0,360191CoinGecko +
USDT +

$ 0,572521

+

02 Maret 2015

+
+

$ 1,32

+

24 Juli 2018

+
$ 0,747479CoinMarketCap +
+ +Fungsi rebasing memperlakukan 1 stablecoin sebagai 1 OUSD untuk kesederhanaan dan untuk melindungi saldo OUSD agar tidak terpengaruh oleh fluktuasi harian harga stablecoin yang mendasarinya. Karena fungsi rebase hanya menghitung koin, saldo OUSD seharusnya hanya bertambah. + +Untuk membuat dan menebus sejumlah OUSD yang sesuai saat masuk dan keluar, kontrak pintar harus memberi harga yang akurat pada USDT, USDC, dan DAI yang masuk dan keluar dari sistem. Sebagai protokol terdesentralisasi, OUSD harus bergantung pada sumber non-sentralisasi untuk harga ini. + +{% hint style="info" %} +OUSD mengambil harga dari beberapa oracle on-chain dan menggunakan nilai tukar yang paling menguntungkan untuk kumpulan ketika mencetak atau menebus. +{% endhint %} + +Untuk mencegah serangan jahat dan untuk mendorong investor jangka panjang daripada spekulan jangka pendek, kontrak OUSD membandingkan umpan harga dari berbagai sumber dan akan menggunakan nilai tukar mana pun yang menguntungkan seluruh kelompok dibandingkan individu. Mekanisme ini melindungi dana kumpulan dari arbitrase dan mencegah individu mana pun untuk dapat memanfaatkan inefisiensi sementara yang disebabkan oleh oracle yang salah harga untuk menghabiskan kumpulan aset bersama. + +Ini melindungi dana di kumpulan sambil memberi penghargaan kepada pemegang jangka panjang. Karena harga paling aman tergantung pada arah perdagangan, oracle Origin menghadapkan kedua `priceUSDMint ()` dan `priceUSDRedeem ()`. + +OUSD menggunakan Chainlink sebagai oracle untuk DAI, USDC, dan USDT. + +{% embed url = "https://feeds.chain.link/eth-usd" caption = ""%} + +Alamat kontrak pintar khusus untuk setiap oracle yang digunakan tercantum di halaman [registry](../../smart-contracts/registry.md). + +Ada kemungkinan bahwa oracle tambahan akan ditambahkan ke protokol dari waktu ke waktu. Dukungan juga dapat dihapus jika salah satu dari oracle ini menjadi tidak dapat diandalkan. + diff --git a/id/core-concepts/price-oracles/untitled.md b/id/core-concepts/price-oracles/untitled.md new file mode 100644 index 000000000..dc8c20433 --- /dev/null +++ b/id/core-concepts/price-oracles/untitled.md @@ -0,0 +1,25 @@ +# Tanpa Judul + +## Mendapatkan Kekuatan Super + +Menjadi pahlawan super adalah proses yang cukup mudah: + +``` +$ beri aku kekuatan super +``` + +{% hint style="info" %} + Kekuatan super diberikan secara acak jadi silakan ajukan masalah jika Anda tidak puas dengan masalah Anda. +{% endhint %} + +Setelah Anda cukup kuat, selamatkan dunia: + +{% code title="hello.sh" %} +```bash +# Belum ada kode untuk itu, maaf +echo 'Anda harus mempercayai saya dalam hal ini, saya menyelamatkan dunia' +``` +{% endcode %} + + + diff --git a/id/core-concepts/supported-assets/README.md b/id/core-concepts/supported-assets/README.md new file mode 100644 index 000000000..56390ccf6 --- /dev/null +++ b/id/core-concepts/supported-assets/README.md @@ -0,0 +1,20 @@ +# Supported Stablecoins + +**Supported Stablecoins** + +It is important to understand that OUSD is only as strong as the stablecoins that are backing it. Any loss to the underlying assets will cause a similar loss to the value of OUSD. + +Currently, OUSD supports the following stablecoins: + +{% page-ref page="usdt.md" %} + +{% page-ref page="usdc.md" %} + +{% page-ref page="dai.md" %} + +None of these stablecoins are perfect, but we selected them because of their widespread usage. While these stablecoins have lost their USD peg on multiple occasions, they have demonstrated resiliency in eventually getting back to their 1 USD targets. + +It is important to note that all these stablecoins introduce non-trivial counter-party risk. Tether, in particular, has had well-documented banking troubles and regulatory challenges. In addition, both USDT and USDC have backdoors that grant their issuers the power to freeze money in their holder's wallets. While DAI does not have any direct backdoors, it's assets can also be negatively impacted since USDC is accepted as collateral for minting DAI. + +Despite these concerns, there are already billions of dollars betting on the security of these stablecoins. It is possible that additional stablecoins will be added to the protocol over time. Support may also be removed if any of these stablecoins prove to be too unreliable or put OUSD holders funds in jeopardy. + diff --git a/id/core-concepts/supported-assets/dai.md b/id/core-concepts/supported-assets/dai.md new file mode 100644 index 000000000..4be5c3788 --- /dev/null +++ b/id/core-concepts/supported-assets/dai.md @@ -0,0 +1,20 @@ +# DAI + +![](../../.gitbook/assets/dai.png) + +Dai is a fiat-pegged stablecoin launched as a ERC-20 token on the Ethereum blockchain in December 2017. A major upgrade from single-collateral Dai \(SAI\) to multi-collateral Dai \(DAI\) was completed in November 2019. Dai is pegged to the US dollar. + +Dai is minted by users locking up crypto assets such as ETH or USDC as collateral in a collateralized debt position \(CDP\) called a vault. Previously, only ETH was accepted as collateral. The reserves and status of each vault can be viewed on the blockchain in real-time. The health of these vaults and the Dai stablecoin are closely monitored. + +Dai is the world's third-largest stablecoin with over $400 million in circulation. In addition, cDAI and aDAI, synthetic versions of Dai on the lending platforms Compound and Aave, combine for over $600 million in circulation. + +| Key Facts | | +|:------------- |:------------------------------------------------------------------------------------------------------------------- | +| Issued by | MakerDAO | +| Name | Dai | +| Symbol | DAI | +| Address | [0x6b175474e89094c44da98b954eedeac495271d0f](https://etherscan.io/token/0x6b175474e89094c44da98b954eedeac495271d0f) | +| Decimals | 18 | +| Official site | [https://makerdao.com/](https://makerdao.com/) | +| Holders | Over 140k addresses | + diff --git a/id/core-concepts/supported-assets/usdc.md b/id/core-concepts/supported-assets/usdc.md new file mode 100644 index 000000000..2647d7c83 --- /dev/null +++ b/id/core-concepts/supported-assets/usdc.md @@ -0,0 +1,22 @@ +# USDC + +![](../../.gitbook/assets/usdc-coin-bd351fb779%20%281%29.png) + +USD Coin \(USDC\) is a fiat-pegged stablecoin launched as a ERC-20 token on the Ethereum blockchain in October 2018. USDC is pegged to the US dollar and can easily be redeemed for US dollars. + +Each USDC is backed by a 1:1 ratio with the equivalent amount of fiat currency held in custodial accounts by members of Centre, a consortium founded by Circle and Coinbase. Members of Centre are regulated financial institutions based in the US. Monthly audits of reserves are published by Grant Thornton LLP. + +USDC is the world's second-largest stablecoin after USDT and has quickly grown to over $1 billion in circulation. However, USDC remains far behind USDT's $12+ billion in circulation. + +| Key Facts | | +|:------------- |:------------------------------------------------------------------------------------------------------------------- | +| Issued by | Centre | +| Name | USD Coin | +| Symbol | USDC | +| Address | [0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48](https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48) | +| Decimals | 6 | +| Official site | [https://www.centre.io/usdc](https://www.centre.io/usdc) | +| Holders | Over 200k addresses | + + + diff --git a/id/core-concepts/supported-assets/usdt.md b/id/core-concepts/supported-assets/usdt.md new file mode 100644 index 000000000..4ae2afe89 --- /dev/null +++ b/id/core-concepts/supported-assets/usdt.md @@ -0,0 +1,22 @@ +# USDT + +![](../../.gitbook/assets/image%20%281%29.png) + +Tether \(USDT\) is a fiat-pegged stablecoin that was initially built on top of Bitcoin via the Omni Layer Protocol. In September 2017, Tether announced they would be launching additional ERC-20 tokens for United States dollars on the Ethereum blockchain. + +Each Tether issued into circulation is said to be backed by a one-to-one ratio with the equivalent amount of fiat currency held in a custodial account by Tether Limited, a Hong Kong-based company with close ties to the cryptocurrency exchange, Bitfinex. + +Despite the controversy ****around ****the company's failure to provide a promised audit showing adequate reserves backing tether, USDT is still the world's largest stablecoin by market cap and currently the fourth-largest cryptocurrency after BTC, ETH and XRP. + +| Key Facts | | +|:------------- |:---------------------------------------------------------------------------------------------------------------- | +| Issued by | Tether Limited | +| Name | Tether | +| Symbol | USDT | +| Address | [0xdac17f958d2ee523a2206206994597c13d831](https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7) | +| Decimals | 6 | +| Official site | [https://tether.to/ ](https://tether.to/%20) | +| Holders | Over 1.8M addresses | + + + diff --git a/id/core-concepts/supported-defi-platforms/README.md b/id/core-concepts/supported-defi-platforms/README.md new file mode 100644 index 000000000..26f3fce06 --- /dev/null +++ b/id/core-concepts/supported-defi-platforms/README.md @@ -0,0 +1,30 @@ +# Platform DeFi yang Didukung + +**Platform yang Didukung** + +OUSD menghasilkan imbal hasil dengan menyetorkan stablecoin ke dalam platform pinjaman dan kolam likuiditas pembuat pasar. Penting untuk dipahami bahwa platform ini memang membawa risiko teknologi dan dana bisa hilang jika ada peristiwa keamanan besar. Kami memilih untuk bekerja dengan platform yang kontrak cerdasnya telah diaudit dan yang kami rasa paling aman. + +Saat ini, kami berencana untuk mendapatkan hasil dari platform berikut: + +{% page-ref page="compound.md" %} + +Integrasi saat ini direncanakan untuk platform berikut: + +{% page-ref page="aave.md" %} + +{% page-ref page="dydx.md" %} + +{% page-ref page="uniswap.md" %} + +{% page-ref page="curve.md" %} + +{% page-ref page="balancer.md" %} + +{% page-ref page="yearn.finance.md" %} + +Meskipun DeFi telah berkembang sangat cepat dan sekarang ada nilai miliaran dolar yang disimpan di platform ini, beberapa dari proyek ini masih dalam versi beta dan sangat eksperimental. Mungkin ada kerentanan tersembunyi dalam kontrak pintar yang memberdayakan platform ini, dan ada kerugian jutaan dolar yang disebabkan oleh kerentanan dalam aplikasi Ethereum di masa lalu. + +Kami memantau dengan cermat peristiwa keamanan pada platform yang kami dukung dan akan segera bergerak untuk mengamankan dana pemegang OUSD jika kami mengidentifikasi ancaman apa pun. + + + diff --git a/id/core-concepts/supported-defi-platforms/aave.md b/id/core-concepts/supported-defi-platforms/aave.md new file mode 100644 index 000000000..c4af4c64f --- /dev/null +++ b/id/core-concepts/supported-defi-platforms/aave.md @@ -0,0 +1,25 @@ +# Aave + +{% hint style="info" %} +Akan segera hadir. Aave belum terintegrasi. +{% endhint %} + +Aave adalah protokol dan platform peminjaman yang dibangun di atas Ethereum dan diluncurkan pada Januari 2020 oleh para pencipta ETHLend. Pengguna di Aave bisa mendapatkan bunga majemuk atau meminjam aset dengan jaminan. Setiap aset yang didukung digabungkan dalam kumpulan likuiditasnya sendiri dan pengguna dapat memilih antara suku bunga variabel berdasarkan penawaran dan permintaan atau suku bunga tetap. + +Saldo jaminan diwakili oleh ERC-20 aTokens dengan rasio 1: 1 terhadap aset dasar yang mereka wakili. Bunga digabungkan secara otomatis dan dibayarkan kepada pemberi pinjaman dengan aTokens, yang berarti pemberi pinjaman akan terus melihat saldo aToken mereka meningkat dari waktu ke waktu. Pengguna dapat meminjam aset terhadap aTokens mereka. aTokens dapat ditransfer secara bebas dan dapat digunakan pada banyak protokol DeFi lainnya. aTokens dapat ditukar dengan jaminan yang mendasarinya kapan saja. + +Aave mendukung pinjaman kilat, yaitu pinjaman tanpa jaminan di mana pengguna meminjam dan membayar kembali saldo pinjaman dalam satu transaksi, artinya pengguna pinjaman kilat tidak perlu menyiapkan modal awal. Pinjaman flash adalah produk kompleks yang ditujukan untuk pengembang dan dapat digunakan untuk arbitrase di beberapa protokol DeFi. + +Aave saat ini diatur oleh LEND, token ERC-20 yang sebelumnya merupakan token utilitas untuk ETHLend. Aave telah mengumumkan transisi ke tata kelola yang sepenuhnya terdesentralisasi yang mencakup pertukaran token di mana pengguna menukar LEND dengan AAVE, token tata kelola ERC-20 baru dengan imbalan taruhan. Beberapa AAVE akan didistribusikan ke pengguna platform dalam kampanye penambangan likuiditas. + +Nilai total Aave terkunci \ (TVL \) telah dengan cepat tumbuh menjadi lebih dari $ 1,2 miliar, menjadikannya salah satu protokol DeFi terbesar. LEND memiliki kapitalisasi pasar yang beredar lebih dari $ 700 juta. + +Aave telah menjalani audit keamanan oleh OpenZeppelin, Trail of Bits, dan Consensys Diligence. Aave memelihara program bug bounty. + +| Sumber | | +|:------------------ |:------------------------------------------------------------------------------ | +| Situs resmi | [https://aave.com/](https://aave.com/) | +| Dokumen pengembang | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/aave/aave-protocol](https://github.com/aave/aave-protocol) | +| Discord | [https://discordapp.com/invite/AnSqnvV](https://discordapp.com/invite/AnSqnvV) | + diff --git a/id/core-concepts/supported-defi-platforms/balancer.md b/id/core-concepts/supported-defi-platforms/balancer.md new file mode 100644 index 000000000..09b1d7695 --- /dev/null +++ b/id/core-concepts/supported-defi-platforms/balancer.md @@ -0,0 +1,27 @@ +# Balancer + +{% hint style="info" %} +Akan segera hadir. Balancer belum diintegrasikan. +{% endhint %} + +Balancer adalah protokol dan pertukaran likuiditas terdesentralisasi di Ethereum, diluncurkan pada Maret 2020. Pengguna dapat menukar token ERC-20 dengan biaya tertentu atau menyumbangkan token ke kolam likuiditas untuk mendapatkan bayaran. + +Balancer adalah Automated Market Maker \ (AMM \) yang memungkinkan kumpulan likuiditas hingga 8 aset berbeda dengan bobot khusus. Kolam likuiditas di Balancer dapat dianggap serupa dengan Exchange Traded Funds \ (ETFs \) atau portofolio dengan target bobot untuk aset-aset tertentu. Apabila perdagangan menyebabkan kumpulan tersebut bergeser dari distribusi bobot targetnya, nilai tukar antar aset dalam kelompok tersebut berubah. Arbitrase dapat mengeksekusi pertukaran untuk memanfaatkan ini dan bertindak untuk menyeimbangkan kembali kumpulan ke distribusi bobot targetnya. Likuiditas juga dapat dibagikan di seluruh kumpulan, tidak seperti AMM lainnya. + +Balancer mendukung kumpulan pribadi, di mana hanya pemilik kumpulan yang dapat menyumbangkan likuiditas, kumpulan bersama, yang sepenuhnya bersifat publik, dan kumpulan cerdas, yang merupakan kumpulan bersama yang dikendalikan oleh kontrak cerdas yang dapat menerapkan aturan dan logika otomatis. Penyedia likuiditas diberi Balancer Pool Token \ (BPTs \) yang mewakili bagian mereka dari kumpulan dan biaya-biaya. Token ini dapat dipindahtangankan secara bebas dan dapat ditukarkan dengan aset yang disediakan dan biaya yang diperoleh. + +Penerbit token yang berusaha meningkatkan likuiditas token mereka telah menawarkan insentif kepada penyedia likuiditas dalam kampanye penambangan likuiditas. Penerbit token baru juga telah meluncurkan token mereka di kolam Balancer. + +Balancer diatur oleh BAL, token tata kelola ERC-20. Pemegang BAL dapat memberikan suara pada perubahan protokol. BAL terus diberikan kepada penyedia likuiditas dan sebagian besar dari total pasokan BAL dialokasikan ke tim dan investor dengan jadwal pemberian yang berkelanjutan. + +Volume perdagangan di Balancer seringkali melebihi $ 25 juta setiap hari. Balancer memiliki Total Value Locked \ (TVL \) lebih dari $ 250 juta oleh penyedia likuiditas pada saat penulisan. + +Balancer telah menjalani audit keamanan oleh Trail of Bits dan memiliki program bug bounty. Namun, Balancer telah mengalami eksploitasi besar pada Juni 2020. + +| Sumber | | +|:------------------ |:-------------------------------------------------------------------- | +| Situs resmi | [https://balancer.finance/](https://balancer.finance/) | +| Dokumen pengembang | [https://docs.balancer.finance/](https://docs.balancer.finance/) | +| GitHub | [https://github.com/balancer-labs](https://github.com/balancer-labs) | +| Discord | [https://discord.gg/ARJWaeF](https://discord.gg/ARJWaeF) | + diff --git a/id/core-concepts/supported-defi-platforms/compound.md b/id/core-concepts/supported-defi-platforms/compound.md new file mode 100644 index 000000000..ba74bf72a --- /dev/null +++ b/id/core-concepts/supported-defi-platforms/compound.md @@ -0,0 +1,19 @@ +# Compound + +Compound adalah protokol dan platform peminjaman yang dibangun di atas Ethereum dan diluncurkan pada September 2018. Pengguna di Aave bisa mendapatkan bunga majemuk atau meminjam aset dengan jaminan. Setiap aset yang didukung digabungkan dalam kumpulan likuiditasnya sendiri dan suku bunga disesuaikan secara otomatis berdasarkan penawaran dan permintaan. + +Saldo agunan diwakili oleh ERC-20 cTokens, yang secara otomatis menghasilkan bunga dan peningkatan nilai dari waktu ke waktu relatif terhadap aset pokok yang mereka wakili. Pengguna dapat meminjam aset terhadap aTokens mereka. cTokens dapat ditransfer secara bebas dan dapat digunakan pada banyak protokol DeFi lainnya. aTokens dapat ditukar dengan jaminan yang mendasarinya kapan saja. + +Compound diatur oleh COMP, token tata kelola ERC-20. Pemegang COMP dapat mengusulkan dan memberikan suara pada perubahan protokol atau mendelegasikan suara mereka kepada orang lain. Token COMP diberikan secara pro rata kepada pengguna protokol setiap hari, dibagi rata antara peminjam dan pemberi pinjaman. Sebagian besar pasokan token COMP disimpan oleh tim Compound, investor, dan penasihat. + +Nilai total Compound yang dikunci \ (TVL \) dengan cepat berkembang menjadi hampir $ 800 juta, menjadikannya salah satu protokol DeFi terbesar. COMP memiliki kapitalisasi pasar yang beredar lebih dari $ 500 juta. + +Compound telah menjalani beberapa audit keamanan oleh OpenZeppelin dan Trail of Bits. Protokol Compound secara resmi diverifikasi oleh CertiK dan telah menjalani uji tekanan ekonomi oleh Gauntlet. Compound memelihara program bug bounty. + +| Sumber | | +|:------------------ |:-------------------------------------------------------------------------------------------------------------- | +| Situs resmi | [https://compound.finance/](https://compound.finance/) | +| Dokumen pengembang | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/compound-finance/compound-protocol](https://github.com/compound-finance/compound-protocol) | +| Discord | [https://discord.com/invite/cU7vmVW](https://discord.com/invite/cU7vmVW) | + diff --git a/id/core-concepts/supported-defi-platforms/curve.md b/id/core-concepts/supported-defi-platforms/curve.md new file mode 100644 index 000000000..bb3e19a53 --- /dev/null +++ b/id/core-concepts/supported-defi-platforms/curve.md @@ -0,0 +1,25 @@ +# Curve + +{% hint style="info" %} +Akan segera hadir. Curve belum terintegrasi. +{% endhint %} + +Curve adalah protokol likuiditas terdesentralisasi dan bursa di Ethereum untuk stablecoin dan wrapped BTC, diluncurkan pada Januari 2020. Pengguna dapat bertukar antara stablecoin ERC-20 yang populer atau antara representasi bitcoin ERC-20. Penyedia likuiditas memfasilitasi perdagangan dan mendapatkan biaya. + +Curve adalah Automated Market Maker \ (AMM \) di mana setiap pasar memiliki kumpulan likuiditas terkait dengan dua aset atau lebih yang seharusnya memiliki nilai yang sama, seperti USDT, USDC, DAI dan TUSD, yang semuanya merupakan stablecoin yang dipatok dalam dolar AS. Nilai tukar antara setiap stablecoin dan bobot relatifnya ditentukan oleh algoritme berdasarkan penawaran dan permintaan. Arbitrase bertindak untuk menormalkan nilai tukar ini. + +Beberapa kolam likuiditas Curve mendapatkan biaya tambahan untuk penyedia likuiditas selain biaya pertukaran dari para pedagang. Curve menawarkan kumpulan stablecoin yang terintegrasi dengan Compound, yearn.finance, dan Synthetix. Aset di setiap kumpulan likuiditas disediakan untuk platform tersebut untuk menghasilkan hasil tambahan yang diteruskan ke penyedia likuiditas masing-masing kumpulan. Token Penyedia Likuiditas \ (LP \) diberikan kepada peserta kumpulan dan dapat ditukar dengan likuiditas awal mereka yang disediakan ditambah biaya dan hasil yang masih harus dibayar. Token LP juga dapat ditransfer untuk digunakan dalam protokol lain. + +Curve diatur oleh CRV, token tata kelola ERC-20. Pemegang CRV dapat memberikan suara pada perubahan protokol. Pemegang CRV dapat mempertaruhkan token mereka untuk kekuatan voting tambahan yang sebanding dengan waktu yang dipertaruhkan. CRV terus diberikan kepada penyedia likuiditas dan sebagian besar dari total pasokan CRV dialokasikan ke tim dan investor dengan jadwal pemberian yang berkelanjutan. + +Volume perdagangan di Curve seringkali melebihi $ 50 juta setiap hari. Curve memiliki Total Value Locked \ (TVL \) lebih dari $ 1 miliar oleh penyedia likuiditas pada saat penulisan. + +Curve telah menjalani dua audit oleh Trail of Bits dan menjalankan program bug bounty. + +| Sumber | | +|:------------------ |:------------------------------------------------------------------------ | +| Situs resmi | [https://uniswap.org/](https://uniswap.org/) | +| Dokumen pengembang | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/id/core-concepts/supported-defi-platforms/dydx.md b/id/core-concepts/supported-defi-platforms/dydx.md new file mode 100644 index 000000000..7492cd449 --- /dev/null +++ b/id/core-concepts/supported-defi-platforms/dydx.md @@ -0,0 +1,27 @@ +# dYdX + +{% hint style="info" %} +Akan segera hadir. DyDx belum terintegrasi. +{% endhint %} + +dYdX adalah protokol dan platform perdagangan dan peminjaman yang dibangun di atas Ethereum dan diluncurkan pada Mei 2019. Pengguna dapat memperdagangkan aset di bursa non-kustodian dYdX, perdagangan desentralisasi, atau berpartisipasi dalam meminjam dan meminjamkan. Protokol peminjaman memungkinkan perdagangan margin dan berjangka. Suku bunga disesuaikan berdasarkan penawaran dan permintaan dan hanya pinjaman jangka pendek yang ditawarkan. + +Likuiditas untuk aset yang tersedia untuk meminjam dan dipinjamkan disatukan berdasarkan jenis aset. Bunga yang dibayarkan kepada pemberi pinjaman diakru secara otomatis dan peminjam harus memberikan jaminan untuk mengambil pinjaman. + +dYdX juga mendukung pinjaman cepat, yaitu pinjaman tanpa jaminan di mana pengguna meminjam dan membayar kembali saldo pinjaman dalam satu transaksi, yang berarti pengguna pinjaman kilat tidak perlu menyiapkan modal awal. Pinjaman cepat adalah produk kompleks yang ditujukan untuk pengembang dan dapat digunakan untuk arbitrase di beberapa protokol DeFi. + +dYdX memiliki total nilai sekitar $ 40 juta yang dikunci \ (TVL \) pada saat penulisan ini. dYdX tidak memiliki token asli. + +dYdX telah menjalani audit keamanan oleh OpenZeppelin dan Bramah Systems. + +| Sumber | | +|:------------------ |:-------------------------------------------------------------------- | +| Situs resmi | [https://dydx.exchange/](https://dydx.exchange/) | +| Dokumen pengembang | [https://docs.dydx.exchange/](https://docs.dydx.exchange/) | +| GitHub | [https://github.com/dydxprotocol/](https://github.com/dydxprotocol/) | +| Discord | [https://discord.gg/yah42Rb](https://discord.gg/yah42Rb) | + + + + + diff --git a/id/core-concepts/supported-defi-platforms/uniswap.md b/id/core-concepts/supported-defi-platforms/uniswap.md new file mode 100644 index 000000000..3b458ffb1 --- /dev/null +++ b/id/core-concepts/supported-defi-platforms/uniswap.md @@ -0,0 +1,27 @@ +# Uniswap + +{% hint style="info" %} +Akan segera hadir. Uniswap belum terintegrasi. +{% endhint %} + +Uniswap adalah protokol dan bursa likuiditas terdesentralisasi di Ethereum, diluncurkan pada November 2018. Uniswap v2 diluncurkan pada Mei 2020. Pengguna dapat menukar token ERC-20 dengan biaya tertentu atau menyumbangkan token ke kumpulan likuiditas untuk mendapatkan bayaran. + +Pasar di Uniswap beroperasi sebagai kumpulan likuiditas daripada buku pesanan. Jenis bursa ini disebut Automated Market Maker \ (AMM \). Nilai tukar antara dua aset ditentukan oleh formula produk konstan dan bergerak di sepanjang kurva harga bergantung pada bobot relatif dari setiap aset dalam kumpulan. Hal ini mendorong arbitrase untuk memasuki kumpulan likuiditas untuk menyeimbangkan kembali bobot relatif dan menormalkan nilai tukar. + +Pedagang dapat tergelincir jika tidak ada cukup likuiditas di kumpulan tertentu dan mungkin tidak dilindungi dari nilai tukar yang tidak menguntungkan. Penyedia likuiditas dapat mengalami kerugian tidak permanen ketika nilai tukar kumpulan tidak sesuai dengan realitas pasar dan arbitrase melakukan perdagangan di sepanjang kurva harga. + +Peserta kumpulan diberi token Penyedia Likuiditas Uniswap \ (LP \) yang sesuai dengan bagian likuiditas mereka yang disediakan di kumpulan tertentu. Token LP ini dapat ditransfer secara bebas. Peserta dapat keluar dari kumpulan kapan saja dengan menukarkan token ini dengan aset yang diberikan dan biaya yang dikenakan. + +Penerbit token yang berusaha meningkatkan likuiditas token mereka telah menawarkan insentif kepada penyedia likuiditas dalam kampanye penambangan likuiditas. Penerbit token baru juga telah meluncurkan token mereka di kumpulan Uniswap. + +Volume perdagangan di Uniswap sekarang melebihi dari banyak bursa tradisional dan secara teratur melampaui $ 200 juta setiap hari. Uniswap memiliki lebih dari $ 170 juta dalam Total Value Locked \ (TVL \) oleh penyedia likuiditas. Uniswap tidak memiliki platform asli atau token tata kelola. + +Kontrak pintar Uniswap telah diaudit dan diverifikasi secara resmi oleh dapp.org. Aave memelihara program bug bounty. + +| Sumber | | +|:------------------ |:------------------------------------------------------------------------ | +| Situs resmi | [https://uniswap.org/](https://uniswap.org/) | +| Dokumen pengembang | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/id/core-concepts/supported-defi-platforms/yearn.finance.md b/id/core-concepts/supported-defi-platforms/yearn.finance.md new file mode 100644 index 000000000..d75b2bd77 --- /dev/null +++ b/id/core-concepts/supported-defi-platforms/yearn.finance.md @@ -0,0 +1,25 @@ +# Yearn.finance + +{% hint style="info" %} +Akan segera hadir. Yearn.finance belum terintegrasi. +{% endhint %} + +Yearn.finance, sebelumnya iEarn.finance, adalah platform agregasi hasil yang dibangun di atas Ethereum dan diluncurkan pada Januari 2020 oleh Andre Cronje. Yearn mengelola pertanian hasil dan strategi penyeimbangan kembali menggunakan kombinasi otomatisasi dan pengambilan keputusan manusia atas nama pengguna yang telah menyetor modal. + +Yearn memiliki dua produk agregasi hasil, Earn dan Vaults. Earn memungkinkan pengguna untuk menyetor stablecoin atau wrapped BTC ke dalam kumpulan likuiditas di Curve untuk mendapatkan biaya dan imbalan token tata kelola. Aset-aset ini juga dipinjamkan pada platform yang menawarkan hasil tinggi dan hadiah token, menambah hasil yang diperoleh. + +Vaults menawarkan pengalaman yang lebih otomatis dan terkelola. Pengguna menyimpan aset seperti LINK, token penyedia likuiditas Curve, atau stablecoin, dan Vault mengumpulkan aset-aset ini bersama-sama dan meluncurkan strategi pertanian dengan pendapatan tertinggi yang dianggap aman oleh komunitas dan Andre Cronje. Token tata kelola yang diperoleh sebagai hadiah dijual untuk aset asli yang disimpan dan digabungkan dengan biaya lain dan secara otomatis dimasukkan ke dalam Vault untuk menghasilkan hasil gabungan. Strategi dapat sering diubah dan mengumpulkan aset akan menghemat biaya gas bagi pengguna. + +Yearn diatur oleh YFI, token tata kelola ERC-20. Pemegang YFI dapat memberikan suara pada perubahan protokol setelah setuju untuk mengunci YFI mereka selama 3 hari. YFI juga dapat dipertaruhkan untuk mendapatkan hasil di portal tata kelola. Hasil ini berasal dari biaya yang dibebankan kepada pengguna pada produk Yearn. YFI didistribusikan sepenuhnya kepada penyedia likuiditas di Curve dan Balancer. Tidak ada alokasi untuk anggota tim atau investor. + +Nilai total Yearn yang dikunci \ (TVL \) dengan cepat berkembang menjadi lebih dari $ 800 juta, menjadikannya salah satu platform DeFi terbesar. YFI memiliki kapitalisasi pasar yang beredar lebih dari $ 400 juta. + +Yearn telah menjalani beberapa audit keamanan dan kontrak pintar oleh CertiK, Quantstamp, HackMD, dan CryptoManiacs. Yearn memiliki reputasi untuk meluncurkan produk eksperimental dengan sangat cepat dan memperingatkan pengguna bahwa produk mereka dalam versi beta. + +| Sumber | | +|:------------------ |:-------------------------------------------------------------------- | +| Situs resmi | [https://yearn.finance/](https://yearn.finance/) | +| Dokumen pengembang | [https://docs.yearn.finance/](https://docs.yearn.finance/) | +| GitHub | [https://github.com/iearn-finance](https://github.com/iearn-finance) | +| Discord | [https://discord.gg/uTmHe8r](https://discord.gg/uTmHe8r) | + diff --git a/id/core-concepts/supported-platforms/README.md b/id/core-concepts/supported-platforms/README.md new file mode 100644 index 000000000..e736d8d04 --- /dev/null +++ b/id/core-concepts/supported-platforms/README.md @@ -0,0 +1,32 @@ +# Platform yang Didukung + +**Platform yang Didukung** + +OUSD menghasilkan imbal hasil dengan menyetorkan stablecoin ke dalam platform pinjaman dan kumpulan likuiditas pembuat pasar. Perlu dipahami bahwa platform ini memang membawa risiko teknologi dan dana bisa hilang jika ada peristiwa keamanan besar. Kami memilih untuk bekerja dengan platform yang kontrak cerdasnya telah diaudit dan yang kami rasa paling aman. + +Saat ini, kami berencana untuk mendapatkan hasil dari platform berikut: + +{% page-ref page="compound.md" %} + +Integrasi saat ini direncanakan untuk platform berikut: + +{% page-ref page="yearn.finance.md" %} + +{% page-ref page="compound.md" %} + +{% page-ref page="aave.md" %} + +{% page-ref page="dydx.md" %} + +{% page-ref page="uniswap.md" %} + +{% page-ref page="curve.md" %} + +{% page-ref page="balancer.md" %} + +Meskipun DeFi telah berkembang sangat cepat dan sekarang ada nilai miliaran dolar yang disimpan di platform ini, beberapa dari proyek ini masih dalam versi beta dan sangat eksperimental. Mungkin ada kerentanan tersembunyi dalam kontrak pintar yang memberdayakan platform ini, dan ada kerugian jutaan dolar yang disebabkan oleh kerentanan dalam aplikasi Ethereum di masa lalu. + +Kami memantau dengan cermat peristiwa keamanan pada platform yang kami dukung dan akan segera bergerak untuk mengamankan dana pemegang OUSD jika kami mengidentifikasi ancaman apa pun. + + + diff --git a/id/core-concepts/supported-platforms/aave.md b/id/core-concepts/supported-platforms/aave.md new file mode 100644 index 000000000..23dac9bbb --- /dev/null +++ b/id/core-concepts/supported-platforms/aave.md @@ -0,0 +1,25 @@ +# Aave + +{% hint style="info" %} +Akan segera hadir. Aave belum terintegrasi. +{% endhint %} + +Aave adalah protokol dan platform peminjaman yang dibangun di atas Ethereum dan diluncurkan pada Januari 2020 oleh para pencipta ETHLend. Pengguna di Aave bisa mendapatkan bunga majemuk atau meminjam aset dengan jaminan. Setiap aset yang didukung digabungkan dalam kumpulan likuiditasnya sendiri dan pengguna dapat memilih antara suku bunga variabel berdasarkan penawaran dan permintaan atau suku bunga tetap. + +Saldo jaminan diwakili oleh ERC-20 aTokens dengan rasio 1: 1 terhadap aset dasar yang mereka wakili. Bunga digabungkan secara otomatis dan dibayarkan kepada pemberi pinjaman dengan aTokens, yang berarti pemberi pinjaman akan terus melihat saldo aToken mereka meningkat dari waktu ke waktu. Pengguna dapat meminjam aset terhadap aTokens mereka. aTokens dapat ditransfer secara bebas dan dapat digunakan pada banyak protokol DeFi lainnya. aTokens dapat ditukar dengan jaminan yang mendasarinya kapan saja. + +Aave mendukung pinjaman kilat, yaitu pinjaman tanpa jaminan di mana pengguna meminjam dan membayar kembali saldo pinjaman dalam satu transaksi, artinya pengguna pinjaman kilat tidak perlu menyiapkan modal awal. Pinjaman cepat adalah produk kompleks yang ditujukan untuk pengembang dan dapat digunakan untuk arbitrase di beberapa protokol DeFi. + +Aave saat ini diatur oleh LEND, token ERC-20 yang sebelumnya merupakan token utilitas untuk ETHLend. Aave telah mengumumkan transisi ke tata kelola yang sepenuhnya terdesentralisasi yang mencakup pertukaran token di mana pengguna menukar LEND dengan AAVE, token tata kelola ERC-20 baru dengan imbalan taruhan. Beberapa AAVE akan didistribusikan ke pengguna platform dalam kampanye penambangan likuiditas. + +Nilai total Aave terkunci \ (TVL \) telah dengan cepat tumbuh menjadi lebih dari $ 1,2 miliar, menjadikannya salah satu protokol DeFi terbesar. LEND memiliki kapitalisasi pasar yang beredar lebih dari $ 700 juta. + +Aave telah menjalani audit keamanan oleh OpenZeppelin, Trail of Bits, dan Consensys Diligence. Aave memelihara program bug bounty. + +| Sumber | | +|:------------------ |:------------------------------------------------------------------------------ | +| Situs resmi | [https://aave.com/](https://aave.com/) | +| Dokumen pengembang | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/aave/aave-protocol](https://github.com/aave/aave-protocol) | +| Discord | [https://discordapp.com/invite/AnSqnvV](https://discordapp.com/invite/AnSqnvV) | + diff --git a/id/core-concepts/supported-platforms/balancer.md b/id/core-concepts/supported-platforms/balancer.md new file mode 100644 index 000000000..2868bfba4 --- /dev/null +++ b/id/core-concepts/supported-platforms/balancer.md @@ -0,0 +1,27 @@ +# Balancer + +{% hint style="info" %} +Akan segera hadir. Balancer belum diintegrasikan. +{% endhint %} + +Balancer adalah protokol dan pertukaran likuiditas terdesentralisasi di Ethereum, diluncurkan pada Maret 2020. Pengguna dapat menukar token ERC-20 dengan biaya tertentu atau menyumbangkan token ke kumpulan likuiditas untuk mendapatkan bayaran. + +Balancer adalah Automated Market Maker \ (AMM \) yang memungkinkan kumpulan likuiditas hingga 8 aset berbeda dengan bobot khusus. Kolam likuiditas di Balancer dapat dianggap serupa dengan Exchange Traded Funds \ (ETFs \) atau portofolio dengan target bobot untuk aset-aset tertentu. Apabila perdagangan menyebabkan kumpulan tersebut bergeser dari distribusi bobot targetnya, nilai tukar antar aset dalam kelompok tersebut berubah. Arbitrase dapat mengeksekusi pertukaran untuk memanfaatkan ini dan bertindak untuk menyeimbangkan kembali kumpulan ke distribusi bobot targetnya. Likuiditas juga dapat dibagikan di seluruh kumpulan, tidak seperti AMM lainnya. + +Balancer mendukung kumpulan pribadi, di mana hanya pemilik kumpulan yang dapat menyumbangkan likuiditas, kumpulan bersama, yang sepenuhnya bersifat publik, dan kumpulan cerdas, yang merupakan kumpulan bersama yang dikendalikan oleh kontrak cerdas yang dapat menerapkan aturan dan logika otomatis. Penyedia likuiditas diberi Balancer Pool Token \ (BPTs \) yang mewakili bagian mereka dari kumpulan dan biaya-biaya. Token ini dapat dipindahtangankan secara bebas dan dapat ditukarkan dengan aset yang disediakan dan biaya yang diperoleh. + +Penerbit token yang berusaha meningkatkan likuiditas token mereka telah menawarkan insentif kepada penyedia likuiditas dalam kampanye penambangan likuiditas. Penerbit token baru juga telah meluncurkan token mereka di kolam Balancer. + +Balancer diatur oleh BAL, token tata kelola ERC-20. Pemegang BAL dapat memberikan suara pada perubahan protokol. BAL terus diberikan kepada penyedia likuiditas dan sebagian besar dari total pasokan BAL dialokasikan ke tim dan investor dengan jadwal pemberian yang berkelanjutan. + +Volume perdagangan di Balancer seringkali melebihi $ 25 juta setiap hari. Balancer memiliki Total Value Locked \ (TVL \) lebih dari $ 250 juta oleh penyedia likuiditas pada saat penulisan. + +Balancer telah menjalani audit keamanan oleh Trail of Bits dan memiliki program bug bounty. Namun, Balancer telah mengalami eksploitasi besar pada Juni 2020. + +| Sumber | | +|:------------------ |:-------------------------------------------------------------------- | +| Situs resmi | [https://balancer.finance/](https://balancer.finance/) | +| Dokumen pengembang | [https://docs.balancer.finance/](https://docs.balancer.finance/) | +| GitHub | [https://github.com/balancer-labs](https://github.com/balancer-labs) | +| Discord | [https://discord.gg/ARJWaeF](https://discord.gg/ARJWaeF) | + diff --git a/id/core-concepts/supported-platforms/compound.md b/id/core-concepts/supported-platforms/compound.md new file mode 100644 index 000000000..29ecabb66 --- /dev/null +++ b/id/core-concepts/supported-platforms/compound.md @@ -0,0 +1,19 @@ +# Compound + +Compound adalah protokol dan platform peminjaman yang dibangun di atas Ethereum dan diluncurkan pada September 2018. Pengguna bisa mendapatkan bunga majemuk atau meminjam aset dengan agunan. Setiap aset yang didukung digabungkan dalam kumpulan likuiditasnya sendiri dan suku bunga disesuaikan secara otomatis berdasarkan penawaran dan permintaan. + +Saldo agunan diwakili oleh ERC-20 cTokens, yang secara otomatis menghasilkan bunga dan peningkatan nilai dari waktu ke waktu relatif terhadap aset dasar yang mereka wakili. Pengguna dapat meminjam aset dengan nilai cTokens mereka. cTokens dapat ditransfer secara bebas dan dapat digunakan pada banyak protokol DeFi lainnya. cToken dapat ditukarkan dengan agunan yang mendasarinya kapan saja. + +Compound diatur oleh COMP, token tata kelola ERC-20. Pemegang COMP dapat mengusulkan dan memberikan suara pada perubahan protokol atau mendelegasikan suara mereka kepada orang lain. Token COMP diberikan secara pro rata kepada pengguna protokol setiap hari, dibagi rata antara peminjam dan pemberi pinjaman. Sebagian besar pasokan token COMP disimpan oleh tim Compound, investor, dan penasihat. + +Nilai total Compound yang dikunci \ (TVL \) telah dengan cepat berkembang menjadi hampir $ 800 juta, menjadikannya salah satu protokol DeFi terbesar. COMP memiliki kapitalisasi pasar yang beredar lebih dari $ 500 juta. + +Compound telah menjalani beberapa audit keamanan oleh OpenZeppelin dan Trail of Bits. Protokol Compound secara resmi diverifikasi oleh CertiK dan telah menjalani uji tekanan ekonomi oleh Gauntlet. Compound memelihara program bug bounty. + +| Sumber | | +|:------------------ |:-------------------------------------------------------------------------------------------------------------- | +| Situs resmi | [https://compound.finance/](https://compound.finance/) | +| Dokumen pengembang | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/compound-finance/compound-protocol](https://github.com/compound-finance/compound-protocol) | +| Discord | [https://discord.com/invite/cU7vmVW](https://discord.com/invite/cU7vmVW) | + diff --git a/id/core-concepts/supported-platforms/curve.md b/id/core-concepts/supported-platforms/curve.md new file mode 100644 index 000000000..bd5067129 --- /dev/null +++ b/id/core-concepts/supported-platforms/curve.md @@ -0,0 +1,25 @@ +# Curve + +{% hint style="info" %} +Akan segera hadir. Curve belum terintegrasi. +{% endhint %} + +Curve adalah protokol dan bursa likuiditas terdesentralisasi di Ethereum untuk stablecoin dan wrapped BTC, diluncurkan pada Januari 2020. Pengguna dapat bertukar antara stablecoin ERC-20 yang populer atau antara representasi bitcoin ERC-20. Penyedia likuiditas memfasilitasi perdagangan dan mendapatkan biaya. + +Curve adalah Automated Market Maker \ (AMM \) di mana setiap pasar memiliki kumpulan likuiditas terkait dengan dua atau lebih aset yang seharusnya memiliki nilai yang sama, seperti USDT, USDC, DAI dan TUSD, yang semuanya merupakan stablecoin yang dipatok dalam dolar AS. Nilai tukar antara setiap stablecoin dan bobot relatifnya ditentukan oleh algoritme berdasarkan penawaran dan permintaan. Arbitrase bertindak untuk menormalkan nilai tukar ini. + +Beberapa kolam likuiditas Curve mendapatkan biaya tambahan untuk penyedia likuiditas selain biaya pertukaran dari para pedagang. Curve menawarkan kumpulan stablecoin yang terintegrasi dengan Compound, yearn.finance, dan Synthetix. Aset di setiap kumpulan likuiditas disediakan untuk platform tersebut untuk menghasilkan hasil tambahan yang diteruskan ke penyedia likuiditas masing-masing kumpulan. Token Penyedia Likuiditas \ (LP \) diberikan kepada peserta kumpulan dan dapat ditukar dengan likuiditas awal mereka yang disediakan ditambah biaya dan hasil yang masih harus dibayar. Token LP juga dapat ditransfer untuk digunakan dalam protokol lain. + +Curve diatur oleh CRV, token tata kelola ERC-20. Pemegang CRV dapat memberikan suara pada perubahan protokol. Pemegang CRV dapat mempertaruhkan token mereka untuk kekuatan voting tambahan yang sebanding dengan waktu yang dipertaruhkan. CRV terus diberikan kepada penyedia likuiditas dan sebagian besar dari total pasokan CRV dialokasikan ke tim dan investor dengan jadwal vesting yang berkelanjutan. + +Volume perdagangan di Curve seringkali melebihi $ 50 juta setiap hari. Curve memiliki Total Value Locked \ (TVL \) lebih dari $ 1 miliar oleh penyedia likuiditas pada saat penulisan. + +Curve telah menjalani dua audit oleh Trail of Bits dan menjalankan program bug bounty. + +| Sumber | | +|:------------------ |:------------------------------------------------------------------------ | +| Situs resmi | [https://uniswap.org/](https://uniswap.org/) | +| Dokumen pengembang | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/id/core-concepts/supported-platforms/dydx.md b/id/core-concepts/supported-platforms/dydx.md new file mode 100644 index 000000000..d84b0b466 --- /dev/null +++ b/id/core-concepts/supported-platforms/dydx.md @@ -0,0 +1,27 @@ +# dYdX + +{% hint style="info" %} +Akan segera hadir. DyDx belum terintegrasi. +{% endhint %} + +dYdX adalah protokol dan platform perdagangan dan peminjaman yang dibangun di atas Ethereum dan diluncurkan pada Mei 2019. Pengguna dapat memperdagangkan aset di non-kustodian dYdX, perdagangan terdesentralisasi, atau berpartisipasi dalam meminjam dan meminjamkan. Protokol peminjaman memungkinkan perdagangan margin dan berjangka. Suku bunga disesuaikan berdasarkan penawaran dan permintaan dan hanya pinjaman jangka pendek yang ditawarkan. + +Likuiditas untuk aset yang tersedia untuk meminjam dan dipinjamkan disatukan berdasarkan jenis aset. Bunga yang dibayarkan kepada pemberi pinjaman diakru secara otomatis dan peminjam harus memberikan jaminan untuk mengambil pinjaman. + +dYdX juga mendukung pinjaman cepat, yaitu pinjaman tanpa jaminan di mana pengguna meminjam dan membayar kembali saldo pinjaman dalam satu transaksi, yang berarti pengguna pinjaman kilat tidak perlu menyiapkan modal awal. Pinjaman cepat adalah produk kompleks yang ditujukan untuk pengembang dan dapat digunakan untuk arbitrase di beberapa protokol DeFi. + +dYdX memiliki total nilai sekitar $ 40 juta yang dikunci \ (TVL \) pada saat penulisan ini. dYdX tidak memiliki token asli. + +dYdX telah menjalani audit keamanan oleh OpenZeppelin dan Bramah Systems. + +| Sumber | | +|:------------------ |:-------------------------------------------------------------------- | +| Situs resmi | [https://dydx.exchange/](https://dydx.exchange/) | +| Dokumen pengembang | [https://docs.dydx.exchange/](https://docs.dydx.exchange/) | +| GitHub | [https://github.com/dydxprotocol/](https://github.com/dydxprotocol/) | +| Discord | [https://discord.gg/yah42Rb](https://discord.gg/yah42Rb) | + + + + + diff --git a/id/core-concepts/supported-platforms/uniswap.md b/id/core-concepts/supported-platforms/uniswap.md new file mode 100644 index 000000000..3b458ffb1 --- /dev/null +++ b/id/core-concepts/supported-platforms/uniswap.md @@ -0,0 +1,27 @@ +# Uniswap + +{% hint style="info" %} +Akan segera hadir. Uniswap belum terintegrasi. +{% endhint %} + +Uniswap adalah protokol dan bursa likuiditas terdesentralisasi di Ethereum, diluncurkan pada November 2018. Uniswap v2 diluncurkan pada Mei 2020. Pengguna dapat menukar token ERC-20 dengan biaya tertentu atau menyumbangkan token ke kumpulan likuiditas untuk mendapatkan bayaran. + +Pasar di Uniswap beroperasi sebagai kumpulan likuiditas daripada buku pesanan. Jenis bursa ini disebut Automated Market Maker \ (AMM \). Nilai tukar antara dua aset ditentukan oleh formula produk konstan dan bergerak di sepanjang kurva harga bergantung pada bobot relatif dari setiap aset dalam kumpulan. Hal ini mendorong arbitrase untuk memasuki kumpulan likuiditas untuk menyeimbangkan kembali bobot relatif dan menormalkan nilai tukar. + +Pedagang dapat tergelincir jika tidak ada cukup likuiditas di kumpulan tertentu dan mungkin tidak dilindungi dari nilai tukar yang tidak menguntungkan. Penyedia likuiditas dapat mengalami kerugian tidak permanen ketika nilai tukar kumpulan tidak sesuai dengan realitas pasar dan arbitrase melakukan perdagangan di sepanjang kurva harga. + +Peserta kumpulan diberi token Penyedia Likuiditas Uniswap \ (LP \) yang sesuai dengan bagian likuiditas mereka yang disediakan di kumpulan tertentu. Token LP ini dapat ditransfer secara bebas. Peserta dapat keluar dari kumpulan kapan saja dengan menukarkan token ini dengan aset yang diberikan dan biaya yang dikenakan. + +Penerbit token yang berusaha meningkatkan likuiditas token mereka telah menawarkan insentif kepada penyedia likuiditas dalam kampanye penambangan likuiditas. Penerbit token baru juga telah meluncurkan token mereka di kumpulan Uniswap. + +Volume perdagangan di Uniswap sekarang melebihi dari banyak bursa tradisional dan secara teratur melampaui $ 200 juta setiap hari. Uniswap memiliki lebih dari $ 170 juta dalam Total Value Locked \ (TVL \) oleh penyedia likuiditas. Uniswap tidak memiliki platform asli atau token tata kelola. + +Kontrak pintar Uniswap telah diaudit dan diverifikasi secara resmi oleh dapp.org. Aave memelihara program bug bounty. + +| Sumber | | +|:------------------ |:------------------------------------------------------------------------ | +| Situs resmi | [https://uniswap.org/](https://uniswap.org/) | +| Dokumen pengembang | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/id/core-concepts/supported-platforms/yearn.finance.md b/id/core-concepts/supported-platforms/yearn.finance.md new file mode 100644 index 000000000..d75b2bd77 --- /dev/null +++ b/id/core-concepts/supported-platforms/yearn.finance.md @@ -0,0 +1,25 @@ +# Yearn.finance + +{% hint style="info" %} +Akan segera hadir. Yearn.finance belum terintegrasi. +{% endhint %} + +Yearn.finance, sebelumnya iEarn.finance, adalah platform agregasi hasil yang dibangun di atas Ethereum dan diluncurkan pada Januari 2020 oleh Andre Cronje. Yearn mengelola pertanian hasil dan strategi penyeimbangan kembali menggunakan kombinasi otomatisasi dan pengambilan keputusan manusia atas nama pengguna yang telah menyetor modal. + +Yearn memiliki dua produk agregasi hasil, Earn dan Vaults. Earn memungkinkan pengguna untuk menyetor stablecoin atau wrapped BTC ke dalam kumpulan likuiditas di Curve untuk mendapatkan biaya dan imbalan token tata kelola. Aset-aset ini juga dipinjamkan pada platform yang menawarkan hasil tinggi dan hadiah token, menambah hasil yang diperoleh. + +Vaults menawarkan pengalaman yang lebih otomatis dan terkelola. Pengguna menyimpan aset seperti LINK, token penyedia likuiditas Curve, atau stablecoin, dan Vault mengumpulkan aset-aset ini bersama-sama dan meluncurkan strategi pertanian dengan pendapatan tertinggi yang dianggap aman oleh komunitas dan Andre Cronje. Token tata kelola yang diperoleh sebagai hadiah dijual untuk aset asli yang disimpan dan digabungkan dengan biaya lain dan secara otomatis dimasukkan ke dalam Vault untuk menghasilkan hasil gabungan. Strategi dapat sering diubah dan mengumpulkan aset akan menghemat biaya gas bagi pengguna. + +Yearn diatur oleh YFI, token tata kelola ERC-20. Pemegang YFI dapat memberikan suara pada perubahan protokol setelah setuju untuk mengunci YFI mereka selama 3 hari. YFI juga dapat dipertaruhkan untuk mendapatkan hasil di portal tata kelola. Hasil ini berasal dari biaya yang dibebankan kepada pengguna pada produk Yearn. YFI didistribusikan sepenuhnya kepada penyedia likuiditas di Curve dan Balancer. Tidak ada alokasi untuk anggota tim atau investor. + +Nilai total Yearn yang dikunci \ (TVL \) dengan cepat berkembang menjadi lebih dari $ 800 juta, menjadikannya salah satu platform DeFi terbesar. YFI memiliki kapitalisasi pasar yang beredar lebih dari $ 400 juta. + +Yearn telah menjalani beberapa audit keamanan dan kontrak pintar oleh CertiK, Quantstamp, HackMD, dan CryptoManiacs. Yearn memiliki reputasi untuk meluncurkan produk eksperimental dengan sangat cepat dan memperingatkan pengguna bahwa produk mereka dalam versi beta. + +| Sumber | | +|:------------------ |:-------------------------------------------------------------------- | +| Situs resmi | [https://yearn.finance/](https://yearn.finance/) | +| Dokumen pengembang | [https://docs.yearn.finance/](https://docs.yearn.finance/) | +| GitHub | [https://github.com/iearn-finance](https://github.com/iearn-finance) | +| Discord | [https://discord.gg/uTmHe8r](https://discord.gg/uTmHe8r) | + diff --git a/id/core-concepts/supported-stablecoins/README.md b/id/core-concepts/supported-stablecoins/README.md new file mode 100644 index 000000000..634f51cbe --- /dev/null +++ b/id/core-concepts/supported-stablecoins/README.md @@ -0,0 +1,25 @@ +# Stablecoin yang Didukung + +**Stablecoin yang Didukung** + +Penting untuk dipahami bahwa OUSD hanya sekuat stablecoin yang mendukungnya. Setiap kerugian aset yang mendasarinya akan menyebabkan kerugian yang serupa dengan nilai OUSD. + +Saat ini, OUSD mendukung stablecoin berikut: + +{% content-ref url="usdt.md" %} +[usdt.md](usdt.md) +{% endcontent-ref %} + +{% content-ref url="usdc.md" %} +[usdc.md](usdc.md) +{% endcontent-ref %} + +{% content-ref url="dai.md" %} +[dai.md](dai.md) +{% endcontent-ref %} + +None of these stablecoins are perfect, but we selected them because of their widespread usage. While these stablecoins have lost their USD peg on multiple occasions, they have demonstrated resiliency in eventually getting back to their 1 USD targets. + +It is important to note that all these stablecoins introduce non-trivial counter-party risk. Tether, in particular, has had well-documented banking troubles and regulatory challenges. In addition, both USDT and USDC have backdoors that grant their issuers the power to freeze money in their holder's wallets. While DAI does not have any direct backdoors, its assets can also be negatively impacted since USDC and USDT are accepted as collateral for minting DAI. + +Despite these concerns, there are already billions of dollars betting on the security of these stablecoins. It is possible that additional stablecoins will be added to the protocol over time. Support may also be removed if any of these stablecoins prove to be too unreliable or put OUSD holder's funds in jeopardy. diff --git a/id/core-concepts/supported-stablecoins/dai.md b/id/core-concepts/supported-stablecoins/dai.md new file mode 100644 index 000000000..a3d1fcfe6 --- /dev/null +++ b/id/core-concepts/supported-stablecoins/dai.md @@ -0,0 +1,19 @@ +# DAI + +![](../../.gitbook/assets/dai.png) + +Dai adalah stablecoin yang dipatok dengan fiat yang diluncurkan sebagai token ERC-20 di blockchain Ethereum pada Desember 2017. A major upgrade from single-collateral Dai (SAI) to multi-collateral Dai (DAI) was completed in November 2019. Dai dipatok ke dolar AS. + +Dai is minted by users locking up crypto assets such as ETH or USDC as collateral in a collateralized debt position (CDP) called a vault. Sebelumnya, hanya ETH yang diterima sebagai jaminan. Cadangan dan status setiap vault dapat dilihat di blockchain secara real-time. Kesehatan vault ini dan stablecoin Dai diawasi dengan ketat. + +Dai adalah stablecoin terbesar ketiga di dunia dengan sirkulasi lebih dari $ 400 juta. Selain itu, cDAI dan aDAI, versi sintetis Dai pada platform peminjaman Compound dan Aave, bergabung dengan sirkulasi lebih dari $ 600 juta. + +| Fakta-fakta kunci | | +| ----------------- | ------------------------------------------------------------------------------------------------------------------- | +| Dikeluarkan oleh | MakerDAO | +| Nama | Dai | +| Simbol | DAI | +| Alamat | [0x6b175474e89094c44da98b954eedeac495271d0f](https://etherscan.io/token/0x6b175474e89094c44da98b954eedeac495271d0f) | +| Desimal | 18 | +| Situs resmi | [https://makerdao.com/](https://makerdao.com) | +| Pemegang | Over 380k addresses | diff --git a/id/core-concepts/supported-stablecoins/usdc.md b/id/core-concepts/supported-stablecoins/usdc.md new file mode 100644 index 000000000..9fec87858 --- /dev/null +++ b/id/core-concepts/supported-stablecoins/usdc.md @@ -0,0 +1,20 @@ +# USDC + +![](../../.gitbook/assets/usdc-coin-bd351fb779 (1).png) + +USD Coin (USDC) is a fiat-pegged stablecoin launched as a ERC-20 token on the Ethereum blockchain in October 2018. USDC dipatok ke dolar AS dan dapat dengan mudah ditukar dengan dolar AS. + +Setiap USDC didukung oleh rasio 1: 1 dengan jumlah yang setara dengan mata uang fiat yang disimpan dalam rekening kustodian oleh anggota Centre, sebuah konsorsium yang didirikan oleh Circle dan Coinbase. Anggota Centre adalah lembaga keuangan teregulasi yang berbasis di AS. Audit cadangan bulanan diterbitkan oleh Grant Thornton LLP. + +USDC adalah stablecoin terbesar kedua di dunia setelah USDT dan dengan cepat berkembang menjadi lebih dari $ 1 miliar dalam sirkulasi. Namun, USDC tetap jauh di belakang USDT $ 12 + miliar yang beredar. + +| Fakta-fakta kunci | | +| ----------------- | ------------------------------------------------------------------------------------------------------------------- | +| Dikeluarkan oleh | Centre | +| Nama | USD Coin | +| Simbol | USDC | +| Alamat | [0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48](https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48) | +| Desimal | 6 | +| Situs resmi | [https://www.centre.io/usdc](https://www.centre.io/usdc) | +| Pemegang | Over 1M addresses | + diff --git a/id/core-concepts/supported-stablecoins/usdt.md b/id/core-concepts/supported-stablecoins/usdt.md new file mode 100644 index 000000000..8f5e4f130 --- /dev/null +++ b/id/core-concepts/supported-stablecoins/usdt.md @@ -0,0 +1,20 @@ +# USDT + +![](../../.gitbook/assets/image (1).png) + +Tether (USDT) is a fiat-pegged stablecoin that was initially built on top of Bitcoin via the Omni Layer Protocol. Pada September 2017, Tether mengumumkan mereka akan meluncurkan token ERC-20 tambahan untuk dolar Amerika Serikat di blockchain Ethereum. + +Setiap Tether yang diterbitkan ke dalam sirkulasi dikatakan didukung oleh rasio satu-ke-satu dengan jumlah mata uang fiat yang setara yang disimpan dalam rekening kustodian oleh Tether Limited, sebuah perusahaan yang berbasis di Hong Kong dengan hubungan dekat dengan pertukaran mata uang kripto, Bitfinex. + +Despite the controversy **** around **** the company's failure to provide a promised audit showing adequate reserves backing tether, USDT is still the world's largest stablecoin by market cap and currently the fourth-largest cryptocurrency after BTC, ETH and XRP. + +| Fakta-fakta kunci | | +| ----------------- | ---------------------------------------------------------------------------------------------------------------- | +| Dikeluarkan oleh | Tether Limited | +| Nama | Tether | +| Simbol | USDT | +| Alamat | [0xdac17f958d2ee523a2206206994597c13d831](https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7) | +| Desimal | 6 | +| Situs resmi | [https://tether.to/ ](https://tether.to) | +| Pemegang | Over 3.4M addresses | + diff --git a/id/core-concepts/supported-strategies/README.md b/id/core-concepts/supported-strategies/README.md new file mode 100644 index 000000000..88c971b13 --- /dev/null +++ b/id/core-concepts/supported-strategies/README.md @@ -0,0 +1,27 @@ +# Strategi yang Didukung + +**Platform DeFi yang Didukung** + +OUSD menghasilkan imbal hasil dengan menyetorkan stablecoin ke dalam platform pinjaman dan kumpulan likuiditas pembuat pasar. Perlu dipahami bahwa platform ini memang membawa risiko teknologi dan dana bisa hilang jika ada peristiwa keamanan besar. Kami memilih untuk bekerja dengan platform yang kontrak cerdasnya telah diaudit dan yang kami rasa paling aman. + +Currently, OUSD earns yield from the following platform(s): + +{% content-ref url="compound.md" %} +[compound.md](compound.md) +{% endcontent-ref %} + +{% content-ref url="aave.md" %} +[aave.md](aave.md) +{% endcontent-ref %} + +{% content-ref url="curve.md" %} +[curve.md](curve.md) +{% endcontent-ref %} + +{% content-ref url="convex.md" %} +[convex.md](convex.md) +{% endcontent-ref %} + +Although DeFi has grown very quickly and there are now billions of dollars worth of value deposited on these platforms, several of these projects are still in beta and are highly experimental. There may be hidden vulnerabilities in the smart contracts that power these platforms, and there have been multi-million dollar losses caused by vulnerabilities in Ethereum applications in the past. + +We closely monitor security events on the platforms we support and will immediately move to secure OUSD holder funds if we identify any threats. diff --git a/id/core-concepts/supported-strategies/aave.md b/id/core-concepts/supported-strategies/aave.md new file mode 100644 index 000000000..e1b3c08ab --- /dev/null +++ b/id/core-concepts/supported-strategies/aave.md @@ -0,0 +1,20 @@ +# Aave + +Aave adalah protokol dan platform peminjaman yang dibangun di atas Ethereum dan diluncurkan pada Januari 2020 oleh para pencipta ETHLend. Pengguna bisa mendapatkan bunga majemuk atau meminjam aset dengan agunan. Setiap aset yang didukung digabungkan dalam kumpulan likuiditasnya sendiri dan pengguna dapat memilih antara suku bunga variabel berdasarkan penawaran dan permintaan atau suku bunga tetap. + +Saldo jaminan diwakili oleh ERC-20 aTokens dengan rasio 1: 1 terhadap aset dasar yang mereka wakili. Bunga digabungkan secara otomatis dan dibayarkan kepada pemberi pinjaman dengan aTokens, yang berarti pemberi pinjaman akan terus melihat saldo aToken mereka meningkat dari waktu ke waktu. Pengguna dapat meminjam aset terhadap aTokens mereka. aTokens dapat ditransfer secara bebas dan dapat digunakan pada banyak protokol DeFi lainnya. aToken dapat ditebus untuk jaminan yang mendasarinya kapan saja. + +Aave mendukung pinjaman kilat, yaitu pinjaman tanpa jaminan di mana pengguna meminjam dan membayar kembali saldo pinjaman dalam satu transaksi, artinya pengguna pinjaman kilat tidak perlu menyiapkan modal awal. Pinjaman cepat adalah produk kompleks yang ditujukan untuk pengembang dan dapat digunakan untuk arbitrase di beberapa protokol DeFi. + +Aave's governance token was formerly called LEND which was the utility token for ETHLend. As part of their transition to fully decentralized governance, LEND holders were able to exchange LEND for AAVE, a new ERC-20 governance token with staking rewards. Some AAVE tokens have been distributed to users of the platform in a liquidity mining campaign. + +Aave's total value locked (TVL) has quickly grown to over $15.5 billion, making it the largest DeFi protocol at the time of writing. LEND has a circulating market cap of over $5.3 billion. + +Aave telah menjalani audit keamanan oleh OpenZeppelin, Trail of Bits, dan Consensys Diligence. Aave memelihara program bug bounty. + +| Sumber | | +| ------------------ | ------------------------------------------------------------------------------ | +| Situs resmi | [https://aave.com/](https://aave.com) | +| Dokumen pengembang | [http://docs.aave.com/](http://docs.aave.com) | +| GitHub | [https://github.com/aave/aave-protocol](https://github.com/aave/aave-protocol) | +| Discord | [https://aave.com/discord](https://aave.com/discord) | diff --git a/id/core-concepts/supported-strategies/balancer.md b/id/core-concepts/supported-strategies/balancer.md new file mode 100644 index 000000000..486ed131e --- /dev/null +++ b/id/core-concepts/supported-strategies/balancer.md @@ -0,0 +1,27 @@ +# Balancer + +{% hint style="info" %} +Akan segera hadir. Balancer belum diintegrasikan. +{% endhint %} + +Balancer adalah protokol dan pertukaran likuiditas terdesentralisasi di Ethereum, diluncurkan pada Maret 2020. Pengguna dapat menukar token ERC-20 dengan biaya tertentu atau menyumbangkan token ke kumpulan likuiditas untuk mendapatkan bayaran. + +Balancer adalah Automated Market Maker \ (AMM \) yang memungkinkan kumpulan likuiditas hingga 8 aset berbeda dengan bobot khusus. Kolam likuiditas di Balancer dapat dianggap serupa dengan Exchange Traded Funds \ (ETFs \) atau portofolio dengan target bobot untuk aset-aset tertentu. Apabila perdagangan menyebabkan kumpulan tersebut bergeser dari distribusi bobot targetnya, nilai tukar antar aset dalam kelompok tersebut berubah. Arbitrase dapat mengeksekusi pertukaran untuk memanfaatkan ini dan bertindak untuk menyeimbangkan kembali kumpulan ke distribusi bobot targetnya. Likuiditas juga dapat dibagikan di seluruh kumpulan, tidak seperti AMM lainnya. + +Balancer mendukung kumpulan pribadi, di mana hanya pemilik kumpulan yang dapat menyumbangkan likuiditas, kumpulan bersama, yang sepenuhnya bersifat publik, dan kumpulan cerdas, yang merupakan kumpulan bersama yang dikendalikan oleh kontrak cerdas yang dapat menerapkan aturan dan logika otomatis. Penyedia likuiditas diberi Balancer Pool Token \ (BPTs \) yang mewakili bagian mereka dari kumpulan dan biaya-biaya. Token ini dapat dipindahtangankan secara bebas dan dapat ditukarkan dengan aset yang disediakan dan biaya yang diperoleh. + +Penerbit token yang berusaha meningkatkan likuiditas token mereka telah menawarkan insentif kepada penyedia likuiditas dalam kampanye penambangan likuiditas. Penerbit token baru juga telah meluncurkan token mereka di kumpulan Balancer. + +Balancer diatur oleh BAL, token tata kelola ERC-20. Pemegang BAL dapat memberikan suara pada perubahan protokol. BAL terus diberikan kepada penyedia likuiditas dan sebagian besar dari total pasokan BAL dialokasikan ke tim dan investor dengan jadwal pemberian yang berkelanjutan. + +Volume perdagangan di Balancer seringkali melebihi $ 25 juta setiap hari. Balancer memiliki Total Value Locked \ (TVL \) lebih dari $ 250 juta oleh penyedia likuiditas pada saat penulisan. + +Balancer telah menjalani audit keamanan oleh Trail of Bits dan memiliki program bug bounty. Namun, Balancer telah mengalami eksploitasi besar pada Juni 2020. + +| Sumber | | +|:------------------ |:-------------------------------------------------------------------- | +| Situs resmi | [https://balancer.finance/](https://balancer.finance/) | +| Dokumen pengembang | [https://docs.balancer.finance/](https://docs.balancer.finance/) | +| GitHub | [https://github.com/balancer-labs](https://github.com/balancer-labs) | +| Discord | [https://discord.gg/ARJWaeF](https://discord.gg/ARJWaeF) | + diff --git a/id/core-concepts/supported-strategies/compound.md b/id/core-concepts/supported-strategies/compound.md new file mode 100644 index 000000000..8aaf3b650 --- /dev/null +++ b/id/core-concepts/supported-strategies/compound.md @@ -0,0 +1,18 @@ +# Compound + +Compound adalah protokol dan platform peminjaman yang dibangun di atas Ethereum dan diluncurkan pada September 2018. Pengguna bisa mendapatkan bunga majemuk atau meminjam aset dengan agunan. Setiap aset yang didukung digabungkan dalam kumpulan likuiditasnya sendiri dan suku bunga disesuaikan secara otomatis berdasarkan penawaran dan permintaan. + +Saldo agunan diwakili oleh ERC-20 cTokens, yang secara otomatis menghasilkan bunga dan peningkatan nilai dari waktu ke waktu relatif terhadap aset dasar yang mereka wakili. Pengguna dapat meminjam aset dengan nilai cTokens mereka. cTokens dapat ditransfer secara bebas dan dapat digunakan pada banyak protokol DeFi lainnya. cToken dapat ditukarkan dengan agunan yang mendasarinya kapan saja. + +Compound diatur oleh COMP, token tata kelola ERC-20. Pemegang COMP dapat mengusulkan dan memberikan suara pada perubahan protokol atau mendelegasikan suara mereka kepada orang lain. COMP tokens are awarded pro-rata to users of the protocol daily, split equally between borrowers and lenders. Sebagian besar pasokan token COMP disimpan oleh tim Compound, investor, dan penasihat. + +Compound's total value locked (TVL) has quickly grown to over $10 billion, making it one of the largest DeFi protocols. COMP has a circulating market cap of over $2.5 billion. + +Compound telah menjalani beberapa audit keamanan oleh OpenZeppelin dan Trail of Bits. Protokol Compound secara resmi diverifikasi oleh CertiK dan telah menjalani uji tekanan ekonomi oleh Gauntlet. Compound memelihara program bug bounty. + +| Sumber | | +| ------------------ | -------------------------------------------------------------------------------------------------------------- | +| Situs resmi | [https://compound.finance/](https://compound.finance) | +| Dokumen pengembang | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/compound-finance/compound-protocol](https://github.com/compound-finance/compound-protocol) | +| Discord | [https://discord.com/invite/cU7vmVW](https://discord.com/invite/cU7vmVW) | diff --git a/id/core-concepts/supported-strategies/convex.md b/id/core-concepts/supported-strategies/convex.md new file mode 100644 index 000000000..771280a68 --- /dev/null +++ b/id/core-concepts/supported-strategies/convex.md @@ -0,0 +1,18 @@ +# Convex + +Convex is an aggregation platform for Curve that launched in May 2021. Convex allows liquidity providers on Curve to earn boosted CRV rewards without having to vote-lock CRV. Convex vote-locks CRV on behalf of users and distributes boosted CRV rewards to them. Convex passes on trading fees earned on Curve to users as well. + +Convex also rewards users with their own ERC-20 governance token, CVX. Convex supports both CRV and CVX staking for additional rewards. Vote-locking CVX is required to participate in Convex governance. + +Convex is one of the few protocols whitelisted to participate in Curve governance and controls a huge amount of vote-locked CRV, making them one of the biggest players in Curve governance. A large proportion of liquidity provided on Curve is now done through Convex. Convex has a Total Value Locked (TVL) of over $15.4 billion in deposits at the time of writing. + +Convex has been audited by MixBytes. + +| | | +| -------------- | ---------------------------------------------------------------- | +| Resources | | +| Official site | [https://www.convexfinance.com](https://www.convexfinance.com) | +| Developer docs | [https://docs.convexfinance.com](https://docs.convexfinance.com) | +| GitHub | [https://github.com/convex-eth](https://github.com/convex-eth) | +| Discord | [https://discord.gg/uAwvZfs9qU](https://discord.gg/uAwvZfs9qU) | + diff --git a/id/core-concepts/supported-strategies/curve.md b/id/core-concepts/supported-strategies/curve.md new file mode 100644 index 000000000..5638a26f8 --- /dev/null +++ b/id/core-concepts/supported-strategies/curve.md @@ -0,0 +1,20 @@ +# Curve + +Curve adalah protokol dan bursa likuiditas terdesentralisasi di Ethereum untuk stablecoin dan wrapped BTC, diluncurkan pada Januari 2020. Pengguna dapat bertukar antara stablecoin ERC-20 yang populer atau antara representasi bitcoin ERC-20. Penyedia likuiditas memfasilitasi perdagangan dan mendapatkan biaya. + +Curve is an Automated Market Maker (AMM) where each market has an associated liquidity pool with two or more assets that should have the same value, like USDT, USDC, DAI and TUSD, which are all US dollar pegged stablecoins. Nilai tukar antara setiap stablecoin dan bobot relatifnya ditentukan oleh algoritme berdasarkan penawaran dan permintaan. Arbitrase bertindak untuk menormalkan nilai tukar ini. + +Beberapa kumpulan likuiditas Curve mendapatkan biaya tambahan untuk penyedia likuiditas selain biaya pertukaran dari para pedagang. Curve menawarkan kumpulan stablecoin yang terintegrasi dengan Compound, yearn.finance, dan Synthetix. Aset di setiap kumpulan likuiditas disediakan untuk platform tersebut untuk menghasilkan hasil tambahan yang diteruskan ke penyedia likuiditas masing-masing kumpulan. Liquidity Provider (LP) tokens are given to pool participants and can be redeemed for their initial liquidity supplied plus accrued fees and yield. Token LP juga dapat ditransfer untuk digunakan dalam protokol lain. + +Curve diatur oleh CRV, token tata kelola ERC-20. Pemegang CRV dapat memberikan suara pada perubahan protokol. CRV holders can stake or "vote-lock" their tokens for additional voting power proportional to time staked. Vote-locking CRV also significantly boosts liquidity provider rewards. CRV is continuously awarded to liquidity providers and a large portion of the total supply of CRV was allocated to the team and investors on a continuous vesting schedule. + +Curve has a Total Value Locked (TVL) of over $20.4 billion by liquidity providers at the time of writing. Hundreds of millions of dollars of trading volume are generated on Curve every day. + +Curve telah menjalani dua audit oleh Trail of Bits dan menjalankan program bug bounty. + +| Sumber | | +| ------------------ | ------------------------------------------------------------------------ | +| Situs resmi | [https://www.curve.fi/](https://www.curve.fi) | +| Dokumen pengembang | [https://www.curve.fi/devdocs](https://www.curve.fi/devdocs) | +| GitHub | [https://github.com/curvefi](https://github.com/curvefi) | +| Discord | [https://discord.com/invite/9uEHakc](https://discord.com/invite/9uEHakc) | diff --git a/id/core-concepts/supported-strategies/dydx.md b/id/core-concepts/supported-strategies/dydx.md new file mode 100644 index 000000000..d84b0b466 --- /dev/null +++ b/id/core-concepts/supported-strategies/dydx.md @@ -0,0 +1,27 @@ +# dYdX + +{% hint style="info" %} +Akan segera hadir. DyDx belum terintegrasi. +{% endhint %} + +dYdX adalah protokol dan platform perdagangan dan peminjaman yang dibangun di atas Ethereum dan diluncurkan pada Mei 2019. Pengguna dapat memperdagangkan aset di non-kustodian dYdX, perdagangan terdesentralisasi, atau berpartisipasi dalam meminjam dan meminjamkan. Protokol peminjaman memungkinkan perdagangan margin dan berjangka. Suku bunga disesuaikan berdasarkan penawaran dan permintaan dan hanya pinjaman jangka pendek yang ditawarkan. + +Likuiditas untuk aset yang tersedia untuk meminjam dan dipinjamkan disatukan berdasarkan jenis aset. Bunga yang dibayarkan kepada pemberi pinjaman diakru secara otomatis dan peminjam harus memberikan jaminan untuk mengambil pinjaman. + +dYdX juga mendukung pinjaman cepat, yaitu pinjaman tanpa jaminan di mana pengguna meminjam dan membayar kembali saldo pinjaman dalam satu transaksi, yang berarti pengguna pinjaman kilat tidak perlu menyiapkan modal awal. Pinjaman cepat adalah produk kompleks yang ditujukan untuk pengembang dan dapat digunakan untuk arbitrase di beberapa protokol DeFi. + +dYdX memiliki total nilai sekitar $ 40 juta yang dikunci \ (TVL \) pada saat penulisan ini. dYdX tidak memiliki token asli. + +dYdX telah menjalani audit keamanan oleh OpenZeppelin dan Bramah Systems. + +| Sumber | | +|:------------------ |:-------------------------------------------------------------------- | +| Situs resmi | [https://dydx.exchange/](https://dydx.exchange/) | +| Dokumen pengembang | [https://docs.dydx.exchange/](https://docs.dydx.exchange/) | +| GitHub | [https://github.com/dydxprotocol/](https://github.com/dydxprotocol/) | +| Discord | [https://discord.gg/yah42Rb](https://discord.gg/yah42Rb) | + + + + + diff --git a/id/core-concepts/supported-strategies/uniswap.md b/id/core-concepts/supported-strategies/uniswap.md new file mode 100644 index 000000000..3b458ffb1 --- /dev/null +++ b/id/core-concepts/supported-strategies/uniswap.md @@ -0,0 +1,27 @@ +# Uniswap + +{% hint style="info" %} +Akan segera hadir. Uniswap belum terintegrasi. +{% endhint %} + +Uniswap adalah protokol dan bursa likuiditas terdesentralisasi di Ethereum, diluncurkan pada November 2018. Uniswap v2 diluncurkan pada Mei 2020. Pengguna dapat menukar token ERC-20 dengan biaya tertentu atau menyumbangkan token ke kumpulan likuiditas untuk mendapatkan bayaran. + +Pasar di Uniswap beroperasi sebagai kumpulan likuiditas daripada buku pesanan. Jenis bursa ini disebut Automated Market Maker \ (AMM \). Nilai tukar antara dua aset ditentukan oleh formula produk konstan dan bergerak di sepanjang kurva harga bergantung pada bobot relatif dari setiap aset dalam kumpulan. Hal ini mendorong arbitrase untuk memasuki kumpulan likuiditas untuk menyeimbangkan kembali bobot relatif dan menormalkan nilai tukar. + +Pedagang dapat tergelincir jika tidak ada cukup likuiditas di kumpulan tertentu dan mungkin tidak dilindungi dari nilai tukar yang tidak menguntungkan. Penyedia likuiditas dapat mengalami kerugian tidak permanen ketika nilai tukar kumpulan tidak sesuai dengan realitas pasar dan arbitrase melakukan perdagangan di sepanjang kurva harga. + +Peserta kumpulan diberi token Penyedia Likuiditas Uniswap \ (LP \) yang sesuai dengan bagian likuiditas mereka yang disediakan di kumpulan tertentu. Token LP ini dapat ditransfer secara bebas. Peserta dapat keluar dari kumpulan kapan saja dengan menukarkan token ini dengan aset yang diberikan dan biaya yang dikenakan. + +Penerbit token yang berusaha meningkatkan likuiditas token mereka telah menawarkan insentif kepada penyedia likuiditas dalam kampanye penambangan likuiditas. Penerbit token baru juga telah meluncurkan token mereka di kumpulan Uniswap. + +Volume perdagangan di Uniswap sekarang melebihi dari banyak bursa tradisional dan secara teratur melampaui $ 200 juta setiap hari. Uniswap memiliki lebih dari $ 170 juta dalam Total Value Locked \ (TVL \) oleh penyedia likuiditas. Uniswap tidak memiliki platform asli atau token tata kelola. + +Kontrak pintar Uniswap telah diaudit dan diverifikasi secara resmi oleh dapp.org. Aave memelihara program bug bounty. + +| Sumber | | +|:------------------ |:------------------------------------------------------------------------ | +| Situs resmi | [https://uniswap.org/](https://uniswap.org/) | +| Dokumen pengembang | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/id/core-concepts/supported-strategies/yearn.finance.md b/id/core-concepts/supported-strategies/yearn.finance.md new file mode 100644 index 000000000..d75b2bd77 --- /dev/null +++ b/id/core-concepts/supported-strategies/yearn.finance.md @@ -0,0 +1,25 @@ +# Yearn.finance + +{% hint style="info" %} +Akan segera hadir. Yearn.finance belum terintegrasi. +{% endhint %} + +Yearn.finance, sebelumnya iEarn.finance, adalah platform agregasi hasil yang dibangun di atas Ethereum dan diluncurkan pada Januari 2020 oleh Andre Cronje. Yearn mengelola pertanian hasil dan strategi penyeimbangan kembali menggunakan kombinasi otomatisasi dan pengambilan keputusan manusia atas nama pengguna yang telah menyetor modal. + +Yearn memiliki dua produk agregasi hasil, Earn dan Vaults. Earn memungkinkan pengguna untuk menyetor stablecoin atau wrapped BTC ke dalam kumpulan likuiditas di Curve untuk mendapatkan biaya dan imbalan token tata kelola. Aset-aset ini juga dipinjamkan pada platform yang menawarkan hasil tinggi dan hadiah token, menambah hasil yang diperoleh. + +Vaults menawarkan pengalaman yang lebih otomatis dan terkelola. Pengguna menyimpan aset seperti LINK, token penyedia likuiditas Curve, atau stablecoin, dan Vault mengumpulkan aset-aset ini bersama-sama dan meluncurkan strategi pertanian dengan pendapatan tertinggi yang dianggap aman oleh komunitas dan Andre Cronje. Token tata kelola yang diperoleh sebagai hadiah dijual untuk aset asli yang disimpan dan digabungkan dengan biaya lain dan secara otomatis dimasukkan ke dalam Vault untuk menghasilkan hasil gabungan. Strategi dapat sering diubah dan mengumpulkan aset akan menghemat biaya gas bagi pengguna. + +Yearn diatur oleh YFI, token tata kelola ERC-20. Pemegang YFI dapat memberikan suara pada perubahan protokol setelah setuju untuk mengunci YFI mereka selama 3 hari. YFI juga dapat dipertaruhkan untuk mendapatkan hasil di portal tata kelola. Hasil ini berasal dari biaya yang dibebankan kepada pengguna pada produk Yearn. YFI didistribusikan sepenuhnya kepada penyedia likuiditas di Curve dan Balancer. Tidak ada alokasi untuk anggota tim atau investor. + +Nilai total Yearn yang dikunci \ (TVL \) dengan cepat berkembang menjadi lebih dari $ 800 juta, menjadikannya salah satu platform DeFi terbesar. YFI memiliki kapitalisasi pasar yang beredar lebih dari $ 400 juta. + +Yearn telah menjalani beberapa audit keamanan dan kontrak pintar oleh CertiK, Quantstamp, HackMD, dan CryptoManiacs. Yearn memiliki reputasi untuk meluncurkan produk eksperimental dengan sangat cepat dan memperingatkan pengguna bahwa produk mereka dalam versi beta. + +| Sumber | | +|:------------------ |:-------------------------------------------------------------------- | +| Situs resmi | [https://yearn.finance/](https://yearn.finance/) | +| Dokumen pengembang | [https://docs.yearn.finance/](https://docs.yearn.finance/) | +| GitHub | [https://github.com/iearn-finance](https://github.com/iearn-finance) | +| Discord | [https://discord.gg/uTmHe8r](https://discord.gg/uTmHe8r) | + diff --git a/id/core-concepts/wrapped-ousd.md b/id/core-concepts/wrapped-ousd.md new file mode 100644 index 000000000..bea00ee4b --- /dev/null +++ b/id/core-concepts/wrapped-ousd.md @@ -0,0 +1,31 @@ +# Wrapped OUSD + +Wrapped OUSD provides a non-rebasing version of OUSD that still earns yield. This makes it easier to use OUSD as a building block for other contracts and it may provide tax benefits in some jurisdictions. + +![Two flavors, up only](https://cdn-images-1.medium.com/max/1600/1\*cqRG-8-64XYx9QChoMxk3g.png) + +### How wrapped OUSD works + +When you wrap OUSD, you get back a fixed number of wOUSD tokens. This number will not go up - you will have the same number of wOUSD tokens tomorrow as you have today. However, the number of OUSD tokens that you can unwrap will go up over time. + +For example, if you wrap 10,000 OUSD, you might receive 9,423 wOUSD. If you hold for a while, you will still have 9,423 wOUSD, but when you unwrap the wOUSD, you receive 11,500 OUSD. + +Both OUSD and wOUSD earn at the same rate and can be transferred just like any other ERC-20 token. wOUSD is one of the first implementations of [EIP-4626](https://eips.ethereum.org/EIPS/eip-4626), which is an extension on ERC-20 that provides basic functionality for depositing and withdrawing tokens and reading balances on a tokenized vault. wOUSD was independently [audited by Solidified](https://github.com/OriginProtocol/security/blob/3dc8c1dec2f6fbf4f7d0bdf92408f79262624647/audits/Solidified%20-%20OGV,%20wOUSD,%20and%20ERC721a%20-%20May%202022.pdf) in May 2022 and is ready for production use. + +### Wrapping + +If you don’t already have OUSD, you can buy it from Gate.io, KuCoin, Curve, Uniswap, or [get it directly from the OUSD DApp](https://www.youtube.com/watch?v=UabjvL-7iu4). + +Once you have OUSD in your wallet, visit [ousd.com/wrap](https://ousd.com/wrap) and follow these steps: + +1. Connect your wallet +2. Enter the amount of OUSD that you want to wrap +3. Submit the allowance for the wOUSD contract to use your OUSD +4. Submit the transaction to wrap your OUSD + +![ousd.com/wrap](https://cdn-images-1.medium.com/max/1600/1\*57fSZSSlzebhpIl8R4UqUQ.png) + +### Unwrapping + +Unwrapping your OUSD does not require any approvals since you already hold the wOUSD in your wallet. There's also no minimum term or lock-up period. You can use the same form shown above and just click the arrow to flip it to unwrap mode. This form calls the `redeem` function to unwrap a spcific amount of wOUSD. You can also [use Etherscan](https://etherscan.io/address/0xd2af830e8cbdfed6cc11bab697bb25496ed6fa62#writeProxyContract) to call the `withdraw` function if you prefer to specify the amount of OUSD that you want to be taken out. + diff --git a/id/core-concepts/yield-generation/README.md b/id/core-concepts/yield-generation/README.md new file mode 100644 index 000000000..cf2d7d537 --- /dev/null +++ b/id/core-concepts/yield-generation/README.md @@ -0,0 +1,30 @@ +# Menghasilkan keuntungan + +**Pertanian Hasil Otomatis** + +While the Cambrian explosion of new lending and automated market maker pools has fueled total value locked (TVL), it has also made it increasingly challenging for yield farmers to manually allocate capital in efficient and optimal ways. + +[Yearn](https://yearn.finance) has demonstrated that smart contracts can automate the rebalancing of funds across various strategies to optimally earn lending interest, market-making fees, and rewards tokens. Seiring waktu, strategi baru akan diterapkan yang memaksimalkan pengembalian sambil meminimalkan risiko dan ketergantungan. + +![Automated yield farming on the OUSD protocol](../../.gitbook/assets/ousd_earnings_graphic.png) + +OUSD menggunakan strategi tingkat tinggi berikut untuk menghasilkan hasil: + +{% content-ref url="lending.md" %} +[lending.md](lending.md) +{% endcontent-ref %} + +{% content-ref url="market-making.md" %} +[market-making.md](market-making.md) +{% endcontent-ref %} + +{% content-ref url="rewards.md" %} +[rewards.md](rewards.md) +{% endcontent-ref %} + +OUSD is able to generate higher yields than competing protocols due to a combination of important design decisions that amplify the rewards that are returned to OUSD holders: + +* Biaya keluar dikembalikan ke pool, memberi penghargaan kepada pemegang jangka panjang +* Price oracle lebih menyukai kolektif daripada individu, sekali lagi memberi penghargaan kepada pemegang jangka panjang +* Kontrak pintar harus secara manual memilih untuk mendapatkan hasil. Hal ini memungkinkan protokol untuk menempatkan lebih banyak modal untuk bekerja daripada yang mungkin dilakukan. +* Strategi cerdas menyeimbangkan risiko dan penghargaan dengan lebih efektif daripada menggunakan modal dalam strategi dasar apa pun. diff --git a/id/core-concepts/yield-generation/lending.md b/id/core-concepts/yield-generation/lending.md new file mode 100644 index 000000000..f9e9e13f3 --- /dev/null +++ b/id/core-concepts/yield-generation/lending.md @@ -0,0 +1,26 @@ +# Pinjaman + +**Menon-bankkan yang terbank** + +Platform peminjaman DeFi memungkinkan pengguna meminjamkan dan meminjam aset kripto tanpa perantara. Baik pemberi pinjaman dan peminjam mendapatkan nilai lebih dari kripto mereka. Pemberi pinjaman mendapatkan bunga, sementara peminjam menyetor kripto sebagai jaminan untuk mendapatkan akses ke kredit tanpa sakit kepala perbankan tradisional. Platform pinjaman DeFi saat ini memberikan pengembalian yang jauh lebih unggul bagi pemberi pinjaman daripada yang umumnya tersedia di pasar tradisional. + +OUSD terintegrasi dengan platform pinjaman DeFi yang menyediakan pinjaman dengan jaminan berlebih. Jaminan berlebih, dikombinasikan dengan aturan cerdas seputar likuidasi, memberikan tingkat keamanan yang wajar bagi pemberi pinjaman. Aave juga mengamankan kumpulan pinjaman mereka masing-masing dengan token AAVE, yang selanjutnya menurunkan risiko. + +OUSD terintegrasi dengan penyedia pinjaman terkemuka yang memiliki rekam jejak yang terbukti, mengaudit kontrak pintar, dan telah berhasil meminjamkan ratusan juta dolar tanpa masalah. Kami saat ini terintegrasi dengan platform pinjaman berikut: + +{% content-ref url="../supported-strategies/compound.md" %} +[compound.md](../supported-strategies/compound.md) +{% endcontent-ref %} + +{% content-ref url="../supported-strategies/aave.md" %} +[aave.md](../supported-strategies/aave.md) +{% endcontent-ref %} + + + + + + + + + diff --git a/id/core-concepts/yield-generation/market-making.md b/id/core-concepts/yield-generation/market-making.md new file mode 100644 index 000000000..cad0e90e5 --- /dev/null +++ b/id/core-concepts/yield-generation/market-making.md @@ -0,0 +1,22 @@ +# Pembuatan Pasar + +**Miliki Saham Anda di Bursa Terdesentralisasi** + +Automated market makers (AMMs) have quickly risen as the preferred form of decentralized exchange on the Ethereum network. Ini sebagian karena kesulitan mendukung buku pesanan DEX di Ethereum 1.0 yang dapat menyaingi pengalaman instan dan selip rendah di bursa terpusat. Lebih lanjut, AMM seperti Uniswap relatif ramah pengguna dan hemat gas untuk digunakan. + +AMMs can only enable new markets when liquidity providers supply liquidity (e.g. multiple tokens for given trading pairs or pools). Sebagai imbalan untuk menyediakan likuiditas, penyedia likuiditas diberi imbalan dengan biaya perdagangan ketika pengguna lain menukar token. For example, when traders swap two tokens on Uniswap v3, they are currently charged anywhere between 0.05% and 1% on top of the gas fees. These fees are distributed pro-rata to liquidity providers of the pair based on the percentage of total liquidity that they have provided. + +{% hint style="info" %} +[Kerugian tidak permanen](https://medium.com/@pintail/uniswap-a-good-deal-for-liquidity-providers-104c0b6816f2) merupakan faktor risiko yang penting untuk dipahami, namun kekhawatiran ini sebagian besar dapat diatasi oleh OUSD yang hanya menyediakan likuiditas untuk stablecoin dengan nilai yang kurang lebih sama. +{% endhint %} + +The OUSD protocol routes USDT, USDC, and DAI to highly-performing liquidity pools as determined by trading volume and rewards tokens (e.g. Curve rewards CRV tokens to liquidity providers). Hasil panen kemudian diteruskan ke pemegang OUSD. + +Kami saat ini terintegrasi dengan pembuat pasar otomatis berikut: + +{% content-ref url="../supported-strategies/curve.md" %} +[curve.md](../supported-strategies/curve.md) +{% endcontent-ref %} + + + diff --git a/id/core-concepts/yield-generation/rewards.md b/id/core-concepts/yield-generation/rewards.md new file mode 100644 index 000000000..cc8bfe1e7 --- /dev/null +++ b/id/core-concepts/yield-generation/rewards.md @@ -0,0 +1,12 @@ +# Hadiah + +**Collecting Rewards** + +Selain mengumpulkan bunga dari pinjaman dan biaya dari pembuatan pasar, kami bermaksud untuk secara otomatis mengklaim dan mengubah insentif bonus yang didistribusikan oleh banyak protokol DeFi. For example, Compound gives away COMP tokens and Curve gives away CRV tokens. Hadiah bonus ini akan secara teratur diubah menjadi stablecoin, disebarkan di pasar, dan didistribusikan ke pemegang OUSD dalam bentuk hasil tambahan. + +{% hint style="info" %} +Sementara vault dengan aman menyimpan hadiah tak terduga yang diterimanya, strategi khusus perlu ditulis dan diterapkan untuk memutuskan kapan dan bagaimana protokol harus mengubahnya menjadi stablecoin. +{% endhint %} + +Saat ini, penghargaan merupakan faktor penting bagi petani hasil karena mereka mewakili sebagian besar keuntungan mereka. Kami mengantisipasi bahwa protokol OUSD akan ditingkatkan dari waktu ke waktu untuk memanfaatkan hasil paling menarik yang tersedia di seluruh lanskap DeFi. Protokol akan memperhitungkan nilai pasar dari berbagai penghargaan yang ditawarkan saat memutuskan cara terbaik mengalokasikan sumber daya. + diff --git a/id/faq.md b/id/faq.md new file mode 100644 index 000000000..7dade47a8 --- /dev/null +++ b/id/faq.md @@ -0,0 +1,33 @@ +# FAQ + +**Dimana saya bisa membeli OUSD?** + +Lihat [Memulai](https://docs.ousd.com/getting-started) untuk melihat berbagai opsi. + +**Berapa biaya untuk mencetak dan menebus OUSD?** + +Seperti halnya transaksi Ethereum, Anda akan memerlukan Eter untuk berinteraksi dengan kontrak pintar OUSD. Kami telah mengambil langkah-langkah untuk mengurangi penggunaan gas jika memungkinkan, tetapi biaya ini dapat bervariasi. + +Setiap kali Anda mencetak atau menukarkan OUSD, akan ada nilai tukar yang diterapkan ke stablecoin Anda yang disetor atau ditarik. Anda dapat membaca lebih lanjut tentang ini di [Harga Oracles](https://docs.ousd.com/core-concepts/price-oracles). + +To encourage long-term holding of OUSD and to protect the protocol from attackers, an exit fee of 0.25% is charged on all redeems. You can read more about this in [How It Works](https://docs.ousd.com/how-it-works). + +**Seberapa cepat saldo saya akan bertambah setelah saya memiliki OUSD?** + +Jumlah OUSD di dompet Anda akan bertambah setiap kali ada acara rebase positif. Anda dapat membaca lebih lanjut tentang ini di [ Pasokan Elastis](https://docs.ousd.com/core-concepts/elastic-supply). Pasokan saat ini didasarkan ulang beberapa kali per hari dan biasanya berkorelasi dengan berapa banyak orang yang mencetak dan menukarkan OUSD. + +**Mengapa OUSD tidak tumbuh saat diadakan di Uniswap, SushiSwap, dll?** + +Secara default, peristiwa rebase tidak memengaruhi pasokan OUSD yang ada dalam kontrak pintar. Kontrak ini dapat memilih untuk menerima OUSD tambahan jika mereka mampu menangani token pasokan elastis. Anda dapat membaca lebih lanjut tentang ini di [Rebasing & Kontrak Pintar](https://docs.ousd.com/core-concepts/elastic-supply/rebasing-and-smart-contracts). + +**Bagaimana mungkin APY bisa begitu tinggi?** + +Anda dapat membaca tentang berbagai strategi kami di [Yield Generation](https://docs.ousd.com/core-concepts/yield-generation). We currently get most of the yield from harvesting rewards tokens (namely COMP and CRV). Selain itu, imbal hasil meningkat karena lebih banyak OUSD ditahan dalam kontrak pintar yang tidak memilih untuk melakukan rebasing karena jaminan yang mendasarinya terus menghasilkan untuk pemegang OUSD rata-rata. + +**Mengapa saldo saya meningkat lebih lambat dari APY yang diiklankan?** + +Saldo OUSD meningkat saat pasokan mengalami rebase. Tetapi ukuran setiap rebase sangat bervariasi tergantung pada berapa banyak yang diperoleh vault sejak rebase terakhir. Dan sementara sebagian besar rebase mengumpulkan sedikit pendapatan dari strategi pinjaman, rebase lainnya melibatkan likuidasi token hadiah atau mengumpulkan biaya. Akibatnya, hasil akan bervariasi secara signifikan selama periode waktu yang singkat. + +**Bagaimana dengan peretasan? Apakah OUSD aman?** + +Pada 7 November 2020, OUSD dieksploitasi sebanyak 7 juta USD karena bug reentrancy yang sebelumnya tidak terdeteksi. Anda dapat membaca lebih lanjut [detail tentang peretasan](https://medium.com/originprotocol/urgent-ousd-has-hacked-and-there-has-been-a-loss-of-funds-7b8c4a7d534c) di blog kami serta [detail rencana kompensasi](https://medium.com/originprotocol/origin-dollar-ousd-detailed-compensation-plan-faa73f87442e) untuk mengganti rugi pengguna yang terkena dampak. Origin Dollar diluncurkan kembali pada bulan Desember setelah menyelesaikan beberapa audit dan peningkatan keamanan. Anda dapat mempelajari lebih lanjut tentang langkah-langkah yang diambil untuk mengamankan protokol di [pengumuman peluncuran kembali](https://medium.com/originprotocol/origin-dollar-ousd-is-back-b8ee0c601dad). diff --git a/id/getting-started.md b/id/getting-started.md new file mode 100644 index 000000000..0afa7d1f6 --- /dev/null +++ b/id/getting-started.md @@ -0,0 +1,71 @@ +# Mulai + +Dokumen ini dimaksudkan untuk menjelaskan cara kerja OUSD, mengkomunikasikan potensi risiko dan manfaat, dan memberikan panduan bagi pengembang yang ingin berkontribusi pada basis kode kami atau mengintegrasikan OUSD ke dalam produk mereka. Berikut ini beberapa cara bagi Anda untuk menyelami dan memulai. + +**Buying OUSD** + +{% hint style="info" %} +The [Origin Dollar DApp](https://ousd.com/swap) will intelligently route your transaction to get you the best rate. +{% endhint %} + +The [Origin Dollar DApp](https://ousd.com/swap) allows anyone to buy or sell OUSD using a web-3 enabled cryptocurrency wallet like [Metamask](https://www.metamask.io), [Ledger](https://www.ledger.com), or [Gnosis Safe](https://gnosis-safe.io). This is the native way to get OUSD, especially if you want a large amount that could risk moving the market on other exchanges. The DApp will intelligently decide whether to create or trade-in OUSD tokens using the vault or help you complete the trade on whichever AMM is currently offering the best rate. + +**Decentralized Exchanges** + +OUSD is currently available on the following decentralized exchanges. These are listed here for reference only. We recommend using the [Origin Dollar DApp](https://ousd.com/swap) to ensure you always get the best rate. + +* [Beli OUSD di 1inch](https://app.1inch.io/#/1/swap/USDT/OUSD) +* [Buy OUSD on Curve](https://curve.fi/factory/9) +* [Beli OUSD di Uniswap v3](https://app.uniswap.org/#/swap?inputCurrency=0xdac17f958d2ee523a2206206994597c13d831ec7\&outputCurrency=0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86) +* [Beli OUSD di Uniswap v2](https://app.uniswap.org/#/swap?inputCurrency=0xdac17f958d2ee523a2206206994597c13d831ec7\&outputCurrency=0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86\&use=v2) +* [Beli OUSD di Sushiswap](https://exchange.sushiswapclassic.org/#/swap?inputCurrency=0xdac17f958d2ee523a2206206994597c13d831ec7\&outputCurrency=0x2a8e1e676ec238d8a992307b495b45b3feaa5e86) + +**Centralized Exchanges** + +OUSD is currently available on the following centralized exchanges. Be sure to check on how they are handling the yield that is being generated by the protocol. Depending on the exchange, there may be additional steps you need to take to participate in the yield while it's being held in their custody. + +* Beli OUSD di KuCoin + * [OUSD/USDT](https://trade.kucoin.com/OUSD-USDT) + * [OUSD/BTC](https://trade.kucoin.com/OUSD-BTC) +* Buy OUSD on Gate.io + * [OUSD/USDT](https://www.gate.io/trade/OUSD\_USDT) +* Buy OUSD on Virgox + * [OUSD/USDT](https://virgox.com/exchange/141) +* [Buy OUSD on Dharma App](https://www.dharma.io) (US only) + +We're continuing to work on making OUSD available on additional centralized exchanges. + +**Adding OUSD to Your Wallet** + +{% hint style="success" %} +The main ERC20 address for Origin Dollar (OUSD) is: \ +**0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +If your OUSD does not automatically show up in your wallet, you should be able to add it manually using the address above. If you are planning on [storing your OUSD in a multi-sig wallet](core-concepts/elastic-supply/rebasing-and-smart-contracts.md), be sure to opt-in to receive yield. We want to have OUSD supported by as many wallets as possible and included on all the various lists of well-known tokens. We would greatly appreciate any help you can offer in this area. + +**Integrating OUSD** + +OUSD is a non-standard ERC-20 token that requires custom integration work for most applications that wish to support it. In particular, it is important for developers to understand how our elastic supply works as this can easily cause unexpected behavior. + +If you are a wallet provider or crypto exchange that is interested in supporting OUSD, please refer to the following guides: + +{% content-ref url="core-concepts/elastic-supply/rebasing-and-smart-contracts.md" %} +[rebasing-and-smart-contracts.md](core-concepts/elastic-supply/rebasing-and-smart-contracts.md) +{% endcontent-ref %} + +{% content-ref url="smart-contracts/architecture.md" %} +[architecture.md](smart-contracts/architecture.md) +{% endcontent-ref %} + +{% content-ref url="smart-contracts/api/" %} +[api](smart-contracts/api/) +{% endcontent-ref %} + +**Developer Analytics** + +Our internal developer dashboard is available at [analytics.ousd.com](https://analytics.ousd.com). The dashboard shows the current circulating supply, the assets under management in the vault, and the current allocations between each of the stablecoins and strategies. + +**Getting Help** + +Please join the Origin Dollar #engineering room in Origin's [Discord](https://www.originprotocol.com/discord) server. Our team and members of our community look forward to helping you build. Your questions help us improve, so please don't hesitate to ask if you can't find what you are looking for here. diff --git a/id/governance/admin-privileges.md b/id/governance/admin-privileges.md new file mode 100644 index 000000000..9e9512a49 --- /dev/null +++ b/id/governance/admin-privileges.md @@ -0,0 +1,32 @@ +# Hak Istimewa Admin + +Kontrak pintar OUSD dirancang agar dapat diupgrade oleh pemilik. Tim Origin menggunakan dua kontrak dompet multisig Gnosis yang berbeda untuk membuat perubahan pada protokol. Dompet multisig ini telah [diaudit oleh OpenZeppelin](https://blog.openzeppelin.com/gnosis-multisig-wallet-audit-d702ff0e2b1e/), [ConsenSys Dilligence](https://blog.gnosis.pm/the-gnosis-multisig-wallet-and-our-commitment-to-security-ce9aca0d17f6), tim Origin, dan lainnya. + +{% hint style="info" %} +Tindakan admin yang menunda waktu memberi pengguna kesempatan untuk keluar dari OUSD jika adminnya menjadi jahat, disusupi, atau membuat perubahan yang tidak disukai pengguna. +{% endhint %} + +### Admin + +Admin utama adalah kontrak multisig 5 dari 8 yang diperlukan untuk membuat perubahan kode apa pun pada protokol. OUSD hanya dapat ditingkatkan dari dompet multi-sig 5 dari 8 ini. Kunci multi-sig ini dipegang oleh individu yang memiliki hubungan dekat dengan perusahaan, dan bahkan pendiri Origin yang bertindak bersama tidak memiliki kontrol yang cukup untuk menjalankan fungsi pemilik sendiri. In addition, the OUSD contracts are owned by a [timelock](../smart-contracts/api/timelock.md) which places a 48 hour time delay before any changes to the protocol can be made. + +### Strategist + +Some functionality, such as rebalancing funds between strategies or pausing deposits, can be triggered without the timelock and with far fewer signers. Hal ini memungkinkan tim Origin untuk bereaksi lebih cepat terhadap kondisi pasar atau ancaman keamanan. These signers, known as Strategists, have the ability to execute a limited number of functions __ with only 2 of 9 signers. + +The strategist multisig can do the following actions on the vault: + +* reallocate - move funds between strategies +* setVaultBuffer - adjust the amount of funds held outside strategies for cheaper redeems. +* setAssetDefaultStrategy - which strategy mints and redeems pull from for a particular strategy +* withdrawAllFromStrategy - remove funds from a single strategy and send them to the vault +* withdrawAllFromStrategies - remove funds from all active strategies and send them to the vault +* pauseRebase - pause all rebases +* pauseCapital - pause all mints and redeems +* unpauseCapital - allow all mints and redeems + +### Future + +Having these admin privileges is necessary in the early days to ensure that the protocol is secure and optimized for earning yields while minimizing risks. We expect to release multiple iterations of our smart contracts in the first several months of the protocol's existence. + +Once several upgrade cycles have been completed, we intend to transfer ownership from our company control to a decentralized governance contract, thereby allowing the community to vote and participate in future protocol updates. diff --git a/id/governance/contributing.md b/id/governance/contributing.md new file mode 100644 index 000000000..136b632fd --- /dev/null +++ b/id/governance/contributing.md @@ -0,0 +1,103 @@ +# Berkontribusi + +**100% Sumber terbuka** + +OUSD sepenuhnya merupakan proyek sumber terbuka dan kami menerima segala macam kontribusi. Ada banyak cara untuk membantu, dari melaporkan masalah, menyumbangkan kode, dan membantu kami meningkatkan komunitas kami. + +{% content-ref url="broken-reference" %} +[Broken link](broken-reference) +{% endcontent-ref %} + +We work in public and our company Discord is open to all. If you have questions or need help getting started, our [Discord OUSD channels](https://discord.gg/jyxpUSe) are the best place to get assistance from our team and community. + +{% content-ref url="broken-reference" %} +[Broken link](broken-reference) +{% endcontent-ref %} + +**Developer Analytics** + +Our internal developer dashboard is available at [analytics.ousd.com](https://analytics.ousd.com). The dashboard shows the current circulating supply, the assets under management in the vault, and the current allocations between each of the stablecoins and strategies. Various other developer tools can be found at [ousd.com/dashboard](https://ousd.com/dashboard). + +#### Proses pengembangan + +Our branching strategy is similar to [GitFlow](http://nvie.com/posts/a-successful-git-branching-model/), but we do all of our development in the `master` branch and have a `stable` branch for code that has been released. + +Your development flow should look like: + +1. Temukan masalah yang menarik dan komunikasikan! Harap beri tahu saluran `#engineering` [Discord](https://discord.gg/jyxpUSe) apa yang ingin Anda kerjakan. +2. Ping [anggota tim inti](https://github.com/orgs/OriginProtocol/teams/core/members) anggota di Discord dan minta untuk ditambahkan ke [tim kontributor](https://github.com/orgs/OriginProtocol/teams/contributors). Jika tidak, Anda harus membagi repositori yang relevan dan mendorong cabang fitur ke garpu Anda sendiri. +3. Tambahkan komentar ke masalah atau tetapkan sendiri sehingga kami tidak memiliki beberapa kontributor yang secara tidak sengaja mengerjakan tugas yang sama. +4. Mulailah dengan cabang `master` dan periksa cabang fitur baru kecuali Anda berkontribusi ke fitur yang ada. +5. Tulis beberapa kode yang luar biasa. +6. Tarik komit terbaru dari `master` dan konfirmasikan bahwa kode Anda berfungsi dengan pekerjaan lain yang telah digabungkan sejak Anda mulai. +7. Push your branch to the upstream repository (i.e. https://github.com/OriginProtocol/\[repo]) so that other contributors can easily work off of it if necessary. +8. Silakan meminta peninjauan di PR dengan mengklik ikon roda gigi di sebelah "Pengulas" di kolom kanan. + +For critical smart contract code to be merged it must pass the following checklist: + +* Kode ditinjau oleh 2 pengulas +* Tes unit lulus +* Tes meluncur lulus tanpa peringatan +* Tes Echidna lulus + +The `master` branch is locked so that only members of the [core team](https://github.com/orgs/OriginProtocol/teams/core) are able to merge your pull requests. Pull requests that are peer-reviewed by other trusted contributors will be fast-tracked and merged faster! Check in the `#engineering` Discord channel for appropriate reviewers. + +#### Gaya Pengkodean + +We use a variety of programming languages in our repositories. When contributing, please follow existing coding conventions and refer to the CONTRIBUTING.md file in the repository, if one exists. + +For JavaScript, we use [NPM’s style](https://docs.npmjs.com/misc/coding-style), which is automatically enforced via [prettier](https://prettier.io). + +For Solidity, we use two-space indents. + +#### Desain Protokol + +When considering protocol or implementation design proposals, we are looking for: + +* Deskripsi masalah yang diselesaikan oleh proposal desain ini +* Diskusi tentang trade-off yang terlibat +* Review solusi lain yang ada +* Links to relevant literature (RFCs, papers, etc) +* Diskusi tentang solusi yang diusulkan + +Please note that protocol design is hard and meticulous work. You may need to review existing literature and think through generalized use cases. + +#### Pedoman Komunitas + +We want to keep the Origin community awesome, growing and collaborative. We need your help to keep it that way. To help with this we’ve come up with some general guidelines for the community as a whole: + +* Bersikap baik: Bersikaplah sopan, hormat, dan sopan kepada sesama anggota komunitas: tidak ada pelecehan regional, ras, jenis kelamin, atau lainnya yang akan ditoleransi. Kami menyukai orang baik jauh lebih baik daripada orang jahat! +* Dorong keberagaman dan partisipasi: Buat semua orang di komunitas kami merasa diterima, terlepas dari latar belakang dan tingkat kontribusi mereka, dan lakukan segala kemungkinan untuk mendorong partisipasi dalam komunitas kami. +* Tetap legal: Pada dasarnya, jangan membuat siapa pun mendapat masalah. Bagikan hanya konten yang Anda miliki, jangan bagikan informasi pribadi atau sensitif, dan jangan melanggar hukum. +* Tetap sesuai topik: Pastikan Anda memposting ke saluran yang benar dan hindari diskusi di luar topik. Ingatlah saat Anda memperbarui masalah atau membalas email yang berpotensi Anda kirim ke banyak orang. Harap pertimbangkan ini sebelum Anda memperbarui. Ingat juga bahwa tidak ada yang suka spam. + +#### Melaporkan Masalah + +If you find bugs, mistakes or inconsistencies in Origin’s code or documents, please let us know by filing a GitHub issue. No issue is too small. Help us fix our tpyos! + +#### Masalah Keamanan + +OUSD is still in early development, which means there may be problems with the protocol or in our implementations. We take security vulnerabilities very seriously. If you discover a security issue, please bring it to our attention right away! + +If you find a security vulnerability please send your report privately to [security@originprotocol.com](mailto:security@originprotocol.com) or send an encrypted message to [@joshfraser on Keybase](https://keybase.io/joshfraser). Please DO NOT file a public issue. Be sure to review our guidelines for responsible disclosure and eligibility for bug bounties. + +{% content-ref url="../security-and-risks/bug-bounties.md" %} +[bug-bounties.md](../security-and-risks/bug-bounties.md) +{% endcontent-ref %} + +#### **Peningkatan Komunitas** + +Origin is just as much about community as it is about our technology. + +We need constant help in improving our documentation, building new tools to interface with our platform, spreading the word to new users, helping new users getting setup and much more. + +Please get in touch if you would like to help out. Our `discussion` channel on [Discord](https://www.originprotocol.com/discord) is a great place to share ideas and volunteer to help. + +#### Posisi Penuh Waktu + +Origin occasionally hires developers for part-time or full-time positions. + +We have a strong preference for hiring people who have already started contributing to the project. If you want a full-time position on our team, your best shot is to engage with our team and start contributing code. It is very unlikely that we would offer you a full-time position on our engineering team unless you’ve had at least a few pull requests merged. + +If you are interested, check out [the Origin Protocol job listings](https://angel.co/originprotocol/jobs). If you’d like to help in other ways, please propose your ideas in [our Discord channel](https://www.originprotocol.com/discord). + diff --git a/id/governance/governance.md b/id/governance/governance.md new file mode 100644 index 000000000..eea11a787 --- /dev/null +++ b/id/governance/governance.md @@ -0,0 +1,26 @@ +# Principles + +**Progressive Decentralization** + +OUSD is designed to be a decentralized protocol governed by many stakeholders all over the world. We believe that the minters and holders of OUSD should collectively determine important protocol decisions as soon as possible. + +That being said, in the very early days, it is imperative that the core engineering team can act quickly and decisively to build the foundational parts of the protocol. + +Decentralization will progress across four phases rapidly over the next few months. It is our intent to relinquish control and governance to the community as soon as possible. + +![](../.gitbook/assets/ousd_docs_graphics_2%20%283%29.png) + +**Timelock** + +Prior to full decentralized governance, we will implement a [timelock](../smart-contracts/api/timelock-1.md) in front of all admin function calls, giving OUSD users time \(48 hours\) to withdraw their funds if they have objections to our proposed upgrades. This timelock will be added shortly after launch. + +**New and Existing Stakeholders** + +OUSD is a new project founded by Origin Protocol [team](www.originprotocol.com/team) and will be supported by the existing Origin community as well as many new stakeholders that choose to mint, hold, use, and provide liquidity for OUSD. + +In addition, we also want to ensure high participation from our existing Origin Token \(OGN\) holders, community of close to 500,000 members, and buyers/sellers on the Platform. Existing OGN holders will be able to stake their OGN to participate in governance and earn incentives for driving value to OUSD. More details will be provided in the near future. + +The strong connection between OUSD and the rest of the Origin commerce platform will fuel growth in both initiatives. + + + diff --git a/id/governance/ogn-staking.md b/id/governance/ogn-staking.md new file mode 100644 index 000000000..0adb5500b --- /dev/null +++ b/id/governance/ogn-staking.md @@ -0,0 +1,18 @@ +# Staking OGN + +Origin Token (OGN) is intended as the governance token for OUSD and OGN will play an increasingly important role as the Origin Platform becomes more decentralized. Hari ini, pengguna dapat stake token OGN mereka untuk mendapatkan OGN tambahan setelah periode staking yang dipilih telah berlalu. + +{% hint style="info" %} +Kunjungi [OUSD DApp](https://www.ousd.com/stake) di browser yang mendukung web3 untuk staking OGN Anda. +{% endhint %} + +Program staking awal menawarkan tiga periode staking dan hasil masing-masing: + +* Periode staking 30 hari: Dapatkan bunga tahunan 7,5% +* Periode staking 90 hari: Dapatkan bunga tahunan 12,5% +* Periode staking 365 hari: Dapatkan bunga tahunan 25% + +Token yang distakingkan akan dikunci selama periode staking. After each staking period ends, you will be able to claim both your initial OGN (principal) and yield. + +OGN is currently trading on top exchanges like [Coinbase](https://www.coinbase.com/price/origin-token), [Binance](https://www.binance.com/en/register?ref=NPPYAEAE), [Huobi](https://www.huobi.com/en-us/exchange/ogn_usdt/), [Upbit](https://upbit.com/exchange?code=CRIX.UPBIT.BTC-OGN), [Bittrex Global](https://global.bittrex.com/Market/Index?MarketName=BTC-OGN), and [dozens more](https://coinmarketcap.com/currencies/origin-protocol/markets/). Kunjungi website Asal ke [mempelajari lebih lanjut tentang OGN](https://www.originprotocol.com/ogn-token) atau memeriksa [OGN Dashboard](https://www.originprotocol.com/dashboard) untuk melacak metrik tanda penting. + diff --git a/id/governance/phases.md b/id/governance/phases.md new file mode 100644 index 000000000..f08313546 --- /dev/null +++ b/id/governance/phases.md @@ -0,0 +1,6 @@ +# Tahapan + +Desentralisasi progresif akan mengikuti empat tahap seperti diuraikan di bawah ini. + +![](../.gitbook/assets/ousd_docs_graphics_2%20%282%29.png) + diff --git a/id/governance/principles.md b/id/governance/principles.md new file mode 100644 index 000000000..730858925 --- /dev/null +++ b/id/governance/principles.md @@ -0,0 +1,30 @@ +# Prinsip + +**Governance Portal** + +OGN holders are encouraged to participate in creating and voting on proposals that impact the protocol in the [OGN governance portal](https://vote.originprotocol.com). Anyone with at least 1,000 OGN in their wallet or staked in our OGN Staking contract can create a new proposal using Snapshot. All OGN holders are able to vote for proposals. Our desire is for our community to have a strong impact on the direction of Origin’s products, open-source codebase, and to have a voice in key business decisions and the overall direction of the project. + +OGN holders can also [delegate votes](vote-delegation.md) to another account. + +**Progressive Decentralization** + +OUSD is designed to be a decentralized protocol governed by many stakeholders all over the world. We believe that the holders of OUSD should collectively determine important protocol decisions as soon as possible. + +That being said, in the very early days, it is imperative that the core engineering team can act quickly and decisively to build the foundational parts of the protocol. + +Decentralization will progress across four phases rapidly over the next few months. It is our intent to relinquish control and governance to the community as soon as possible. + +![](../.gitbook/assets/ousd\_docs\_graphics\_2 (2).png) + +**Timelock** + +Prior to full decentralized governance, we will implement a [timelock](../smart-contracts/api/timelock.md) in front of all admin function calls, giving OUSD users time to withdraw their funds if they have objections to our proposed upgrades. + +**New and Existing Stakeholders** + +OUSD is a new project founded by Origin Protocol [team](https://www.originprotocol.com/team) and will be supported by the existing Origin community as well as many new stakeholders that choose to mint, hold, use, and provide liquidity for OUSD. + +In addition, we also want to ensure high participation from our existing Origin Token (OGN) holders and the millions of people in our community. Existing OGN holders are able to [stake their OGN](ogn-staking.md) to participate in governance and earn incentives for driving value to OUSD. + +The strong connection between OUSD and the rest of the Origin commerce platform will fuel growth in both initiatives. + diff --git a/id/governance/vote-delegation.md b/id/governance/vote-delegation.md new file mode 100644 index 000000000..9a8149d2f --- /dev/null +++ b/id/governance/vote-delegation.md @@ -0,0 +1,18 @@ +# Vote Delegation + +OGN holders can forward their voting power on the [Governance Portal](https://vote.originprotocol.com/#/) to another Ethereum address. Choosing this option does not strip the delegator of their voting power. The delegatee receives the extra voting power only on proposals the delegator has not voted on. + +This is convenient when users want someone they trust or even one of Origin's team members to make governance decisions regarding Origin's ecosystem. It is also useful when users have OGN stored more safely in a hardware wallet and don’t want to go through the hassle of connecting it to the computer. A more accessible Ethereum wallet e.g. Metamask can be used to vote by having voting power delegated to it from the hardware wallet.\ + + +**How to Delegate** + +* Go to: [https://snapshot.org/#/delegate](https://snapshot.org/#/delegate). +* Type in the address or ENS name you want to delegate to. +* There is an option to limit the delegation power to only Origin’s products by selecting _Limit delegation to a specific space_ and typing in “origingov.eth”. +* Click confirm to save your delegation.\ + + +![](../.gitbook/assets/Screenshot 2022-03-20 at 10.47.43.png) + +After completing these steps, the OGN voting power is successfully delegated to the address specified. diff --git a/id/guides/incentivized-harvesting-guide.md b/id/guides/incentivized-harvesting-guide.md new file mode 100644 index 000000000..a24597e9c --- /dev/null +++ b/id/guides/incentivized-harvesting-guide.md @@ -0,0 +1,46 @@ +# Incentivized Harvesting Guide + +The OUSD Harvester contract collects reward tokens earned by the OUSD strategies, sells them, and sends them on to increase protocol yield. **Anyone can call the harvest and earn 1% of the resulting USDT** for doing so. This creates a self-incentivizing system that operates at a known cost to the protocol. + +### When to call + +You'll want to call this contract when it is profitable to do so. You gain the 1% harvest USDT given by the contract, and spend the gas cost to send the transaction. + +The simplest way to calculate both of these is to simulate the transaction. You can then look at the resulting transfers to know the income received, and you can look at the gas amount used, the current gas prices, and the current cost of ETH, to find out the cost. + +Alternatively you can precompute the gas used for a given strategy's harvest, look up the pending reward tokens using various online services, then do your calculations without using the blockchain. + +The amount of rewards increases at a fairly steady, predictable rate. The primary variation is in gas prices, which will make a much bigger minute to minute difference on when you should call this. + +When calculating profitability, remember to account for the cost to swap back to ETH from USDT. + +### How to call + +When you call the harvest, **you will want to use some form of MEV protection**. Otherwise bots will see that your transaction is profitable, and execute it ahead of you, leaving you no gain and only gas fees. + +To harvest, you call `harvester.harvestAndSwap(strategyAddress, rewardTo)`. + +The harvester address and strategyAddresses can be found in the strategy tab of the [contract registry](../smart-contracts/registry.md). The `rewardTo` address is the account that will receive the USDT funds as a reward for calling the function - use your own address for it. + +Below is the harvestAndSwap ABI: + +``` +[{ + "inputs": [ + { + "internalType": "address", + "name": "_strategyAddr", + "type": "address" + }, + { + "internalType": "address", + "name": "_rewardTo", + "type": "address" + } + ], + "name": "harvestAndSwap", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" +}] +``` diff --git a/id/guides/integration-guide-for-exchanges.md b/id/guides/integration-guide-for-exchanges.md new file mode 100644 index 000000000..68e7b3b11 --- /dev/null +++ b/id/guides/integration-guide-for-exchanges.md @@ -0,0 +1,34 @@ +# Panduan Integrasi Untuk Pertukaran + +Pertukaran terpusat akan memainkan peran penting dalam membantu kami mencapai tujuan kami untuk membuat OUSD ada di mana-mana. Kami dengan senang hati membantu pertukaran apa pun yang ingin membuat OUSD tersedia bagi penggunanya. Kami percaya OUSD akan menjadi tambahan yang bagus untuk pertukaran apa pun yang ingin menawarkan stablecoin superior dan peluang hasil tinggi baru bagi penggunanya. + +Dokumen ini adalah titik awal yang bagus untuk memahami cara kerja OUSD. Berikut adalah beberapa pertanyaan penting untuk pertukaran yang ingin mengintegrasikan OUSD untuk dipertimbangkan: + +**Do you want to participate in the yield that is generated?** + +Kami berasumsi bahwa jawabannya adalah ya dan kami juga sangat menganjurkan hal ini! Namun, mungkin ada beberapa contoh di mana Anda lebih memilih untuk bergerak cepat dan mendaftar OUSD tanpa berpartisipasi dalam sifat [rebasing dari OUSD](../core-concepts/elastic-supply/rebasing-and-smart-contracts.md) karena ini adalah integrasi tercepat dan paling sederhana. Untuk pertukaran yang ingin mencantumkan OUSD, tetapi kekurangan sumber daya teknik, Anda mungkin ingin meluncurkan versi non-rebasing terlebih dahulu sementara teknisi Anda membuat perubahan apa pun yang diperlukan. Untuk membuat OUSD non-rebasing, Anda dapat memanggil `rebaseOptOut()` dari setiap dompet EOA yang menyimpan OUSD, atau tidak melakukan apa pun jika Anda menyimpan OUSD pada kontrak pintar. Non-rebasing OUSD behaves just like any other ERC-20 token. + +**Are you storing customer balances on smart contracts (ie. multi-sigs) or EOA wallets?** + +Kontrak cerdas apa pun yang memegang OUSD perlu memilih secara manual untuk menerima hasil dengan memanggil `rebaseOptIn()`. Hal ini disebabkan oleh pasokan elastis [](../core-concepts/elastic-supply/) dan sifat [rebasing dari OUSD](../core-concepts/elastic-supply/rebasing-and-smart-contracts.md). Banyak pertukaran menyapu dana pelanggan ke dompet multi-tanda untuk penyimpanan dingin. Jika Anda melakukan ini, Anda pasti ingin memastikan bahwa Anda memilih untuk melakukan rebasing sehingga Anda selalu menghasilkan. + +**Apakah Anda melakukan caching saldo pengguna?** + +OUSD secara dinamis memperbarui nilai yang dikembalikan oleh fungsi `balanceOf()` pada kontrak ERC20 kami. Users' balances will update at unpredictable times as new yield is generated by the protocol. Selama Anda tidak menyimpan nilai ini dalam cache, pengguna akan selalu melihat jumlah OUSD yang benar yang mereka pegang. + +It's important to note that while OUSD is a rebasing token, user balances will only rebase in a positive direction (your balance will never go down). This makes things a lot simpler than integrating with other rebasing coins like AMPL or other algo-stables. + +**Are you comingling user funds?** + +If you are comingling funds, you'll want to be sure that each user gets their pro-rata amount of the yield that is generated by the protocol. Probably the easiest way to do this is to track each user's balance as a percentage of a pool instead of as a fixed amount. + +**Are you planning to provide liquidity?** + +The Origin team is often willing to provide a market maker and initial liquidity for exchanges that wish to integrate OUSD. There are also 9 figures worth of liquidity available on decentralized exchanges like [Curve](https://curve.fi/factory/9). + +If you are interested in using OUSD to power your own staking or earning program, you will probably want to be able to access OUSD on demand. OUSD can always be minted or redeemed using the [Origin Dollar DApp](https://www.ousd.com), or directly from the OUSD [smart contracts](../smart-contracts/registry.md). If you are planning on providing liquidity yourself, you should be aware that the exact amount of OUSD you will receive in exchange for your USDT, USDC, or DAI depends on the current exchange rates as determined by the [oracles.](../core-concepts/price-oracles.md) If you are planning on redeeming OUSD for the underlying stablecoins, you should know there is a 0.25% exit fee and OUSD will return a basket of stable coins in proportion to the backing stablecoins in the pool. We encourage exchanges to leverage existing pools of liquidity to avoid those fees. If possible, mints or redeems should be done in large batches for maximum efficiency. + +#### Do you have other questions? + +The best way to get help from both our engineering and business teams is usually on [Discord](https://www.originprotocol.com/discord). + diff --git a/id/how-it-works.md b/id/how-it-works.md new file mode 100644 index 000000000..b5951e443 --- /dev/null +++ b/id/how-it-works.md @@ -0,0 +1,39 @@ +# Cara kerjanya + +#### 100% Didukung dan Stabil + +Origin Dollar (OUSD) is an ERC-20 compliant token for the Ethereum network. + +OUSD adalah mata uang stabil yang didukung 1: 1 oleh stablecoin lain seperti USDT, USDC, dan DAI. Akibatnya, 1 OUSD seharusnya selalu mendekati nilai 1 USD. + +{% hint style="success" %} +1 OUSD = 1 USD +{% endhint %} + +#### Buying OUSD + +Users can convert their existing stablecoins (currently USDT, USDC, and DAI) to OUSD at the official [Origin Dollar DApp](https://www.ousd.com). Received OUSD begins accruing compounding yield immediately. + +The Origin DApp will intelligently route user's transactions to give them the best available price while taking slippage and gas costs into consideration. This means that the DApp will sometimes encourage users to buy OUSD that is already in circulation versus minting fresh OUSD from the vault. The OUSD DApp will choose from multiple sources of liquidity and will suggest the option that gives the user the best possible rate. + +**Selling OUSD** + +Users can convert their OUSD back into other stablecoins at any time using the [Origin Dollar DApp](https://www.ousd.com). The Origin DApp will intelligently route user's transactions to give them the best available price while taking slippage, gas costs, and the vault's exit fee into consideration. This means that the DApp will often help users sell their OUSD on AMM's instead of redeeming OUSD with the vault and incurring the protocol's exit fee. + +A 0.25% exit fee is charged upon redemption with the vault. This fee is distributed as additional yield to the remaining participants in the vault (ie. other OUSD holders). The fee serves as a security feature to make it difficult for attackers to take advantage of lagging oracles, preventing them from siphoning stablecoins from the vault in the event of mispriced underlying assets. The fee exists to incentivize long-term holders over short-term speculators. + +Upon redemption, the vault will determine which stablecoin(s) to return to the user. In the current implementation, the vault will return coins in the same ratio as the current holdings. This lack of user optionality also protects the vault as a whole in the event that any of the supported stablecoins loses its peg to the dollar. + +{% hint style="warning" %} +Redemptions on the OUSD vault incur a **0.25% exit fee** and the user doesn't get to pick which stablecoins they receive. Users can often avoid this fee by selling to an AMM instead. +{% endhint %} + +#### Hasil Pertanian O**tomatis** + +OUSD generates yields by deploying the underlying stablecoins that were deposited to the OUSD smart contract to other DeFi protocols such as Compound, Aave, and Curve. There may be new diversified strategies added to the vault in the future. Collected interest, trading fees, and rewards tokens are pooled and converted to stablecoins to produce OUSD-denominated yields. Over time, the protocol will move assets in and out of different liquidity pools in order to provide the best yield to the holders of OUSD. + +#### **Pasokan Elastis** + +The generated returns are passed on to the holders of OUSD via constant rebasing of the money supply. OUSD constantly adjusts the money supply in response to the yield the protocol has generated. This allows the price of OUSD to stay pegged at $1 while the balances in token holders' wallets adjust in real-time to reflect yields that have been earned by the protocol. + +The end result is a stablecoin that is easy to spend, earns outsized yields automatically, and is more desirable to hold than existing stablecoins. diff --git a/id/security-and-risks/asset-risk.md b/id/security-and-risks/asset-risk.md new file mode 100644 index 000000000..92140f5ed --- /dev/null +++ b/id/security-and-risks/asset-risk.md @@ -0,0 +1,33 @@ +# Bug Bounties + +**Bug Bounties** + +Bug bounties are granted at the full discretion of Origin Protocol. The rewards range in size from **$100** for minor issues to **$250,000** for major vulnerabilities. Currently, the bounty program only applies to OUSD and not other products from Origin. + +{% hint style="warning" %} +In order to be eligible for a bug bounty, you must follow the rules of Responsible Disclosure outlined below. +{% endhint %} + +**Responsible Disclosure** + +Security is our top priority and we've taken every effort to make sure our code is secure and works as intended. However, it's completely possible that vulnerabilities both large and small may have gone undetected. + +In case you discover a vulnerability, we would like to know about it immediately so we can take steps to address it as quickly as possible. + +If you discover a vulnerability, please do the following: + +* Report your findings to [security@originprotocol.com](mailto:security@originprotcol.com) or contact [Josh Fraser on Keybase](https://keybase.io/joshfraser) +* Do not take advantage of the vulnerability or problem you have discovered +* Do not reveal the problem to others until it has been resolved +* Do not use attacks on physical security, social engineering, distributed denial of service, spam or applications of third parties +* Do provide sufficient information to reproduce the problem, so we will be able to resolve it as quickly as possible. Complex vulnerabilities may require further explanation so we might ask you for additional information. + +In return, we promise: + +* We will respond to your report within 3 business days with our evaluation of the report and an expected resolution date +* If you have followed the instructions above, we will not take any legal action against you in regard to the report +* We will handle your report with strict confidentiality, and not pass on your personal details to third parties without your permission +* If you so wish we will keep you informed of the progress towards resolving the problem +* In the public information concerning the problem reported, we will give your name as the discoverer of the problem \(unless you desire otherwise\) +* As a token of our gratitude for your assistance, we offer a reward for every report of a security problem that was not yet known to us. The amount of the reward will be determined based on the severity of the leak, the quality of the report, and any additional assistance you provide. + diff --git a/id/security-and-risks/audits.md b/id/security-and-risks/audits.md new file mode 100644 index 000000000..d924201f5 --- /dev/null +++ b/id/security-and-risks/audits.md @@ -0,0 +1,40 @@ +# Audit + +**Gudang OUSD, ERC-20, dan Sistem Keseluruhan** + +OUSD telah diaudit oleh beberapa perusahaan keamanan yang dihormati. We have worked with [OpenZeppelin](https://openzeppelin.com), [Trail of Bits](https://www.trailofbits.com), [Solidified](https://solidified.io), and [Certora](https://www.certora.com) to audit all of the code that powers Origin Dollar. Temuan mereka tersedia di bawah ini: + +* [Trail of Bits, Audit OUSD, Desember 2020](https://github.com/OriginProtocol/security/blob/master/audits/Trail%20of%20Bits%20-%20Origin%20Dollar%20-%20Dec%202020.pdf) +* [Solidified, Audit OUSD, Desember 2020](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20Origin%20Dollar%20-%20Dec%202020.pdf) +* [Solidified, Audit Staking OUSD, Desember 2020](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20OGN%20Staking%20-%20Dec%202020.pdf) +* [Certora, Audit Verifikasi Formal OUSD, Januari 2021](https://www.certora.com/pubs/OriginFeb2021.pdf) +* [OpenZeppelin, OUSD Audit, August 2021](https://github.com/OriginProtocol/security/blob/master/audits/OpenZeppelin%20-%20Origin%20Dollar%20-%20October%202021.pdf) +* [Solidified, wOUSD, ERC721a, Governance, Harvester & Dripper Audit, May 2022](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20OGV%2C%20wOUSD%2C%20and%20ERC721a%20-%20May%202022.pdf) + +Both our initial and future governance tokens have been audited as well: + +* [Trail of Bits, Audit OUSD, Desember 2018](https://github.com/OriginProtocol/security/blob/master/audits/Trail%20of%20Bits%20-%20Origin%20Marketplace%20and%20OGN%20Token%20-%20Nov%202018.pdf) +* [Solidified, OGV Audit, May 2022](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20OGV%2C%20wOUSD%2C%20and%20ERC721a%20-%20May%202022.pdf) + +Selain itu, strategi dan ketergantungan mendasar yang digunakan OUSD telah diaudit secara menyeluruh oleh berbagai perusahaan. + +{% hint style="info" %} +OUSD hanya mengintegrasikan strategi yang telah diaudit dan diuji secara cermat dengan modal yang signifikan selama periode waktu yang lama. +{% endhint %} + +**Strategi Compound dan Umpan Harga Terbuka** + +Compound has been audited by [Trail of Bits](https://www.trailofbits.com) and [OpenZeppelin](https://openzeppelin.com) and formally verified by [Certora](https://www.certora.com). Kunjungi situs web Compound untuk [daftar lengkap audit](https://compound.finance/docs/security#audits) termasuk kode asli untuk [Timelock](../smart-contracts/api/timelock.md) yang dimodifikasi yang digunakan OUSD. + +**Strategi Aave** + +Aave has been audited by [Trail of Bits](https://www.trailofbits.com), [OpenZeppelin](https://openzeppelin.com), [ConsenSys Diligence](https://consensys.net/diligence/), [Certik](https://certik.io), [MixBytes](https://mixbytes.io), and [PeckShield](https://peckshield.com). They have also been formally verified by [Certora](https://www.certora.com). Kunjungi situs web Aave untuk [daftar lengkap audit mereka](https://docs.aave.com/developers/security-and-audits). + +**Strategi Curve** + +Curve has been audited by [Trail of Bits](https://www.trailofbits.com) and [Quantstamp](https://quantstamp.com). Kunjungi situs web Curve untuk [daftar lengkap audit mereka](https://www.curve.fi/audits). + +**Chainlink Oracle** + +Chainlink has been audited by [Quantstamp](https://github.com/smartcontractkit/chainlink/tree/bafa91c), [SigmaPrime](https://github.com/smartcontractkit/chainlink/tree/cee356), [Callisto](https://gist.github.com/yuriy77k/c3a70d212a7f9ecda715252e45073158), and [Nick Johnson](https://github.com/smartcontractkit/chainlink/tree/5327f9). + diff --git a/id/security-and-risks/bug-bounties.md b/id/security-and-risks/bug-bounties.md new file mode 100644 index 000000000..16a2b7eab --- /dev/null +++ b/id/security-and-risks/bug-bounties.md @@ -0,0 +1,32 @@ +# Bug Bounties + +**Bug Bounties** + +Bug bounty diberikan atas kebijakan penuh dari Origin Protocol. The rewards range in size from **$100 OUSD** for minor issues to **$250,000 OUSD** for major vulnerabilities. Saat ini program bounty hanya berlaku untuk OUSD dan bukan produk lain dari Origin. + +{% hint style="warning" %} +Agar memenuhi syarat untuk menerima bug bounty, Anda harus mengikuti aturan Pengungkapan yang Bertanggung Jawab yang diuraikan di bawah. +{% endhint %} + +**Pengungkapan yang Bertanggung Jawab** + +Keamanan adalah prioritas utama kami dan kami telah melakukan segala upaya untuk memastikan kode kami aman dan berfungsi sebagaimana mestinya. Namun, sangat mungkin bahwa kerentanan baik besar maupun kecil telah tidak terdeteksi. + +Jika Anda menemukan kerentanan, kami ingin segera mengetahuinya sehingga kami dapat mengambil langkah untuk mengatasinya secepat mungkin. + +Jika Anda menemukan kerentanan, lakukan hal berikut: + +* Report your findings to [security@originprotocol.com](mailto:security@originprotocol.com) or contact [Josh Fraser on Keybase](https://keybase.io/joshfraser). Here is an example of a [well written disclosure](https://gist.github.com/DanielVF/66f459da88804d1fd917c47576c68523). +* Jangan memanfaatkan kerentanan atau masalah yang Anda temukan +* Jangan mengungkapkan masalah kepada orang lain sampai masalah tersebut diselesaikan +* Jangan menggunakan serangan terhadap keamanan fisik, rekayasa sosial, penyangkalan layanan terdistribusi, spam atau aplikasi pihak ketiga +* Berikan informasi yang memadai untuk mereproduksi masalah, sehingga kami akan dapat menyelesaikannya secepat mungkin. Complex vulnerabilities may require further explanation so we might ask you for additional information. + +Sebagai gantinya, kami berjanji: + +* Kami akan menanggapi laporan Anda dalam 3 hari kerja dengan evaluasi laporan kami dan tanggal penyelesaian yang diharapkan +* Jika Anda telah mengikuti petunjuk di atas, kami tidak akan mengambil tindakan hukum apa pun terhadap Anda terkait laporan tersebut +* Kami akan menangani laporan Anda dengan kerahasiaan yang ketat, dan tidak memberikan informasi pribadi Anda kepada pihak ketiga tanpa izin Anda +* Jika Anda menginginkannya, kami akan terus memberi tahu Anda tentang kemajuan dalam menyelesaikan masalah +* In the public information concerning the problem reported, we will give your name as the discoverer of the problem (unless you desire otherwise) +* Sebagai tanda terima kasih kami atas bantuan Anda, kami menawarkan hadiah untuk setiap laporan masalah keamanan yang belum kami ketahui. Jumlah hadiah akan ditentukan berdasarkan tingkat keparahan kebocoran, kualitas laporan, dan bantuan tambahan yang Anda berikan. diff --git a/id/security-and-risks/contributing.md b/id/security-and-risks/contributing.md new file mode 100644 index 000000000..9be2534a9 --- /dev/null +++ b/id/security-and-risks/contributing.md @@ -0,0 +1,95 @@ +# Berkontribusi + +**100% Sumber terbuka** + +OUSD sepenuhnya merupakan proyek sumber terbuka dan kami menerima segala macam kontribusi. Ada banyak cara untuk membantu, dari melaporkan masalah, menyumbangkan kode, dan membantu kami meningkatkan komunitas kami. + +Kami bekerja di depan umum dan perusahaan kami Discord terbuka untuk semua. Jika Anda memiliki pertanyaan atau membutuhkan bantuan untuk memulai, saluran Discord OUSD kami adalah tempat terbaik untuk mendapatkan bantuan dari tim dan komunitas kami. + +**Developer Analytics** + +Our internal developer dashboard is available at [analytics.ousd.com](https://analytics.ousd.com). The dashboard shows the current circulating supply, the assets under management in the vault, and the current allocations between each of the stablecoins and strategies. + +#### Proses pengembangan + +Our branching strategy is similar to [GitFlow](http://nvie.com/posts/a-successful-git-branching-model/), but we do all of our development in the `master` branch and have a `stable` branch for code that has been released. + +Your development flow should look like: + +1. Temukan masalah yang menarik dan komunikasikan! Harap beri tahu saluran `#engineering` [Discord](https://discord.gg/jyxpUSe) apa yang ingin Anda kerjakan. +2. Ping [anggota tim inti](https://github.com/orgs/OriginProtocol/teams/core/members) anggota di Discord dan minta untuk ditambahkan ke [tim kontributor](https://github.com/orgs/OriginProtocol/teams/contributors). Jika tidak, Anda harus membagi repositori yang relevan dan mendorong cabang fitur ke garpu Anda sendiri. +3. Tambahkan komentar ke masalah atau tetapkan sendiri sehingga kami tidak memiliki beberapa kontributor yang secara tidak sengaja mengerjakan tugas yang sama. +4. Mulailah dengan cabang `master` dan periksa cabang fitur baru kecuali Anda berkontribusi ke fitur yang ada. +5. Ikuti [gaya pengkodean](https://docs.originprotocol.com/guides/getting_started/contributing.html#contributing-email-coding-style) dan tulis kode yang mengagumkan. +6. Tarik komit terbaru dari `master` dan konfirmasikan bahwa kode Anda berfungsi dengan pekerjaan lain yang telah digabungkan sejak Anda mulai. +7. Dorong cabang Anda ke repositori hulu \ (yaitu https: //github.com/OriginProtocol/ \ [repo \] \) sehingga kontributor lain dapat dengan mudah mengerjakannya jika perlu. +8. Silakan meminta peninjauan di PR dengan mengklik ikon roda gigi di sebelah "Pengulas" di kolom kanan. + +For critical smart contract code to be merged it must pass the following checklist: + +* Code reviewed by 2 reviewers +* Unit tests pass +* Slither tests pass with no warning +* Echidna tests pass + +The `master` branch is locked so that only members of the [core team](https://github.com/orgs/OriginProtocol/teams/core) are able to merge your pull requests. Pull requests that are peer-reviewed by other trusted contributors will be fast-tracked and merged faster! Check in the `#engineering` Discord channel for appropriate reviewers. + +#### Gaya Pengkodean + +We use a variety of programming languages in our repositories. When contributing, please follow existing coding conventions and refer to the CONTRIBUTING.md file in the repository, if one exists. + +For JavaScript, we use [NPM’s style](https://docs.npmjs.com/misc/coding-style), which is automatically enforced via [prettier](https://prettier.io/). + +For Solidity, we use two-space indents. + +#### Desain Protokol + +When considering protocol or implementation design proposals, we are looking for: + +* A description of the problem this design proposal solves +* Discussion of the trade-offs involved +* Review of other existing solutions +* Links to relevant literature \(RFCs, papers, etc\) +* Discussion of the proposed solution + +Please note that protocol design is hard and meticulous work. You may need to review existing literature and think through generalized use cases. + +#### Pedoman Komunitas + +We want to keep the Origin community awesome, growing and collaborative. We need your help to keep it that way. To help with this we’ve come up with some general guidelines for the community as a whole: + +* Be nice: Be courteous, respectful and polite to fellow community members: no regional, racial, gender, or other abuse will be tolerated. We like nice people way better than mean ones! +* Encourage diversity and participation: Make everyone in our community feel welcome, regardless of their background and the extent of their contributions, and do everything possible to encourage participation in our community. +* Keep it legal: Basically, don’t get anybody in trouble. Share only content that you own, do not share private or sensitive information, and don’t break laws. +* Stay on topic: Make sure that you are posting to the correct channel and avoid off-topic discussions. Remember when you update an issue or respond to an email you are potentially sending to a large number of people. Please consider this before you update. Also remember that nobody likes spam. + +#### Melaporkan Masalah + +If you find bugs, mistakes or inconsistencies in Origin’s code or documents, please let us know by filing a GitHub issue. No issue is too small. Help us fix our tpyos! + +#### Masalah Keamanan + +OUSD is still in early development, which means there may be problems with the protocol or in our implementations. We take security vulnerabilities very seriously. If you discover a security issue, please bring it to our attention right away! + +If you find a security vulnerability please send your report privately to [security@originprotocol.com](mailto:security@originprotocol.com) or send an encrypted message to [@joshfraser on Keybase](https://keybase.io/joshfraser). Please DO NOT file a public issue. Be sure to review our guidelines for responsible disclosure and eligibility for bug bounties. + +{% page-ref page="bug-bounties.md" %} + +#### **Peningkatan Komunitas** + +Origin is just as much about community as it is about our technology. + +We need constant help in improving our documentation, building new tools to interface with our platform, spreading the word to new users, helping new users getting setup and much more. + +Please get in touch if you would like to help out. Our `general` channel on [Discord](https://www.originprotocol.com/discord) is a great place to share ideas and volunteer to help. + +#### Posisi Penuh Waktu + +Origin occasionally hires developers for part-time or full-time positions. + +We have a strong preference for hiring people who have already started contributing to the project. If you want a full time position on our team, your best shot is to engage with our team and start contributing code. It is very unlikely that we would offer you a full-time position on our engineering team unless you’ve had at least a few pull requests merged. + +If you are interested, check out [the Origin Protocol job listings](https://angel.co/originprotocol/jobs). If you’d like to help in other ways, please propose your ideas in [our Discord channel](https://www.originprotocol.com/discord). + + + diff --git a/id/security-and-risks/insurance.md b/id/security-and-risks/insurance.md new file mode 100644 index 000000000..3534b27bc --- /dev/null +++ b/id/security-and-risks/insurance.md @@ -0,0 +1,15 @@ +# Pertanggungan + +OUSD holders can buy smart contract insurance to cover any losses that might result from any bugs or vulnerabilities in the OUSD contracts, including economic exploits (such as flash loans attacks). Selain itu, siapa pun yang ingin bertaruh finansial pada keamanan kontrak kami dapat memperoleh hasil dengan menyediakan pertanggungan. + +DeFi coverage for OUSD is currently available via[ Nexus Mutual](https://nexusmutual.io) and [InsurAce Protocol](https://www.insurace.io). These partnerships allow for more effective risk management by OUSD holders while creating new opportunities for coverage providers to profit. + +Read our [announcement post](https://medium.com/originprotocol/origin-partners-with-nexus-mutual-to-offer-defi-insurance-for-origin-dollar-ousd-6eb3432ee042) to learn how to [buy coverage](https://app.nexusmutual.io/cover/buy/get-quote?address=0xE75D77B1865Ae93c7eaa3040B038D7aA7BC02F70), [provide coverage](https://app.nexusmutual.io/staking), or [participate in shield mining campaigns](https://app.nexusmutual.io/rewards) with Nexus Mutual. You can learn more about InsurAce and how to buy coverage on their [user guide](https://docs.insurace.io/landing-page/documentation-1/user-guide) or [documentation](https://docs.insurace.io/landing-page/). + +**Nexus Mutual Coverage** + +Read our[ announcement post](https://medium.com/originprotocol/origin-partners-with-nexus-mutual-to-offer-defi-insurance-for-origin-dollar-ousd-6eb3432ee042) to learn how to[ buy coverage](https://app.nexusmutual.io/cover/buy/get-quote?address=0x0000000000000000000000000000000000000016),[ provide coverage](https://app.nexusmutual.io/staking), and[ participate in shield mining campaigns](https://app.nexusmutual.io/rewards) with Nexus Mutual. + +**InsurAce Protocol Coverage** + +Read InsurAce Protocol’s [User Guide](https://docs.insurace.io/landing-page/documentation-1/user-guide) to learn how to [buy coverage](https://docs.insurace.io/landing-page/documentation-1/user-guide/dashboard) and participate in [underwriting mining](https://docs.insurace.io/landing-page/documentation-1/user-guide/how-to-stake) for OUSD. diff --git a/id/security-and-risks/risks.md b/id/security-and-risks/risks.md new file mode 100644 index 000000000..6f9a5fb48 --- /dev/null +++ b/id/security-and-risks/risks.md @@ -0,0 +1,44 @@ +# Resiko + +{% hint style="danger" %} +Gunakan dengan resiko Anda sendiri. Jangan menggunakan modal lebih dari yang Anda rela kehilangan. +{% endhint %} + +Seperti halnya produk DeFi yang menghasilkan hasil, ada risiko terkait dengan memegang OUSD yang penting untuk dipahami. Risiko-risiko ini secara luas dapat diklasifikasikan menjadi 3 kategori: + +* Risiko kontrak pintar OUSD +* Risiko platform pihak ketiga yang mendasari +* Risiko stablecoin yang mendasari + +**Risiko kontrak pintar OUSD** + +Kontrak cerdas kami telah [diaudit](audits.md) oleh beberapa perusahaan keamanan yang dihormati. Kontrak pintar kami belum diaudit, dan bahkan dengan audit formal, masih mungkin terjadi kesalahan logika yang akan menyebabkan hilangnya dana bagi para pemegang OUSD. Kontrak melibatkan matematika dan logika yang kompleks. Meskipun kami telah mengambil setiap tindakan pencegahan untuk memastikan keselamatan dan keamanan kontrak pintar kami, pengguna diingatkan untuk menggunakan dengan risiko mereka sendiri. Origin Protocol tidak akan bertanggung jawab atas hilangnya dana, terlepas dari siapa yang bersalah. + +**Risiko platform pihak ketiga** + +OUSD dibangun di atas platform DeFi lainnya seperti Aave, Compound, dan Curve yang menambahkan risiko kontrak pintar tambahan. We are choosing to work with platforms that have literally billions of dollars of assets under management and have made a reasonable efforts to ensure the security of their protocols. Namun, tidak ada jaminan bahwa platform yang mendasarinya akan terus berfungsi sebagaimana mestinya, dan kegagalan dalam strategi yang mendasarinya kemungkinan besar akan menyebabkan hilangnya dana bagi para pemegang OUSD. + +**Risiko Stablecoin** + +Penting untuk dipahami bahwa OUSD hanya sekuat stablecoin yang mendukungnya. Any loss of value to an underlying stablecoin asset will cause a similar loss to the value of OUSD. While OUSD is designed to maintain a 1:1 relationship between supply and number of backing stablecoins, it does not guarantee which stablecoins will make up that backing nor the value of those coins. + +Penting untuk dicatat bahwa setiap stablecoin yang didukung ini menimbulkan risiko pihak lawan yang tidak sepele. Tether, khususnya, memiliki masalah perbankan yang terdokumentasi dengan baik dan tantangan regulasi. Selain itu, baik USDT dan USDC memiliki pintu belakang yang memberikan kuasa kepada penerbitnya untuk membekukan uang di dompet pemegangnya. While DAI does not have any direct backdoors, its assets can also be negatively impacted since USDC and USDT are accepted as collateral for minting DAI. + +**Risk mitigation** + +While it's impossible to guarantee our contracts are 100% safe, we have taken every step possible to mitigate the chance of losing funds: + +We regularly have our work [audited ](audits.md)by the top auditors in the industry. + +[DeFi insurance](insurance.md) is availble to offer smart contract coverage as an optional add-on service for OUSD holders. + +We have retained [Certora](https://www.certora.com) to formally verify the various security properties of our contracts. They helped us establish automated verifications that will run anytime we update our contract code. We have automated checking for common errors with [Slither](https://github.com/crytic/slither) and [Echidna](https://github.com/crytic/echidna) tests. Together, these alert our team to common security issues in addition to our own test suite. + +Code reviews involving our smart contracts are incredibly rigorous. We require at least two engineers to review each change with a detailed checklist and we prioritize security reviews over new feature development. + +Finally, we have formalized an engineering [rotation](https://github.com/OriginProtocol/security/blob/master/incidents/ROTATION.md) for reviewing [attacks on other projects](https://github.com/OriginProtocol/security/tree/master/incidents) as well as ensuring we deep dive into each of these reviews, including reviewing the affected contracts' source code ourselves. We've observed that attackers often exploit the same fundamental vulnerability on multiple different projects. By reviewing other project's vulnerabilities, we force ourselves to stay up to date on the latest security threats in our industry and are constantly learning from their mistakes. + +**Actions speak louder than words** + +You should also know that many members of the Origin team, including both founders, are holding a significant portion of their personal wealth in OUSD. Origin Protocol's corporate treasury is also holding millions of dollars in OUSD. We have skin in the game and are willing to put our own money at risk with the code we have written. + diff --git a/id/security-and-risks/untitled.md b/id/security-and-risks/untitled.md new file mode 100644 index 000000000..21b692090 --- /dev/null +++ b/id/security-and-risks/untitled.md @@ -0,0 +1,20 @@ +# Audits + +{% hint style="danger" %} +The OUSD smart contracts have not yet been audited. We strongly recommend reviewing our smart contracts before depositing significant amounts of capital. +{% endhint %} + +**OUSD** + +Audits have already been scheduled with the respected security firm, [Trail of Bits](https://www.trailofbits.com/), for early October 2020. Their audit results will be publicly released as soon as they are available. + +**Supported Strategies** + +Multiple audits for Compound have already been completed and are available on their website. This includes the original code for the modified [Timelock](../smart-contracts/api/timelock-1.md) that OUSD is using. + +{% page-ref page="untitled.md" %} + + + + + diff --git a/id/smart-contracts/api/README.md b/id/smart-contracts/api/README.md new file mode 100644 index 000000000..ff400f20f --- /dev/null +++ b/id/smart-contracts/api/README.md @@ -0,0 +1,9 @@ +# API + +Documentation of contracts API used by the protocol: + +* [Vault](vault.md) +* [ERC-20](erc-20-1.md) +* [Timelock](timelock.md) +* [Stategies](strategies.md) + diff --git a/id/smart-contracts/api/erc-20-1.md b/id/smart-contracts/api/erc-20-1.md new file mode 100644 index 000000000..da80debb1 --- /dev/null +++ b/id/smart-contracts/api/erc-20-1.md @@ -0,0 +1,16 @@ +# ERC-20 + +{% hint style="success" %} +The main ERC20 address for Origin Dollar (OUSD) is: \ **0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +OUSD is an ERC-20 compliant token with one novel property (elastic supply) that is important to understand. + +{% hint style="warning" %} +Dompet dan bursa yang ingin mengintegrasikan OUSD tidak boleh menyimpan saldo token untuk OUSD karena nilai ini akan sering berubah saat hasil diperoleh ke pemegang token. +{% endhint %} + +Perbedaan terbesar yang memisahkan OUSD dari token ERC-20 rata-rata Anda adalah cara fungsi `balanceOf ()` OUSD akan mengembalikan jumlah variabel berdasarkan nilai total kumpulan dikalikan dengan kepemilikan pemegang di vault. Perbedaan ini penting untuk dipahami, terutama untuk dompet dan bursa yang ingin mengintegrasikan token OUSD. Nilai ini harus diambil secara real-time daripada di-cache karena OUSD sering melakukan rebas. + + + diff --git a/id/smart-contracts/api/oracle.md b/id/smart-contracts/api/oracle.md new file mode 100644 index 000000000..e0de9ff1f --- /dev/null +++ b/id/smart-contracts/api/oracle.md @@ -0,0 +1,7 @@ +# Oracle + +{% hint style="info" %} +Dokumentasi segera hadir. +{% endhint %} + +OUSD uses Chainlink [oracles](../../core-concepts/price-oracles.md) to secure the protocol from pricing attacks. You can [read more about our decision to work with Chainlink](https://blog.originprotocol.com/how-origin-uses-chainlink-oracles-to-secure-ousd-bff5601e840e) on the Origin blog. diff --git a/id/smart-contracts/api/ousd.md b/id/smart-contracts/api/ousd.md new file mode 100644 index 000000000..1c1c25b12 --- /dev/null +++ b/id/smart-contracts/api/ousd.md @@ -0,0 +1,8 @@ +# OUSD + +{% hint style="info" %} +Dokumentasi segera hadir. +{% endhint %} + + + diff --git a/id/smart-contracts/api/strategies.md b/id/smart-contracts/api/strategies.md new file mode 100644 index 000000000..fd4a1c1c6 --- /dev/null +++ b/id/smart-contracts/api/strategies.md @@ -0,0 +1,14 @@ +# Strategi + +{% hint style="info" %} +Dokumentasi segera hadir. +{% endhint %} + +Strategi baru dapat ditambahkan atau dihapus kapan saja untuk menanggapi realitas pasar baru dan mendiversifikasi risiko. + +Setelah kami bermigrasi ke tata kelola yang terdesentralisasi, kami bermaksud agar komunitas mengusulkan strategi baru dan memberikan suara pada bobot yang sesuai untuk setiap strategi dalam pool. Kami mengantisipasi bahwa sebagian besar pemegang OUSD akan menghargai eksposur ke peluang imbal hasil yang lebih tinggi sambil mempertahankan posisi yang lebih konservatif untuk sebagian dana. + + + + + diff --git a/id/smart-contracts/api/timelock-1.md b/id/smart-contracts/api/timelock-1.md new file mode 100644 index 000000000..88954aca7 --- /dev/null +++ b/id/smart-contracts/api/timelock-1.md @@ -0,0 +1,22 @@ +# Timelock + +{% hint style="danger" %} +The timelock will be added soon after everything is verified as working. Until then, the contracts will be governed by Origin's 5 of 8 multi-sig. This allows for a faster response if any critical issues are discovered. +{% endhint %} + +The timelock contract enforces a 48 hour wait period before any changes to the OUSD contracts can be executed. The timelock can be called by our multi-sig and is the owner of our [ERC-20](../architecture.md), [Vault](vault.md), and [Strategies](strategies.md) contracts. Time-delaying admin actions gives users a chance to exit OUSD if its admins become malicious, are compromised, or make a change that the users do not like. + +{% hint style="info" %} +The timelock is a safety measure that gives OUSD holders 48 hours to withdraw their funds if they have objections to any proposed upgrades to the protocol. +{% endhint %} + +OUSD is using a slightly modified version of the [Compound Timelock](https://compound.finance/docs/governance) which has been [audited by OpenZeppelin](https://blog.openzeppelin.com/compound-finance-patch-audit/). The 3 notable differences are: + +1. OUSD will initially use a shorter wait period \(48 hours\) than Compound \(72 hours\) to allow for a faster response if any issues are discovered. +2. Once the 48 hours have passed, anyone is free to execute the call, not just the owner of the contract. +3. Deposits \(but not withdrawals or transfers\) can be immediately frozen without requiring the 48 waiting period. This is in case a major vulnerability is discovered. + + + + + diff --git a/id/smart-contracts/api/timelock.md b/id/smart-contracts/api/timelock.md new file mode 100644 index 000000000..982b50878 --- /dev/null +++ b/id/smart-contracts/api/timelock.md @@ -0,0 +1,15 @@ +# Timelock + +The timelock contract enforces a 48 hour wait period before any changes to the OUSD contracts can be executed. The timelock can be called by our multi-sig and is the owner of our [ERC-20](../architecture.md), [Vault](vault.md), and [Strategies](strategies.md) contracts. Time-delaying admin actions gives users a chance to exit OUSD if its admins become malicious, are compromised, or make a change that the users do not like. + +{% hint style="info" %} +The timelock is a safety measure that gives OUSD holders 48 hours to withdraw their funds if they have objections to any proposed upgrades to the protocol. +{% endhint %} + +OUSD is using a slightly modified version of the [Compound Timelock](https://compound.finance/docs/governance) which has been [audited by OpenZeppelin](https://blog.openzeppelin.com/compound-finance-patch-audit/). The two notable differences are: + +1. OUSD will initially use a shorter wait period (48 hours) than Compound (72 hours) to allow for a faster response if any issues are discovered. +2. Some actions, such as reallocating funds between existing strategies and freezing deposits can be called immediately by a multisig wallet without requiring the 48 waiting period. Ini apabila sebuah kerentanan besar ditemukan. + + + diff --git a/id/smart-contracts/api/vault.md b/id/smart-contracts/api/vault.md new file mode 100644 index 000000000..77e9d9246 --- /dev/null +++ b/id/smart-contracts/api/vault.md @@ -0,0 +1,184 @@ +--- +description: >- + Vault adalah inti dari protokol. Vault bertanggung jawab untuk mencetak / menebus token OUSD, menyeimbangkan kembali dana antara berbagai strategi yang didukung, dan melikuidasi token hadiah. +--- + +# Vault + +## Unit + +Semua jumlah OUSD yang diteruskan atau dikembalikan oleh metode Vault menggunakan 18 tempat desimal. Misalnya, 1 OUSD dinyatakan sebagai 1000000000000000000. + +Untuk koin stabil lainnya, jumlah tempat desimal bervariasi. DAI menggunakan 18 tempat desimal sedangkan USDC dan USDT hanya menggunakan 6. + +The protocol was updated in November are [currently underway](https://github.com/OriginProtocol/origin-dollar/issues/590) to increase the resolution of rebasing calculations from 18 decimals to 27 decimals. The OUSD token itself will still retain 18 decimals of precision and user balances should not change. + +## Metode‌ + +### mint() + +**`function mint(address _asset, uint256 _amount, uint256 _minimumOusdAmount)`**‌ + +Mints OUSD in exchange for a deposit of a certain `_amount` of stablecoin specified by the `_asset` parameter. The caller receives a certain amount of OUSD depending on the **exchange rate**. + +| Nama Parameter | Tipe | Deskripsi | +| --------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | +| \_aset | alamat | Address of the [supported](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/core-concepts/supported-assets) stablecoin | +| \_jumlah | uint256 | Jumlah yang disimpan, dinyatakan dalam unit desimal | +| \_minimumOusdAmount | uint256 | Jumlah minimum OUSD yang bersedia diterima oleh penelepon. The call to mint() reverts if the minimum is not met. | + +### mintMultiple() + +**`function mintMultiple(address[] _assets, uint256[] _amounts, uint256 _minimumOusdAmount)`**‌ + +Mints OUSD in exchange for a deposit of multiple stablecoins in a single call. Stablecoins are specified by the `_assets` array parameter and the amounts by the `_amounts` array parameter. The caller receives a certain amount of OUSD depending on the **exchange rate**. + +| Nama Parameter | Tipe | Deskripsi | +| --------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| \_aktiva | address\[] | Addresses of the [supported](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/core-concepts/supported-assets) stablecoins | +| \_jumlah | uint256\[] | Jumlah yang disimpan, dinyatakan dalam unit desimal | +| \_minimumOusdAmount | uint256 | Jumlah minimum OUSD yang bersedia diterima oleh pemanggil. The call to mint() reverts if the minimum is not met. | + +{% hint style="warning" %} +On redemptions, it is the protocol and not the user that decides which stablecoin(s) are returned to the user. This decision of which coin(s) to return is based on the internal ratios of the assets that are being held in the vault.‌ +{% endhint %} + +### redeem() + +**`function redeem(uint256 _amount)`**‌ + +OUSD specified by the `_amount` parameter is redeemed in exchange for one or multiple supported stablecoins. Amount of stablecoins received depends on the **exchange rate**. + +| Nama Parameter | Tipe | Deskripsi | +| -------------- | ------- | -------------------------------------------------------- | +| \_jumlah | uint256 | jumlah OUSD yang disimpan, dinyatakan dalam unit desimal | + +### redeemAll()‌ + +**`function redeemAll()`**‌ + +All OUSD in user's possession is redeemed in exchange for one or multiple supported stablecoins. Amount of stablecoins received depends on the **exchange rate**. + +### rebase() + +**`function rebase()`**‌ + +Updates the balances for all users based on the value of the assets currently stored in the vault. Returns total value of the underlying assets and strategies represented by `uint256` type.‌ + +### allocate() + +**`function allocate()`**‌ + +Moves the assets under management into their prescribed [Stategies](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/architecture/strategies) to maximize yield and diversify risk.‌ + +### totalValue() + +**`function totalValue()`**‌ + +Returns total value of underlying assets and strategies. + +| `kembali` nama | Tipe | Deskripsi | +| -------------- | ------- | ------------------------------------------------ | +| nilai | uint256 | nilai total aset dan strategi yang mendasarinya. | + +### checkBalance() + +**`function checkBalance(address _asset)`**‌ + +Returns the balance of an asset specified by the`_asset` parameter held in Vault and all strategies represented by `uint256` type. + +| Nama Parameter | Tipe | Deskripsi | +| -------------- | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------- | +| \_aset | alamat | Address of the [supported](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/core-concepts/supported-assets) stablecoin | + +### calculateRedeemOutputs() + +**`function calculateRedeemOutputs(uint256 _amount)`**‌ + +Calculate the mix of stablecoins that a `redeem` function would return when redeeming certain amount of OUSD specified by the `_amount` parameter. Returns an array of stablecoin values. + +To attribute the stablecoin values to the correct stablecoin currency this call should be used in conjunction with `getAllAssets` function that returns an array of stablecoin addresses. + +The index of an array that is returned by the `calculateRedeemOutputs` corresponds to the stablecoin address with the same index in an array returned by the `getAllAssets` function. + +| Nama Parameter | Tipe | Deskripsi | +| -------------- | ------- | -------------------------------------------------------- | +| \_jumlah | uint256 | jumlah OUSD yang disimpan, dinyatakan dalam unit desimal | + +| `kembali` nama | Tipe | Deskripsi | +| -------------- | ----------- | --------------------------------------------------------- | +| keluaran | uint256\[] | array jumlah fungsi aset stablecoin `redeem` akan kembali | + +### getAssetCount() + +**`function getAssetCount()`**‌ + +Return the number of supported stablecoin assets represented by `uint256` type.‌ + +### getAllAssets() + +**`function getAllAssets()`**‌ + +Return all assets addresses of supported stablecoin assets in order represented by `uint256` type.‌ + +### getStrategyCount()‌ + +**`function getStrategyCount()`**‌ + +Return the number of strategies active on the Vault represented by `uint256` type.‌ + +### getAPR() + +**`function getAPR()`**‌ + +Return the total annual percentage yield (APR) of the Vault and all Strategies represented by `uint256` type. Resulting number has 18 decimal places.‌ + +### isSupportedAsset() + +**`function isSupportedAsset(address _asset)`**‌ + +Return the boolean that is true if the asset specified by the `_asset` parameter is supported by the Vault. + +| Nama Parameter | Tipe | Deskripsi | +| -------------- | ------ | ----------------- | +| \_aset | alamat | Alamat stablecoin | + +### priceUSDMint() + +**`function priceUSDMint(string symbol)`**‌‌ + +Returns the exchange rate price of a stable coin specified by the `symbol` parameters used when minting OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Nama Parameter | Tipe | Deskripsi | +| -------------- | ---- | ----------------- | +| simbol | tali | Simbol stablecoin | + +### priceUSDRedeem() + +**`function priceUSDRedeem(string symbol)`**‌‌ + +Returns the exchange rate price of a stable coin specified by the `symbol` parameters used when redeeming OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Nama Parameter | Tipe | Deskripsi | +| -------------- | ---- | ----------------- | +| simbol | tali | Simbol stablecoin | + +### priceAssetUSDMint()‌ + +**`function priceAssetUSDMint(address _asset)`**‌‌ + +Returns the exchange rate price of a stable coin specified by the `_asset` parameters used when minting OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Nama Parameter | Tipe | Deskripsi | +| -------------- | ------ | ------------------ | +| \_aset | alamat | Alamat stablecoin‌ | + +### priceAssetUSDRedeem()‌ + +**`function priceAssetUSDRedeem(address _asset)`**‌‌‌ + +Returns the exchange rate price of a stable coin specified by the `_asset` parameters used when redeeming OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Nama Parameter | Tipe | Deskripsi | +| -------------- | ------ | ----------------- | +| \_aset | alamat | Alamat stablecoin | diff --git a/id/smart-contracts/architecture.md b/id/smart-contracts/architecture.md new file mode 100644 index 000000000..a06769c32 --- /dev/null +++ b/id/smart-contracts/architecture.md @@ -0,0 +1,18 @@ +# Arsitektur + +![](../.gitbook/assets/ousd\_docs\_graphics\_3.png) + +OUSD terdiri dari serangkaian kontrak pintar. Setiap kontrak ini dibungkus dalam kontrak proxy yang dapat ditingkatkan melalui protokol tata kelola. + +Secara internal, kepemilikan dalam vault dilacak menggunakan sistem kredit yang mewakili persentase kepemilikan vault untuk setiap pemegang. Kontrak [ERC-20](api/erc-20-1.md) menangani konversi ke persyaratan USD saat melihat saldo atau memulai transfer antar dompet. + +[Vault](api/vault.md) bertanggung jawab untuk mencetak dan membakar OUSD. Ini juga memberlakukan persentase aset yang disebarkan ke masing-masing [Strategi](../core-concepts/supported-strategies/) yang didukung. To optimize gas costs, the vault may maintain a buffer to allow most deposits and redemptions to occur without winding/unwinding assets from strategies. + +The Flipper is a smart contract for users to swap in and out of OUSD cheaply for any of DAI, USDC, or USDT at a fixed 1:1 rate. This contract is used as an alternative way to route user transactions originating from the web app. It's important to note that this contract may be empty on one side (e.g., contain 0 OUSD balance), and thus sometimes provides limited swap routes. While limited in functionality, Flipper uses around 45% less gas than Uniswap v3 due to its simplicity. + +The Harvester contract collects reward tokens earned by the strategies, sells them, and sends the resulting stablecoins to the Dripper to be released to the vault. Anyone can call the harvest and earn 1% of the resulting USDT for doing so. This creates a self-incentivizing system that operates at a known fixed cost. See our [incentivized-harvesting-guide.md](../guides/incentivized-harvesting-guide.md "mention") for details. + +The Dripper contract buffers aproximately one week of reward token sales proceeds and makes it avaiable at a smooth rate to the vault. This keeps OUSD yield from being extremely spiky when harvests come in. The rate is recalculated at least once per day and is the rate that it would take to distribute the current dripper holdings out over a one week period. + + + diff --git a/id/smart-contracts/erc-20.md b/id/smart-contracts/erc-20.md new file mode 100644 index 000000000..c3a21d407 --- /dev/null +++ b/id/smart-contracts/erc-20.md @@ -0,0 +1,12 @@ +# Architecture + +![](../.gitbook/assets/ousd_docs_graphics_3.png) + +OUSD is made up of a series of smart contracts. Each of these contracts is wrapped in a proxy contract that can be upgraded via the governance protocols. + +Internally, ownership in the pool is tracked using a credits system that represents the percent ownership of the pool for each holder. The [ERC-20](api/erc-20-1.md) contract handles the conversion to USD terms when viewing a balance or initiating a transfer between wallets. + +The [Vault](api/vault.md) is responsible for minting and burning OUSD. It also enforces the percentage of assets that are deployed to each of the supported [Strategies](../core-concepts/supported-strategies/). To optimize gas costs, the vault maintains a buffer to allow most deposits and redemptions to occur without winding/unwinding assets from strategies. + + + diff --git a/id/smart-contracts/registry.md b/id/smart-contracts/registry.md new file mode 100644 index 000000000..4ef1463fb --- /dev/null +++ b/id/smart-contracts/registry.md @@ -0,0 +1,156 @@ +# Registri + +Berikut adalah daftar lengkap kontrak pintar OUSD yang telah diterapkan ke mainnet Ethereum. + +{% hint style="success" %} +The main ERC20 address for Origin Dollar (OUSD) is: \ +**0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +{% tabs %} +{% tab title="Core" %} +Well-known addresses (proxy wrappers): + + + +| Kontrak | Alamat | ENS | +| ------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------- | +| OUSD | [0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86](https://etherscan.io/address/0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86) |

ousd.eth

origindollar.eth

| +| Vault | [0xE75D77B1865Ae93c7eaa3040B038D7aA7BC02F70](https://etherscan.io/address/0xe75d77b1865ae93c7eaa3040b038d7aa7bc02f70) | [originvault.eth](https://etherscan.io/address/originvault.eth) | + + + +Kontrak implementasi internal. The Vault is split into VaultAdmin and VaultCore to work around the maximum contract size limit on Ethereum: + + + +| Kontrak | Alamat | +| ---------- | --------------------------------------------------------------------------------------------------------------------- | +| OUSD | [0x33db8d52d65F75E4cdDA1b02463760c9561A2aa1](https://etherscan.io/address/0x33db8d52d65F75E4cdDA1b02463760c9561A2aa1) | +| VaultAdmin | [0x3EB68D8f4992A0e34aA58cc3dF86A40814078cF6](https://etherscan.io/address/0x3EB68D8f4992A0e34aA58cc3dF86A40814078cF6) | +| VaultCore | [0x226de75867B2f785BA19600e2a7e6eFccD57157B](https://etherscan.io/address/0x226de75867B2f785BA19600e2a7e6eFccD57157B) | +{% endtab %} + +{% tab title="Strategies" %} +Well-known addresses (proxy wrappers): + + + +| Strategi | Alamat | Alokasi Otomatis | +| -------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------- | +| Aave | [0x5e3646A1Db86993f73E6b74A57D8640B69F7e259](https://etherscan.io/address/0x5e3646A1Db86993f73E6b74A57D8640B69F7e259) | Manual allocation | +| Compound | [0x9c459eeb3FA179a40329b81C1635525e9A0Ef094](https://etherscan.io/address/0x9c459eeb3FA179a40329b81C1635525e9A0Ef094) | 100% of USDC, USDT and DAI | +| Convex | [0xEA2Ef2e2E5A749D4A66b41Db9aD85a38Aa264cb3](https://etherscan.io/address/0xEA2Ef2e2E5A749D4A66b41Db9aD85a38Aa264cb3#code) | Alokasi manual | + + + +Kontrak implementasi internal: + + + +| Strategy | Address | +| -------- | -------------------------------------------------------------------------------------------------------------------------- | +| Aave | [0xA050eBE34Be464902F7E0F7F451f4B5253d57114](https://etherscan.io/address/0xA050eBE34Be464902F7E0F7F451f4B5253d57114) | +| Compound | [0x47f3eb71b5507df5ab6ac7f8660ef282ab0e560f](https://etherscan.io/address/0x47f3eb71b5507dF5Ab6aC7F8660Ef282Ab0E560f) | +| Convex | [0x08f3a0637851aA1B0E0750aA3d46E0E356f349aC](https://etherscan.io/address/0x08f3a0637851aa1b0e0750aa3d46e0e356f349ac#code) | + + + +Yield harvesting and collection: + + + +| | | +| --------- | -------------------------------------------------------------------------------------------------------------------------- | +| Contract | Address | +| Harvester | [0x21fb5812d70b3396880d30e90d9e5c1202266c89](https://etherscan.io/address/0x21fb5812d70b3396880d30e90d9e5c1202266c89#code) | +| Dripper | [0x80c898ae5e56f888365e235ceb8cea3eb726cb58](https://etherscan.io/address/0x80c898ae5e56f888365e235ceb8cea3eb726cb58#code) | +{% endtab %} + +{% tab title="Oracles" %} +The following Chainlink oracles are used to protect the vault in case a backing stablecoin loses value. They also offer slippage protection when harvesting rewards tokens or executing the OGN buyback. + + + +| Pair | Contract | +| ------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| [USDT/USD](https://data.chain.link/ethereum/mainnet/stablecoins/usdt-usd) | [0x3E7d1eAB13ad0104d2750B8863b489D65364e32D](https://etherscan.io/address/0x3E7d1eAB13ad0104d2750B8863b489D65364e32D) | +| [USDC/USD](https://data.chain.link/ethereum/mainnet/stablecoins/usdc-usd) | [0x8fFfFfd4AfB6115b954Bd326cbe7B4BA576818f6](https://etherscan.io/address/0x8fFfFfd4AfB6115b954Bd326cbe7B4BA576818f6) | +| [DAI/USD](https://data.chain.link/ethereum/mainnet/stablecoins/dai-usd) | [0xAed0c38402a5d19df6E4c03F4E2DceD6e29c1ee9](https://etherscan.io/address/0xAed0c38402a5d19df6E4c03F4E2DceD6e29c1ee9) | +| [COMP/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/comp-usd) | [0xdbd020caef83efd542f4de03e3cf0c28a4428bd5](https://etherscan.io/address/0xdbd020caef83efd542f4de03e3cf0c28a4428bd5) | +| [AAVE/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/aave-usd) | [0x547a514d5e3769680Ce22B2361c10Ea13619e8a9](https://etherscan.io/address/0x547a514d5e3769680Ce22B2361c10Ea13619e8a9) | +| [CRV/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/crv-usd) | [0xcd627aa160a6fa45eb793d19ef54f5062f20f33f](https://etherscan.io/address/0xcd627aa160a6fa45eb793d19ef54f5062f20f33f) | +| [CVX/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/cvx-usd) | [0xd962fC30A72A84cE50161031391756Bf2876Af5D](https://etherscan.io/address/0xd962fC30A72A84cE50161031391756Bf2876Af5D) | +| [OGN/ETH](https://data.chain.link/ethereum/mainnet/crypto-eth/ogn-eth) | [0x2c881b6f3f6b5ff6c975813f87a4dad0b241c15b](https://etherscan.io/address/0x2c881b6f3f6b5ff6c975813f87a4dad0b241c15b) | +{% endtab %} + +{% tab title="Governance" %} + + +| Contract | Address | ENS | +| ------------------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------- | +| 5 of 8 Multisig | [0xbe2AB3d3d8F6a32b96414ebbd865dBD276d3d899](https://etherscan.io/address/0xbe2AB3d3d8F6a32b96414ebbd865dBD276d3d899) | [originprotocol.eth](https://etherscan.io/address/originprotocol.eth) | +| 2 of 9 Multisig | [0xF14BBdf064E3F67f51cd9BD646aE3716aD938FDC](https://etherscan.io/address/0xF14BBdf064E3F67f51cd9BD646aE3716aD938FDC) | [originstrategist.eth](https://etherscan.io/address/originstrategist.eth) | +| Governor / Timelock | [0x72426BA137DEC62657306b12B1E869d43FeC6eC7](https://etherscan.io/address/0x72426BA137DEC62657306b12B1E869d43FeC6eC7) |

origingovernor.eth

origintimelock.eth

| +| OGN Buyback | [0x77314EB392b2be47C014cde0706908b3307Ad6a9](https://etherscan.io/address/0x77314EB392b2be47C014cde0706908b3307Ad6a9) | [originbuyback.eth](https://etherscan.io/address/originbuyback.eth) | +{% endtab %} + +{% tab title="Stablecoins" %} +| Contract | Address | +| ------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| [USDT](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | [0xdac17f958d2ee523a2206206994597c13d831ec7](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | +| [USDC](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | [0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | +| [DAI](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | [0x6b175474e89094c44da98b954eedeac495271d0f](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | +{% endtab %} + +{% tab title="Staking" %} +| Contract | Address | ENS | +| ----------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- | +| OGN Staking | [0x501804B374EF06fa9C427476147ac09F1551B9A0](https://etherscan.io/address/0x501804B374EF06fa9C427476147ac09F1551B9A0) | [originstaking.eth](https://etherscan.io/address/originstaking.eth) | + + + +Internal implementation contracts: + + + +| Contract | Address | +| ----------- | --------------------------------------------------------------------------------------------------------------------- | +| OGN Staking | [0x8cd68a1e0b79150455c5498882d5d5d3df2dde08](https://etherscan.io/address/0x8cd68a1e0b79150455c5498882d5d5d3df2dde08) | + + + +OUSD compensation contract ([details](https://medium.com/originprotocol/origin-delivers-on-compensation-promise-claim-your-ousd-and-ogn-now-a9fa9b840476)): + + + +| Contract | Address | +| ----------------- | --------------------------------------------------------------------------------------------------------------------- | +| OUSD Compensation | [0x9C94df9d594BA1eb94430C006c269C314B1A8281](https://etherscan.io/address/0x9C94df9d594BA1eb94430C006c269C314B1A8281) | +{% endtab %} + +{% tab title="Flipper" %} +Flipper is a gas-optimized way for users to swap in and out of OUSD at a fixed 1:1 rate with other stablecoins. This contract may become empty on one side (e.g., contain 0 OUSD balance), and thus sometimes provides limited swap routes. + + + +| Contract | Address | ENS | +| -------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- | +| Flipper | [0xcecaD69d7D4Ed6D52eFcFA028aF8732F27e08F70](https://etherscan.io/address/0xcecaD69d7D4Ed6D52eFcFA028aF8732F27e08F70) | [originflipper.eth](https://etherscan.io/address/originflipper.eth) | +{% endtab %} + +{% tab title="Wrapped" %} +Wrapped OUSD\ +\ **Well known proxy address:** - [0xD2af830E8CBdFed6CC11Bab697bB25496ed6FA62](https://etherscan.io/address/0xD2af830E8CBdFed6CC11Bab697bB25496ed6FA62) + +Internal implementation address - [0xbf3b9b141cb3629f5bb8f721cba9265c92494539](https://etherscan.io/address/0xbf3b9b141cb3629f5bb8f721cba9265c92494539) +{% endtab %} +{% endtabs %} + + + + + + + + diff --git a/it/README.md b/it/README.md new file mode 100644 index 000000000..aead54db9 --- /dev/null +++ b/it/README.md @@ -0,0 +1,29 @@ +--- +description: La prima stablecoin che produce un rendimento quando è ancora nel tuo wallet +--- + +# Introduzione + +## **Una migliore forma di denaro** + +Origin Dollar (OUSD) is a new stablecoin that was initially launched in September 2020 on the Ethereum network. Il suo design è superiore alle stablecoin esistenti perché OUSD produce rendimenti competitivi pur essendo holdato in modo passivo nei wallet. + +![](.gitbook/assets/origin-dollar-summary.jpeg) + +**Dietro le quinte** + +In 1999, Yu Pan, Origin’s R\&D engineer, and his fellow PayPal co-founders [conceived](https://www.cnbc.com/2017/08/14/david-sacks-cryptocurrency-interview.html) of creating “the new world currency”, complete with interest yielding strategies and debit cards without having to connect to traditional banking systems. A seguito di alcune resistenze e successivamente all'acquisizione di eBay, PayPal ha abbandonato le sue ambizioni in questo settore. + +Circa due decadi dopo, nel 2014, Tether introdusse il concetto di stablecoin denominata in USD. Da allora, le stablecoin hanno dato prova di essere un modo ideale per trasferire valore senza esporre gli utenti alla volatilità dei prezzi delle valute fluttuanti. Al giorno d'oggi viene trasferito più valore [via Tether](https://www.bloomberg.com/news/articles/2019-10-01/tether-not-bitcoin-likely-the-world-s-most-used-cryptocurrency) che via Bitcoin. Meanwhile, Decentralized Finance (DeFi) has experienced an explosion of growth with [billions of dollars](https://defipulse.com) of capital now locked up in smart contracts that generate yields from lending and trading protocols. + +Uno dei problemi delle stablecoin esistenti è che gli utenti devono costantemente scegliere se holdare una coin facilmente spendibile oppure guadagnare rendimenti bloccando i token in degli smart contract. Per esempio, gli utenti che bloccano USDC in Aave, non possono spenderne una porzione contemporaneamente. Le costose commissioni per il gas di Ethereum fungono da costi di "switching" ogni volta che quegli utenti vogliono passare dalla modalità di spesa alla modalità di guadagno. + +Per rendere le cose peggiori, i rendimenti provenienti da attività di prestito e di trading, cambiano in modo molto rapido. I fruitori di rendimenti DeFi sosfisticati, hanno familiarità con le costanti necessità di ribilanciare il proprio portafoglio di asset tra le molte piattaforme concorrenti. Questo è molto costoso in termini di tempo ma anche di denaro in quanto le commissioni per il gas impattano sui rendimenti. In aggiunta, calcolare il ROI reale richiede molto più tempo poiché gli APY sono instabili e costantemente fluttuanti. Non esiste un'unità di conto semplice. Di conseguenza, mentre la DeFi sta crescendo in modo estremamente rapido, rende ancora difficile la partecipazione di molti utenti di criptovaluta. + +Con OUSD, non c'è bisogno di rilasciare posizioni complicate quando vuoi spendere i tuoi OUSD. Puoi trasferirli liberamente senza dover pagare gas per sbloccare il tuo capitale. In aggiunta, OUSD ti da accesso ad alcune delle opportunità di guadagno più elevate attraverso DeFi senza alcun problema. Lo smart contract di OUSD distribuirà il tuo capitale sottostante ad una serie diversificata di strategie di produzione di rendimento, ribalanciandosi nel tempo per ottenere grandi rendimenti diversificando il rischio. I guadagni si accumulano automaticamente nel tuo portafoglio e si accumulano continuamente finché detieni OUSD. Ancora una volta, non è richiesto alcun tipo di stake o di controllo. OUSD funge anche da unità di conto ideale. Gli investitori DeFi non hanno più bisogno di fogli di calcolo complicati per calcolare i loro guadagni, poiché possono facilmente vedere i loro saldi OUSD costantemente aggiornati in tempo reale mentre i loro interessi si maturano automaticamente. OUSd è una stablecoin ideale per i chi è interessato ai rendimenti e per gli utenti alle prime armi con le criptovalute. + +Realizzata da veterani di criptovalute e fintech, Origin Dollar è offerto dal [team](https://www.originprotocol.com/team) su [Origin Protocol](https://www.originprotocol.com) che include imprenditori seriali, investitori di criptovalute di vecchia data, impiegati di YouTube di vecchia data, Manager Ingegneri di Google/Dropbox, e uno dei co fondatori di Paypal, You Pan. + +Per coloro che fossero interessati ad immergersi nei dettagli tecnici di come funziona, questa documentazione è un ottimo punto di partenza. We encourage developers to audit and contribute to our [Github](http://www.github.com/OriginProtocol) (100% open-source). Il nostro team ti incontra in [Discord](https://www.originprotocol.com/discord), se dovessi aver domande o bisogno di aiuto per cominciare. + +Benvenuto nel futuro del denaro. diff --git a/it/SUMMARY.md b/it/SUMMARY.md new file mode 100644 index 000000000..411c948cd --- /dev/null +++ b/it/SUMMARY.md @@ -0,0 +1,64 @@ +# Sommario + +* [Introducing OUSD](README.md) +* [Come funziona](how-it-works.md) +* [Come Iniziare](getting-started.md) +* [Analytics Dashboard](analytics-dashboard.md) +* [FAQ](faq.md) + +## Concetti princiapli + +* [Fornitura elastica](core-concepts/elastic-supply/README.md) + * [Ribasamento & Smart Contract](core-concepts/elastic-supply/rebasing-and-smart-contracts.md) +* [Generazione di rendimento](core-concepts/yield-generation/README.md) + * [Prestito](core-concepts/yield-generation/lending.md) + * [Market Making](core-concepts/yield-generation/market-making.md) + * [Ricompense](core-concepts/yield-generation/rewards.md) +* [Wrapped OUSD](core-concepts/wrapped-ousd.md) +* [Supported Stablecoins](core-concepts/supported-stablecoins/README.md) + * [USDT](core-concepts/supported-stablecoins/usdt.md) + * [USDC](core-concepts/supported-stablecoins/usdc.md) + * [DAI](core-concepts/supported-stablecoins/dai.md) +* [Supported Strategies](core-concepts/supported-strategies/README.md) + * [Compound](core-concepts/supported-strategies/compound.md) + * [Aave](core-concepts/supported-strategies/aave.md) + * [Curve](core-concepts/supported-strategies/curve.md) + * [Convex](core-concepts/supported-strategies/convex.md) +* [Fund Management](core-concepts/fund-management.md) +* [Price Oracles](core-concepts/price-oracles.md) + +## Governance + +* [I principi](governance/principles.md) +* [Privilegi di amministratore](governance/admin-privileges.md) +* [OGN Staking](governance/ogn-staking.md) +* [Contributing](governance/contributing.md) +* [Vote Delegation](governance/vote-delegation.md) + +## Smart Contract + +* [Architettura](smart-contracts/architecture.md) +* [Registro](smart-contracts/registry.md) +* [API](smart-contracts/api/README.md) + * [Vault](smart-contracts/api/vault.md) + * [ERC-20](smart-contracts/api/erc-20-1.md) + * [Timelock](smart-contracts/api/timelock.md) + * [Strategies](smart-contracts/api/strategies.md) + +## Sicurezza & Rischi + +* [Rischi](security-and-risks/risks.md) +* [Revisioni](security-and-risks/audits.md) +* [Insurance](security-and-risks/insurance.md) +* [Bug Bounties](security-and-risks/bug-bounties.md) + +## Guides + +* [Integration Guide For Exchanges](guides/integration-guide-for-exchanges.md) +* [Incentivized Harvesting Guide](guides/incentivized-harvesting-guide.md) + +## Links + +* [Github](https://www.github.com/originprotocol/origin-dollar) +* [Discord](https://www.originprotocol.com/discord) +* [originprotocol.com](https://www.originprotocol.com) diff --git a/it/analytics-dashboard.md b/it/analytics-dashboard.md new file mode 100644 index 000000000..9c3e6a577 --- /dev/null +++ b/it/analytics-dashboard.md @@ -0,0 +1,31 @@ +# Analytics Dashboard + +{% hint style="info" %} +Visit [analytics.ousd.com](https://analytics.ousd.com) to see how funds are allocated, view historical performance data, and track your personal gains. +{% endhint %} + +The [APY dashboard](https://analytics.ousd.com/apy) is primarily intended for consumption by our engineering team, but we went ahead and deployed it since our ethos is "public by default" and everything that we do is [open-source](http://github.com/OriginProtocol). Unfortunately, that often means erring on the side of transparency and not necessarily the side of taking the time to explain things clearly. + +Before diving into the yield calculation, it's important to understand how OUSD works both in terms of [yield generation](https://docs.ousd.com/core-concepts/yield-generation) and [rebasing](https://docs.ousd.com/core-concepts/elastic-supply). You can read all about that in these [docs](https://docs.ousd.com), including [the part about smart contracts being excluded from yield](https://docs.ousd.com/core-concepts/elastic-supply/rebasing-and-smart-contracts). + +To summarize how APY is calculated, it's the annualized rate of change in OUSD's internal accounting of users' balances between two points in time. To understand that, let's break down the columns in the historical APY table (in reverse order). + +**Ratio** + +There are two types of OUSD balances: rebasing (most accounts) and non-rebasing (smart contracts that have not opted in). The OUSD token contract maintains a separate internal accounting for each type of balance using what it calls "credits". The ratio shown here is the rebasing supply of OUSD divided by the rebasing credits, which gives us the exchange rate between the two. + +**Credits** + +Some smart contracts holding OUSD have unique credit balances because their rebasing status has changed at some point in the past (by opting in or out). Here we show the sum of all rebasing credits and non-rebasing credits. When multiplied by the ratio, it gives the difference between backing supply and non-rebasing supply. + +**Non-rebasing** + +This is the portion of supply held in other smart contracts that have not opted in to rebasing. When added to (credits \* ratio), this equals backing supply. Note also that the **%** column shows the percentage of OUSD that is non-rebasing. + +**Boost** + +The APY is effectively "boosted" for rebasing accounts thanks to the fact that some OUSD is non-rebasing. Think about all of the stablecoins that were used as collateral to mint the non-rebasing OUSD. Those stablecoins are still earning through our yield farming strategies, but the gains are accruing only to the rebasing accounts. The result is that the effective APY is higher than it would be without this mechanism. The boost is the measure of this difference. If boost is 100%, then regular OUSD holders are enjoying double the APY that they otherwise would. + +**APR/APY calculation** + +Bringing this full circle, we currently measure yield by measuring the change in the [rebasing credits per token](https://github.com/OriginProtocol/origin-dollar/blob/master/contracts/contracts/token/OUSD.sol#L45) between two points in time. But there are a few other considerations to note. First, we have to make an assumption about how many Ethereum blocks are mined on an average day. We use a [fixed 6,500](https://github.com/OriginProtocol/ousd-analytics/blob/master/eagleproject/core/views.py#L43), but the actual number of blocks per day is variable. Second, we need a reasonable time horizon to measure. We focus on 30 days, which has proven to be a relatively consistent window of time during which a complete sample of yield-generating activities has occurred. Third, we convert APR into APY by assuming [constant daily compounding](https://github.com/OriginProtocol/ousd-analytics/blob/master/eagleproject/core/views.py#L449-L451). In other words, yield is constantly being reinvested into the same strategies. Finally, there is one notable drawback to using the rebase ratio to measure yield. Since rebase events currently occur sporadically (and not very frequently in a world of high gas prices), the APY won't reflect earnings that have not yet been translated to account balances. For example, there could be an interest rate spike in Compound or a volume spike in the Curve 3pool strategy, which would cause OUSD to earn more than it does on an average day. Until [the rebase method](https://github.com/OriginProtocol/origin-dollar/blob/master/contracts/contracts/vault/VaultCore.sol#L365-L370) gets called, the APY will underreport these earnings. In fact, anyone who sells OUSD during that time would be missing out on the "[next rebase](https://analytics.ousd.com)". The good news is that you should be able to observe the change in your balance over one week and it (annualized) should approximately equal our advertised APY. diff --git a/it/architecture/erc-20-1.md b/it/architecture/erc-20-1.md new file mode 100644 index 000000000..8ac2964c1 --- /dev/null +++ b/it/architecture/erc-20-1.md @@ -0,0 +1,19 @@ +# ERC-20 + +{% hint style="success" %} +L'indirizzo ERC20 principale per Origin Dollar \(OUSD\) è: +**0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +OUSD è un token compatibile ERC-20 con una nuova proprietà che è importante capire. + +{% hint style="warning" %} +I wallet e gli exchange che desiderano integrare OUSD non dovranno memorizzare nella cache i saldi dei token OUSD poiché questo valore cambierà frequentemente man mano che il rendimento viene accumulato dai possessori del token. +{% endhint %} + +La più grande differenza che divide OUSD dai tuoi token ERC-20 mediamente è il modo in cui la funzione`balanceOf ()` OUSD restituirà un importo variabile basato sul valore totale della pool moltiplicato per la quota del possessore nella pool. Questa differenza è fondamentale da comprendere, in particolare per i wallet e gli exchange che desiderano integrare il token OUSD. Questo valore dovrebbe essere scaricato in tempo reale invece di essere memorizzato nella cache poiché OUSD ribassa frequentemente. + + + + + diff --git a/it/architecture/erc-20.md b/it/architecture/erc-20.md new file mode 100644 index 000000000..06611c4f9 --- /dev/null +++ b/it/architecture/erc-20.md @@ -0,0 +1,12 @@ +# Panoramica + +![](../.gitbook/assets/ousd_docs_graphics_3.png) + +OUSD è costituito da una serie di smart contract. Ciascuno di questi contratti è racchiuso in un contratto delega che può essere aggiornato tramite i protocolli di governance. + +Internamente, il possesso nella pool viene monitorata utilizzando un sistema di crediti che rappresenta la percentuale di possesso della pool per ciascun detentore. Il contratto ERC-20 gestisce la conversione in USD quando si visualizza un saldo o si inizia un trasferimento tra wallet. + +Il Vault è responsabile del minting e del burning di OUSD. Inoltre, applica la percentuale di risorse da distribuire a ciascuna delle [Strategies](../core-concepts/supported-strategies/)supportate. Per ottimizzare i costi di gas, il vault mantiene un buffer per consentire alla maggior parte dei depositi e dei rimborsi di avvenire senza liquidare/sciogliere asset dalle strategie. + + + diff --git a/it/architecture/strategies.md b/it/architecture/strategies.md new file mode 100644 index 000000000..896519178 --- /dev/null +++ b/it/architecture/strategies.md @@ -0,0 +1,14 @@ +# Strategie + +Nuove strategie possono essere aggiunte o rimosse in qualsiasi momento per rispondere a nuove realtà di mercato e diversificare il rischio. + +Al momento del lancio, OUSD trarrà vantaggio da un'unica strategia e distribuirà il capitale depositato a Compound. Intendiamo implementare molte altre strategie subito dopo. + +Una volta che migriamo verso una governance decentralizzata, è nostro intento che la community proponga nuove strategie e voti il peso appropriato per ciascuna strategia nella pool. Prevediamo che la maggior parte dei possessori di OUSD valuterà la possibilità di avere una certa esposizione a opportunità di rendimento più elevato pur mantenendo posizioni più prudenti per una parte dei fondi. + + + + + + + diff --git a/it/architecture/timelock.md b/it/architecture/timelock.md new file mode 100644 index 000000000..4bb23fd8c --- /dev/null +++ b/it/architecture/timelock.md @@ -0,0 +1,22 @@ +# Timelock + +{% hint style="danger" %} +Il timelock verrà aggiunto subito dopo che tutto sarà stato verificato come funzionante. Fino ad allora, i contratti saranno disciplinati da 5-8 multi-sig di Origin. Questo permette una più immediata risposta verso qualsiasi problematica che possa venir scoperta. +{% endhint %} + +Il contratto timelock applica un periodo di attesa di 48 ore prima che qualsiasi modifica ai contratti OUSD possano essere eseguiti. Il timelock può essere chiamato dal nostro multi-sig ed è il proprietario dei nostri contratti [ERC-20](erc-20.md),[Vault](vault.md), e [Strategie](strategies.md). Le azioni di amministrazione ritardate offrono agli utenti la possibilità di uscire da OUSD se i suoi amministratori diventassero malevoli, se venissero compromessi o se apportassero una modifica non gradita agli utenti. + +{% hint style="info" %} +Il timelock è una misura di sicurezza che offre 48 ore ai titolari di OUSD per ritirare i propri fondi se dovessero avere obiezioni a qualsiasi aggiornamento proposto al protocollo. +{% endhint %} + +OUSD utilizza una versione leggermente modificata di [Compound Timelock](https://compound.finance/docs/governance) che è stata [verificata da OpenZeppelin](https://blog.openzeppelin.com/compound-finance-patch-audit/). Le 3 differenze principali sono: + +1. OUSD inizialmente utilizzerà un periodo di attesa più breve \(48 ore\) rispetto a quello di Compund \(72 ore\), per permettere una più rapida risposta a qualsiasi tipo di problema riscontrato. +2. Una volta che le 48 ore saranno passate, chiunque sarà libero di eseguire le chiamate, e non più solo il proprietario del contratto. +3. I depositi \(ma non i ritiri o i trasferimenti\) potranno essere immediatamente congelati senza richiedere il periodo di attesa di 48 ore. Questo è nel caso in cui venga scoperta una grave vulnerabilità. + + + + + diff --git a/it/architecture/vault.md b/it/architecture/vault.md new file mode 100644 index 000000000..edba3e166 --- /dev/null +++ b/it/architecture/vault.md @@ -0,0 +1,17 @@ +# Vault + +Il Vault è il cuore del protocollo. Il vaulta è il responsabile del conio/riscatto dei token OUSD, del ribilanciamento dei fondi tra le varie strategie supportate, e della liquidazione dei token di ricompensa. + +Le più importanti funzioni richiamabili pubblicamente del Vault sono: + +* `mint()`, che consente di convertire in OUSD una singola stablecoin supportata +* `mintMultiple()` che consente di convertire in OUSD più stablecoin supportate, facendo una singola chiamata +* `redeem()` che consente di riscattare una quantità specificata di OUSD in cambio di altre stablecoin supportate. +* ` redeemAll()` che consente all'utente di riscattare il suo intero saldo OUSD in cambio delle altre stablecoin supportate. Questo è particolarmente utile poiche i saldi degli utenti crescono costantemente al crescere del rendimento. +* `rebase()` che aggiorna i saldi di tutti gli utenti sulla base del valore degli asset custoditi in quel momento nella pool. +* ` allocate()` sposta gli asset sotto la gestione delle [Strategie](strategies.md) prescritte, per massimizzare il rendimento e diversificare il rischio. + +Riguardo le redemption, non è l'utente che decide quale o quali stablecoin vengono restituite all'utente, ma è il protocollo stesso. Questa decisione su quale o quali coin vengono restituite, è basata sui cambi interni degli asset che sono custoditi all'interno del vault. + + + diff --git a/it/core-concepts/elastic-supply.md b/it/core-concepts/elastic-supply.md new file mode 100644 index 000000000..03e49dd4c --- /dev/null +++ b/it/core-concepts/elastic-supply.md @@ -0,0 +1,18 @@ +# Elastic Supply + +**Fornitura elastica. Prezzo stabile.** + +OUSD funziona differentemente dalla maggior parte dei token. Invece di aumentare il prezzo all'aumentare del valore degli asset in gestione \(come con i cToken di Compound o i yToken di Yearn\), il valore di un OUSD rimane costante e approssimato a 1$. Invece, gli smart contract regolano costantemente l'offerta monetaria e aggiorna automaticamente il saldo nel portafoglio di ogni token holder per riflettere il rendimento che è stato guadagnato dal protocollo. + +{% hint style="info" %} +Pensalo come un interesse maturato sul conto in banca. L'unità per il conto e il valore del Dollaro Statunitense non cambia. Ottieni più dollari statunitensi nel tempo, a mano a mano che guadagni interessi. +{% endhint %} + +![](../.gitbook/assets/ousd_docs_graphics_4.png) + +Questo meccanismo è stato ispirato dal nuovo approccio adottato da [ Ampleforth](https://www.ampleforth.org/), ma ci sono alcune differenze chiave che vale la pena evidenziare: + +1. OUSD è supportato al 1''% da stablecoin e non avrà il problema di mantenersi ancorato al dollaro. Data la facilità di generazione e di riscatto degli OUSD, possiamo contare sulla presenza degli arbitraggisti per garantire l'ancoraggio. +2. Il ribasamento di OUSD dovrebbe solo aumentare l'offerta poiché la quantità di OUSD coniati è legata ai guadagni realizzati guadagnati dalle strategie sottostanti. Il tuo capitale è protetto fintanto che va tutto bene con i protocolli di prestito/AMM e stablecoin. Qualsiasi calo del saldo sarebbe un indicazione di problemi nel sistema. +3. A differenza di Ampleforth, che fa il ribasamento una volta al giorno, l'offerta monetaria di OUSD è aggiornata costantemente in tempo reale a mano a mano che viene generato il rendimento. + diff --git a/it/core-concepts/elastic-supply/README.md b/it/core-concepts/elastic-supply/README.md new file mode 100644 index 000000000..817fbe48d --- /dev/null +++ b/it/core-concepts/elastic-supply/README.md @@ -0,0 +1,21 @@ +# Elastic Supply + +**Fornitura elastica. Prezzo stabile.** + +OUSD funziona differentemente dalla maggior parte dei token. Instead of the price increasing as the value of the assets under management increase (as with Compound cTokens or Yearn yTokens), the value of one OUSD remains constant at approximately $1. Instead, the contracts constantly adjust the monetary supply and automatically updates the balance in every token holder’s wallet to reflect the yield that has been earned by the protocol. + +{% hint style="info" %} +Pensalo come un interesse maturato sul conto in banca. L'unità per il conto e il valore del Dollaro Statunitense non cambia. Ottieni più dollari statunitensi nel tempo, a mano a mano che guadagni interessi. +{% endhint %} + +![](../../.gitbook/assets/ousd\_docs\_graphics\_4.png) + +This mechanism was inspired by the novel approach taken by [Ampleforth](https://www.ampleforth.org), but there are some key differences that are worth highlighting: + +1. OUSD è supportato al 100% da altre stablecoin e non ha il problema di mantenersi ancorato al dollaro. Given the ease of minting and redeeming OUSD, we can count on arbitrageurs to ensure the peg is maintained. +2. Il ribasamento di OUSD aumenterà solo l'offerta poiché la quantità di OUSD coniati è legata ai guadagni realizzati guadagnati dalle strategie sottostanti. Il tuo capitale è protetto fintanto che va tutto bene con i protocolli di prestito/AMM e stablecoin. Il tuo saldo OUSD non diminuirà mai, ma il valore potrebbe calare se si verificasse un problema nei sistemi sottostanti. +3. Unlike Ampleforth, which only rebases once a day, the monetary supply of OUSD is constantly being updated in real-time as yield is generated. I ribasamenti vengono innescati regolarmente quando gli utenti interagiscono con gli smart contract di OUSD. Chainlink Keepers ensure at least one rebase occurs every day. + +**Innesco manuale di un ribasamento** + +Chiunque può innescare un ribasamento in qualsiasi momento semplicemente [richiamando la funzione di rebase nel vault](https://etherscan.io/address/originvault.eth#writeProxyContract). Puoi farlo su Etherscan connettendo un wallet web3. diff --git a/it/core-concepts/elastic-supply/rebasing-and-smart-contracts.md b/it/core-concepts/elastic-supply/rebasing-and-smart-contracts.md new file mode 100644 index 000000000..ea9de2054 --- /dev/null +++ b/it/core-concepts/elastic-supply/rebasing-and-smart-contracts.md @@ -0,0 +1,22 @@ +# Ribasamento & Smart Contract + +Se stai utilizzando un wallet multi-sig o un altro smart contract che intende sincronizzarsi con i rebasamenti di OUSD, devi richiamare la funzione `rebaseOptIn()` dello smart contract di OUSD. Questo si deve fare solo con gli smart contract perché i wallet EOA vengono registrati automaticamente. + +{% hint style="info" %} +I wallet multi-sig o altri smart contract devono richiamare la funzione ` rebaseOptIn()` per cominciare ad accumulare rendimento. +{% endhint %} + +By default, OUSD that is held on smart contracts will not participate in the rebasing nature of the token and will forfeit any yield unless the smart contract explicitly opts-in. This increases the composability of OUSD within DeFi as many protocols weren't designed with the expectation that balances might change. To other DeFi protocols, OUSD works just like any other normal, well-behaved ERC-20 until you ask it to change. This is a particularly useful attribute for automated market makers (AMM’s) like Uniswap which break when the number of tokens they are holding changes unexpectedly. + +![The Gnosis Safe OUSD app will prompt you to opt in to yield](../../.gitbook/assets/ousd-app-in-gnosis-safe.png) + +Smart contracts must explicitly opt-in to receiving yield via the rebasing mechanism. This fixes the issue with the expanding supply on AMM’s while still allowing multi-sig wallets and other smart contracts the opportunity to still participate and earn yield. + +{% hint style="warning" %} +If you are deploying a contract and intend to call`rebaseOptIn()`to earn yield you cannot call it from the contract's constructor. The contract must be deployed before it can be called. +{% endhint %} + +[Gnosis Safe](https://gnosis-safe.io) users are encouraged to use the Origin Dollar app which will prompt you to opt in to receiving yield. If you are using the "Old" [Gnosis Wallet](https://github.com/gnosis/MultiSigWallet) or another contract-based wallet, you will need the [proxy contract address for OUSD](../../smart-contracts/registry.md) and the corresponding [ABI](https://api.etherscan.io/api?module=contract\&action=getabi\&address=0x1ae95dd4eeae7ed03da79856c2d44ffa3318f805). Once you add those, you will be able to call the `rebaseOptIn()` function to opt into receiving yield via rebasing or`rebaseOptOut()` to turn it off again. + + + diff --git a/it/core-concepts/fund-management.md b/it/core-concepts/fund-management.md new file mode 100644 index 000000000..d6b1920c5 --- /dev/null +++ b/it/core-concepts/fund-management.md @@ -0,0 +1,23 @@ +# Fund Management + +The OUSD smart contract aggregates all users' stablecoin deposits into a single pool of assets that are then deployed into earning strategies based on preset allocations. In contrast to Yearn Vaults, TokenSets, or Zapper opportunities, users do not select individual strategies. All deposited stablecoins and consequently all OUSD tokens are fungible. + +The weighting of how assets are distributed between the supported strategies is decided by OGN holders using weekly snapshot voting. These votes happen offchain and do not cost any gas. The results of the weekly poll will then be executed onchain by members of the [Strategist multi-sig](https://etherscan.io/address/0xF14BBdf064E3F67f51cd9BD646aE3716aD938FDC) (known as "Strategists"). + +Ultimately, we believe it should be up to the community to decide what the right balance of risk/reward is appropriate for OUSD. We encourage the community to favor high-yield strategies while still maintaining diversification across multiple strategies to remove single points of failure and minimize risk. + +**How strategy allocation voting works:** + +* New snapshot proposals will open for voting on the [OGN governance portal ](http://vote.originprotocol.com)at midnight Tuesday UTC (7pm eastern Monday). The poll will be open for 48 hours, ending at midnight Thursday UTC (7pm eastern on Wednesday). +* During this time, those interested can discuss allocation changes in a thread in the #governance channel on [Origin's Discord](https://www.originprotocol.com/discord). +* Each proposal will use "weighted voting", with options for each coin/strategy combination and an option to keep the existing allocation unchanged. OGN holders can spread their votes among different listed strategies or the existing allocation. +* After the voting time has ended, Strategists will submit, verify, and execute transactions to change OUSD to the determined allocation percentages for the week. If more than 50% of the weighted votes are cast for the existing allocation, Strategists will take no action. +* Allocations will be executed for strategies that use all stablecoins first (like Convex), then each stablecoin will be allocated to the remaining strategies according to the ratio of votes for that stablecoin / strategy combination. +* If the Strategists deem any of the allocations unsafe to the funds behind OUSD, they may choose to not execute those. In addition, Strategists may decline to execute minor adjustments where the gas costs would be greater than the expected benefits. +* Like all governance proposals, Strategist allocations must meet the minimum quorum requirements (currently 1M OGN) to be considered valid. +* From a security standpoint, it is important to know that while Strategists have the ability to move funds between approved strategies or instantly pause rebasing in the case of an emergency, Strategists do not have the power to add new strategies or withdraw funds without going through the timelock. Community members can use the Strategy Validator tools to more easily [create](https://analytics.ousd.com/strategist/creator) and [decode](https://analytics.ousd.com/strategist) which actions are being performed by the Strategists. +* When voting, please remember it is inefficient to move in and out of the Convex strategy frequently and some funds need to always remain outside of Convex in order to accommodate withdrawals. + + + +**** diff --git a/it/core-concepts/fund-management/README.md b/it/core-concepts/fund-management/README.md new file mode 100644 index 000000000..10a0b4951 --- /dev/null +++ b/it/core-concepts/fund-management/README.md @@ -0,0 +1,6 @@ +# Gestione dei fondi + +Lo smart contract OUSD aggrega tutti i depositi delle stablecoin degli utenti in una singola pool di asset investibili. I fondi sono quindi allocati attraverso una o più [strategia di guadagno](earning-strategies.md) in un qualsiasi dato momento nel tempo. Il Vault predilige strategie ad alto rendimento, ma cerca anche di mantenere la diversificazione su più strategie. La diversificazione rimuove singoli punti di fallimento e mitiga i rischi. + +A differenza di Yearn Vaults, TokenSets e Zapper, gli utenti non selezionano singole strategie. Tutte le stable coin depositate e di conseguenza anche tutti i token OUSD sono fungibili. + diff --git a/it/core-concepts/fund-management/diversification.md b/it/core-concepts/fund-management/diversification.md new file mode 100644 index 000000000..bd72bde92 --- /dev/null +++ b/it/core-concepts/fund-management/diversification.md @@ -0,0 +1,8 @@ +# Diversificazione + +La versione iniziale dello smart contract Vault di OUSD, fornisce a ciascuna strategia valida, una peso semplice tra 0% e 100%, al fine di eseguire una semplice allocazione degli asset. Questi pesi saranno spostati spesso, nel breve termine tramite aggiornamenti da Origin, nel lungo termine dalla governance decentralizzata. + +La diversificazione su più [piattaforme](../supported-strategies/) DeFi sottostanti, ridurrà i rischi sullo smart contract e su altre sistemicità. Lo smart contract calcolerà il corrente e atteso APY, nel tentativo di fornire rendimenti competitivi agli holder di OUSD. Nel tempo, il contratto Vault verrà migliorato per passare in modo intelligente ed autonomoda una strategia all'altra senza alcun intervento manuale. Per esempio, il Vault sposterà capitali in automatico, tra le varie strategie di prestito al fine di ottimizzare i rendimenti. + +In ogni caso si prevede ancora di mettere ai voti i vari parametri di rischio, o le decisioni su quali strategie dovranno essere incluse nel motore di decision making automatico oppure no. + diff --git a/it/core-concepts/fund-management/earning-strategies.md b/it/core-concepts/fund-management/earning-strategies.md new file mode 100644 index 000000000..dbc202e01 --- /dev/null +++ b/it/core-concepts/fund-management/earning-strategies.md @@ -0,0 +1,6 @@ +# Strategie di guadagno + +Le strategie di guadagno mettono il capitale distribuito per funzionare attraverso varie piattaforme DeFi. Il Vault determinerà quali strategie sono attive e quale percentuale di capitale distribuito riceveranno. + +Inoltre, le strategie verranno aggiornate nel tempo. Per esempio, al lancio, ci sarà una [Strategia Compund](../supported-strategies/compound.md) iniziale. Nel tempo, questo può essere sostituito da una strategia Compund v2 o v3. + diff --git a/it/core-concepts/price-oracles.md b/it/core-concepts/price-oracles.md new file mode 100644 index 000000000..1b08c685f --- /dev/null +++ b/it/core-concepts/price-oracles.md @@ -0,0 +1,38 @@ +- - - +description: OUSD uses Chainlink to secure the protocol from pricing attacks +- - - + +# Price Oracles + +### Stablecoin Pricing + +OUSD is designed to stay pegged at 1 USD and be 1:1 backed with its underlying stablecoins. This is trickier than it sounds because these underlying stablecoins are constantly deviating from their own desired 1 USD pegs. While the majority of daily fluctuations are minor, there have been major swings in price that have occurred in the past and are likely to occur again in the future. + +| Coin | **Low** | **High** | **Delta** | **Source** | +| ---- | ---------------------------------------------------- | ---------------------------------------------------- | --------- | --------------------------------------------------------------------------- | +| USDC |

$0.929222

Mar 13, 2020

|

$1.11

Oct 15, 2018

| $0.180778 | [CoinMarketCap](https://coinmarketcap.com/currencies/usd-coin/) | +| USDC |

$0.924188

Aug 02, 2020

|

$1.17

May 08, 2019

| $0.245812 | [CoinGecko](https://www.coingecko.com/en/coins/usd-coin) | +| DAI |

$0.945505

May 10, 2020

|

$1.11

Mar 13, 2020

| $0.164495 | [CoinMarketCap](https://coinmarketcap.com/currencies/multi-collateral-dai/) | +| DAI |

$0.903243

Nov 25, 2019

|

$1.22

Mar 13, 2020

| $0.316757 | [CoinGecko](https://www.coingecko.com/en/coins/dai) | +| USDT |

$0.849809

Feb 02, 2017

|

$1.21

May 27, 2017

| $0.360191 | [CoinGecko](https://www.coingecko.com/en/coins/tether) | +| USDT |

$0.572521

Mar 02, 2015

|

$1.32

Jul 24, 2018

| $0.747479 | [CoinMarketCap](https://coinmarketcap.com/currencies/tether/) | + +The rebasing function treats 1 stablecoin as 1 OUSD for simplicity and to protect OUSD balances from being affected by the daily fluctuations in the price of the underlying stablecoins. Since the rebase function only counts coins, OUSD balances should only increase. + +In order to mint and redeem the appropriate number of OUSD on entry and exit, the smart contracts need to accurately price the USDT, USDC, and DAI that is entering and exiting the system. + +As an added precaution, OUSD never pays more than a dollar for a stablecoin, nor sells a stablecoin for less than a dollar. Oracles giving wrong prices will not result in a reduction of the number of stablecoins held. Gains that are collected as a result of stablecoins slipping from their peg are redistributed to the remaining holders of OUSD in the form of additional yield. + +As a decentralized protocol, OUSD must rely on non-centralized sources for these prices. OUSD uses Chainlink oracles for pricing data for DAI, USDC and USDT. You can read more about [our decision to work with Chainlink](https://blog.originprotocol.com/how-origin-uses-chainlink-oracles-to-secure-ousd-bff5601e840e) on our blog. Here are the Chainlink oracles we are currently using for stablecoin pricing: + +{% embed url="https://data.chain.link/usdt-usd" %} + +{% embed url="https://data.chain.link/usdc-usd" %} + +{% embed url="https://data.chain.link/dai-usd" %} + +### Reward Token Oracles & Front Running Protection + +When reward tokens from OUSD strategies are sold for additional yield, Chainlink oracles are checked to ensure that the sale price slippage has not exceeded normal bounds. These oracles are listed on our [registry](../smart-contracts/registry.md) page under the "Oracles" tab. + +The same is also true for OGN buybacks from OUSD yield.\ \ When minting and redeeming OUSD, a miniumun required amount can be passed into the contract call to ensure that the entire transaction fails if not enough OUSD or stablecoins would be returned to the user due to changing prices. diff --git a/it/core-concepts/price-oracles/README.md b/it/core-concepts/price-oracles/README.md new file mode 100644 index 000000000..e8985568d --- /dev/null +++ b/it/core-concepts/price-oracles/README.md @@ -0,0 +1,126 @@ +# Oracoli di Prezzo + +OUSD è progettato per rimanere ancorato ad 1 USD e può essere supportato 1:1 con le sue stablecoin sottostanti. Questo è più complicato di quanto sembri perché queste stablecoin sottostanti si discostano costantemente dall'ancoraggio desiderato di 1 USD. Sebbene la maggior parte delle fluttuazioni giornalieri sono irrilevanti, ci sono state in passato oscillazioni di prezzo di grande importanza e si potrebbero verificare nuovamente anche in futuro. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CoinLow + High + Delta + Fonte +
USDC +

$0.929222

+

13/03/2020

+
+

$1.11

+

15/10/2018

+
$0.180778CoinMarketCap +
USDC +

$0.924188

+

02/08/2020

+
+

$1.17

+

08/05/2019

+
$0.245812CoinGecko +
DAI +

$0.945505

+

10/05/2020

+
+

$1.11

+

13/03/2020

+
$0.164495CoinMarketCap +
DAI +

$0.903243

+

25/11/2019

+
+

$1.22

+

13/03/2020

+
$0.316757CoinGecko +
USDT +

$0.849809

+

02/02/2017

+
+

$1.21

+

27/05/2017

+
$0.360191CoinGecko +
USDT +

$0.572521

+

02/03/2015

+
+

$1.32

+

24/07/2018

+
$0.747479CoinMarketCap +
+ +La funzione di ribasamento tratta 1 stablecoin come fosse 1 OUSD per semplicità e per proteggere il saldo OUSD dalle fluttuazioni del prezzo delle stablecoin sottostanti. Poiché la funzione di rebase conta solo le monete, il saldo OUSD dovrebbe solo crescere. + +Per coniare e riscuotere l'appropriato numero di OUSD in entrata e uscita, gli smart contract hanno bisogno di prezzare accuratamente gli USDT, USDC e DAI che entrano ed escono dal sistema. In qualità di protocollo decentralizzato, OUSD deve riferirsi a sorgenti non centralizzate per questi prezzi. + +{% hint style="info" %} +OUSD recupera il prezzo da molteplici oracoli on-chain e utilizza i tassi di cambio che sono più vantaggiosi per il vault al momento della coniazione o del riscatto. +{% endhint %} + +Al fine di prevenire attacchi malevoli e per incoraggiare investitori di lungo periodo invece di speculatori di breve periodo, lo smart contract OUSD confronta i feed di prezzo da molteplici fonti e utilizzerà il tasso di cambio a vantaggio dell'intero vault rispetto al singolo. Questo meccanismo protegge i fondi della pool dagli arbitraggi e impedisce a qualsiasi individuo di essere in grado di trarre vantaggio da eventuali inefficienze temporanee causate da errori di prezzo provenienti dagli oracoli, per depredare gli asset dal vault condiviso. + +Ciò protegge i fondi nel vault e allo stesso tempo premia gli holder di lungo termine. Poiché il prezzo più sicuro dipende dalla direzione del trade, lo smart contract dell'oracolo Origin espone sia la funzione `priceUSDMint()`, sia la funzione ` priceUSDRedeem()`. + +OUSD uses Chainlink as oracle for DAI, USDC and USDT. + +{% embed url="https://feeds.chain.link/eth-usd" caption="" %} + +The specific smart contract address for each oracle being used are listed on our [registry](../../smart-contracts/registry.md) page. + +It is possible that additional oracles will be added to the protocol over time. Support may also be removed if any of these oracles become unreliable. + diff --git a/it/core-concepts/price-oracles/untitled.md b/it/core-concepts/price-oracles/untitled.md new file mode 100644 index 000000000..7a413944b --- /dev/null +++ b/it/core-concepts/price-oracles/untitled.md @@ -0,0 +1,25 @@ +# Untitled + +## Getting Super Powers + +Becoming a super hero is a fairly straight forward process: + +``` +$ give me super-powers +``` + +{% hint style="info" %} + Super-powers are granted randomly so please submit an issue if you're not happy with yours. +{% endhint %} + +Once you're strong enough, save the world: + +{% code title="hello.sh" %} +```bash +# Ain't no code for that yet, sorry +echo 'You got to trust me on this, I saved the world' +``` +{% endcode %} + + + diff --git a/it/core-concepts/supported-assets/README.md b/it/core-concepts/supported-assets/README.md new file mode 100644 index 000000000..c7c8d8b52 --- /dev/null +++ b/it/core-concepts/supported-assets/README.md @@ -0,0 +1,20 @@ +# Stablecoin supportate + +**Stablecoin supportate** + +It is important to understand that OUSD is only as strong as the stablecoins that are backing it. Any loss to the underlying assets will cause a similar loss to the value of OUSD. + +Currently, OUSD supports the following stablecoins: + +{% page-ref page="usdt.md" %} + +{% page-ref page="usdc.md" %} + +{% page-ref page="dai.md" %} + +None of these stablecoins are perfect, but we selected them because of their widespread usage. While these stablecoins have lost their USD peg on multiple occasions, they have demonstrated resiliency in eventually getting back to their 1 USD targets. + +It is important to note that all these stablecoins introduce non-trivial counter-party risk. Tether, in particular, has had well-documented banking troubles and regulatory challenges. In addition, both USDT and USDC have backdoors that grant their issuers the power to freeze money in their holder's wallets. While DAI does not have any direct backdoors, it's assets can also be negatively impacted since USDC is accepted as collateral for minting DAI. + +Despite these concerns, there are already billions of dollars betting on the security of these stablecoins. It is possible that additional stablecoins will be added to the protocol over time. Support may also be removed if any of these stablecoins prove to be too unreliable or put OUSD holders funds in jeopardy. + diff --git a/it/core-concepts/supported-assets/dai.md b/it/core-concepts/supported-assets/dai.md new file mode 100644 index 000000000..c4f8a73c5 --- /dev/null +++ b/it/core-concepts/supported-assets/dai.md @@ -0,0 +1,20 @@ +# DAI + +![](../../.gitbook/assets/dai.png) + +DAI è una stablecoin ancora alle fiat lanciata come token ERC-20 sulla blockchain di Ethereum a dicembre 2017. Un importante upgrade da DAI \ (SAI \) a collateralizzazione singola a DAI \ (DAI \) a collateralizzazione multipla è stato completato nel novembre 2019. Dai è ancorato al dollaro USA. + +Dai viene mintato dagli utenti che bloccano asset crypto come ETH o USDC come collaterale in una posizione di debito collateralizzata \ (CDP \) chiamata vault. In precedenza, solo ETH veniva accettato come collaterale. Le riserve e lo stato di ogni vault possono essere visualizzati sulla blockchain in tempo reale. Lo stato di questi vault e della stablecoin Dai è attentamente monitorato. + +Dai è la terza più grande stablecoin al mondo con oltre $400 milioni di circolante. Inoltre, cDAI e aDAI, le versioni sintetiche di Dai sulle piattaforme di prestito Compound e Aave, si sommano per oltre $600 milioni di circolante. + +| Aspetti principali | | +|:------------------ |:------------------------------------------------------------------------------------------------------------------- | +| Rilasciato da | MakerDAO | +| Nome | Dai | +| Simbolo | DAI | +| Indirizzo | [0x6b175474e89094c44da98b954eedeac495271d0f](https://etherscan.io/token/0x6b175474e89094c44da98b954eedeac495271d0f) | +| Decimali | 18 | +| Sito ufficiale | [https://makerdao.com/](https://makerdao.com/) | +| Possessori | Oltre 140.000 indirizzi | + diff --git a/it/core-concepts/supported-assets/usdc.md b/it/core-concepts/supported-assets/usdc.md new file mode 100644 index 000000000..2647d7c83 --- /dev/null +++ b/it/core-concepts/supported-assets/usdc.md @@ -0,0 +1,22 @@ +# USDC + +![](../../.gitbook/assets/usdc-coin-bd351fb779%20%281%29.png) + +USD Coin \(USDC\) is a fiat-pegged stablecoin launched as a ERC-20 token on the Ethereum blockchain in October 2018. USDC is pegged to the US dollar and can easily be redeemed for US dollars. + +Each USDC is backed by a 1:1 ratio with the equivalent amount of fiat currency held in custodial accounts by members of Centre, a consortium founded by Circle and Coinbase. Members of Centre are regulated financial institutions based in the US. Monthly audits of reserves are published by Grant Thornton LLP. + +USDC is the world's second-largest stablecoin after USDT and has quickly grown to over $1 billion in circulation. However, USDC remains far behind USDT's $12+ billion in circulation. + +| Key Facts | | +|:------------- |:------------------------------------------------------------------------------------------------------------------- | +| Issued by | Centre | +| Name | USD Coin | +| Symbol | USDC | +| Address | [0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48](https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48) | +| Decimals | 6 | +| Official site | [https://www.centre.io/usdc](https://www.centre.io/usdc) | +| Holders | Over 200k addresses | + + + diff --git a/it/core-concepts/supported-assets/usdt.md b/it/core-concepts/supported-assets/usdt.md new file mode 100644 index 000000000..4ae2afe89 --- /dev/null +++ b/it/core-concepts/supported-assets/usdt.md @@ -0,0 +1,22 @@ +# USDT + +![](../../.gitbook/assets/image%20%281%29.png) + +Tether \(USDT\) is a fiat-pegged stablecoin that was initially built on top of Bitcoin via the Omni Layer Protocol. In September 2017, Tether announced they would be launching additional ERC-20 tokens for United States dollars on the Ethereum blockchain. + +Each Tether issued into circulation is said to be backed by a one-to-one ratio with the equivalent amount of fiat currency held in a custodial account by Tether Limited, a Hong Kong-based company with close ties to the cryptocurrency exchange, Bitfinex. + +Despite the controversy ****around ****the company's failure to provide a promised audit showing adequate reserves backing tether, USDT is still the world's largest stablecoin by market cap and currently the fourth-largest cryptocurrency after BTC, ETH and XRP. + +| Key Facts | | +|:------------- |:---------------------------------------------------------------------------------------------------------------- | +| Issued by | Tether Limited | +| Name | Tether | +| Symbol | USDT | +| Address | [0xdac17f958d2ee523a2206206994597c13d831](https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7) | +| Decimals | 6 | +| Official site | [https://tether.to/ ](https://tether.to/%20) | +| Holders | Over 1.8M addresses | + + + diff --git a/it/core-concepts/supported-defi-platforms/README.md b/it/core-concepts/supported-defi-platforms/README.md new file mode 100644 index 000000000..ef46b499e --- /dev/null +++ b/it/core-concepts/supported-defi-platforms/README.md @@ -0,0 +1,30 @@ +# Piattaforme DeFi supportate + +**Piattaforme supportate** + +OUSD genera rendimento depositando stablecoin in piattaforme di landing e in liquidity pool di market maker. E' importante capire che queste piattaforme comportano rischi tecnologici e che i fondi possono andare persi se si dovesse verificare un cattivo evento di sicurezza. Stiamo scegliendo di lavorare con le piattaforme che hanno fatto revisionare i propri smart contract e che ci fanno sentire di essere le più sicure. + +Attualmente prevediamo di maturare rendimenti dalle seguenti piattaforme: + +{% page-ref page="compound.md" %} + +Sono attualmente pianificate le integrazioni delle seguenti piattaforme: + +{% page-ref page="aave.md" %} + +{% page-ref page="dydx.md" %} + +{% page-ref page="uniswap.md" %} + +{% page-ref page="curve.md" %} + +{% page-ref page="balancer.md" %} + +{% page-ref page="yearn.finance.md" %} + +Anche se la DeFi sia cresciuta molto rapidamente e ora ci siano miliardi di dollari di valore depositati su queste piattaforme, molti di questi progetti sono ancora in beta e sono altamente sperimentali. Potrebbero esserci vulnerabilità nascoste negli smartcontract che alimentano queste piattaforme, e in pasato ci sono state perdite per molti milioni di dollari, causate da vulnerabilità in applicazioni Ethereum. + +Noi monitoriamo attentamente gli eventi di sicurezza sulle piattaforme che supportiamo, e ci muoveremo immediatamente per tenere al sicuro i fondi dei titolari di OUSD se dovessimo identificare eventuali minacce. + + + diff --git a/it/core-concepts/supported-defi-platforms/aave.md b/it/core-concepts/supported-defi-platforms/aave.md new file mode 100644 index 000000000..3fb0a36e4 --- /dev/null +++ b/it/core-concepts/supported-defi-platforms/aave.md @@ -0,0 +1,25 @@ +# Aave + +{% hint style="info" %} +In arrivo. Aave non è ancora stato integrato. +{% endhint %} + +Aave è un protocollo di prestiti e una piattaforma costruito su Ethereum e lanciato a gennaio 2020 dai creatori di ETHLend. Gli utenti di Aave possono accumulare interessi composti o prendere in prestito asset a fronte di collaterale. Ciascun asset supportato è aggregato alla propria pool di liquidità e gli utenti possono scegliere tra un tasso di interesse variabile basato sulla domanda e l'offerta o un tasso di interesse fisso. + +I saldi dei collaterali sono rappresentati da un aTokens ERC-20 in un rapporto 1:1 rispetto agli asset sottostanti che rappresentano. L'interesse è composto automaticamente e pagato ai creditori con aTokens, il che significa che i creditori vedranno costantemente il loro saldo di atoken aumentare nel corso del tempo. Gli utenti possono prendere in prestito asset a fronte dei loro aTokens. Gli aTokens sono liberamente trasferibili e possono essere utilizzati su molti altri protocolli Defi. Gli aTokens possono essere rimborsati per il collaterale sottostante in qualsiasi momento. + +Aave supporta prestiti flash, che sono prestiti non collateralizzati in cui gli utenti prendono in prestito e rimborsano il saldo del prestito in un'unica operazione, il che significa che gli utenti di prestiti flash non hanno bisogno di mettere alcun capitale iniziale. I prestiti Flash sono un prodotto complesso rivolto agli sviluppatori e possono essere utilizzati per l'arbitraggio su più protocolli Defi. + +Aave è attualmente governata da LEND, un token ERC-20 che in precedenza era l'utility token per Ethlend. Aave ha annunciato una transizione verso una governance completamente decentralizzata che include uno swap di token in cui gli utenti scambiano LEND con AAVE, un nuovo token di governance ERC-20 con reward da staking. Alcuni AAVE saranno distribuiti agli utenti della piattaforma in una campagna di liquidity mining. + +Il valore totale di Aave bloccato \ (TVL\) è cresciuto rapidamente oltre gli 1,2 miliardi di dollari, rendendolo uno dei più grandi protocolli di Defi. LEND ha una capitalizzazione di mercato del circolante di oltre 700 milioni di dollari. + +Aave è stata sottoposta a audit di sicurezza da OpenZeppelin, Trail of Bits e Consensys Diligence. Aave gestisce un programma di bug bounty. + +| Risorse | | +|:-------------- |:------------------------------------------------------------------------------ | +| Sito ufficiale | [https://aave.com/](https://aave.com/) | +| Docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/aave/aave-protocol](https://github.com/aave/aave-protocol) | +| Discord | [https://discordapp.com/invite/AnSqnvV](https://discordapp.com/invite/AnSqnvV) | + diff --git a/it/core-concepts/supported-defi-platforms/balancer.md b/it/core-concepts/supported-defi-platforms/balancer.md new file mode 100644 index 000000000..e0476b604 --- /dev/null +++ b/it/core-concepts/supported-defi-platforms/balancer.md @@ -0,0 +1,27 @@ +# Balancer + +{% hint style="info" %} +In arrivo. Balancer non è ancora stato integrato. +{% endhint %} + +Balancer è un protocollo di liquidità e di scambio decentralizzato su Ethereum, lanciato nel marzo 2020. Gli utenti possono swappare token ERC-20 pagando una commissione o possono contribuire aggiungendo token alla pool per guadagnare commissioni. + +Balancer è un Market Maker Automatizzato \(AMM\) che consente di realizzare pool di liquidità fino a 8 asset diversi con pesi personalizzati. I pool di liquidità su Balancer possono essere considerati simili a Exchange Traded Funds \(ETFs\) o a portafogli con target pesati per asset specifici. Se il trading fa sì che la pool si allontani dalla distribuzione del target pesato, i tassi di cambio tra gli asset nella pool cambiano. Gli arbitrageurs possono fare trade per approfittare di questo ed agire per riequilibrare di nuovo la pool alla sua distribuzione del peso obiettivo. La liquidità può anche essere condivisa tra pool, a differenza di altri AMM. + +Balancer supporta le pool private, dove solo il proprietario della pool può contribuire alla liquidità, le pool condivise, che sono completamente pubbliche e lesmart pool, che sono pool condivise controllati da uno smart contract in grado di implementare regole e logiche automatizzate. I fornitori di liquidità ricevono Balancer Pool Token \(BPTs\) che rappresentano la loro quota di una determinata pool e delle commissioni. Questi token sono liberamente trasferibili e possono essere riscattati per gli asset forniti e per le commissioni maturate. + +Gli emittenti di token che cercano di aumentare la liquidità del loro token hanno offerto incentivi ai fornitori di liquidità nelle campagne di mining di liquidità. Anche i nuovi emittenti di token hanno lanciato i loro token nelle pool di Balancer. + +Balancer è governato da BAL, un token di governance ERC-20. I possessori di BAL possono votare le modifiche al protocollo. BAL è costantemente assegnato ai fornitori di liquidità e gran parte della supply totale di BAL è stata assegnata al team e agli investitori secondo un programma di acquisizione continua. + +I volumi di trading su Balancer superano spesso i 25 milioni di dollari al giorno. Il Balancer ha un Valore Totale Bloccato \(TVL\) di oltre 250 milioni di dollari da parte dei fornitori di liquidità nel momento in cui scriviamo. + +Balancer è stato sottoposto ad un audit di sicurezza da Trail of Bits e ha un programma di bug bounty. Tuttavia, Balancer ha subito un grande exploit nel giugno 2020. + +| Risorse | | +|:-------------- |:-------------------------------------------------------------------- | +| Sito ufficiale | [https://balancer.finance/](https://balancer.finance/) | +| Docs | [https://docs.balancer.finance/](https://docs.balancer.finance/) | +| GitHub | [https://github.com/balancer-labs](https://github.com/balancer-labs) | +| Discord | [https://discord.gg/ARJWaeF](https://discord.gg/ARJWaeF) | + diff --git a/it/core-concepts/supported-defi-platforms/compound.md b/it/core-concepts/supported-defi-platforms/compound.md new file mode 100644 index 000000000..aa8b559cb --- /dev/null +++ b/it/core-concepts/supported-defi-platforms/compound.md @@ -0,0 +1,19 @@ +# Compound + +Compound è un protocollo ed una piattaforma di prestito, sviluppata su Ethereum ed è stata lanciata a Settembre 2018. Gli utenti possono guadagnare interessi composti o prendere in prestito asset a fronte di un collaterale. Ogni asset supportato viene aggregato alla sua pool di liquidità e i tassi di interesse vengono regolati automaticamente in base a domanda e offerta. + +I saldi del collaterale sono rappresentati da cToken ERC-20, che automaticamente guadagnano interessi in modo automatico e incrementano di valore nel tempo rispetto all'asset sottostante che rappresentano. Gli utenti possono prendere in prestito asset a fronte del valore dei loro cToken. cToken sono trasferibili liberamente e possono essere usati in tanti altri protocolli DeFi. cToken possono essere rimborsati con il loro collaterale sottostante in ogni momento. + +Compount è governato da COMP, un token di governance ERC-20. I titolari di COMP possono proporre e votare modifiche al protocollo o delegare i propri voti a qualcun altro. I token COMP vengono assegnati proporzionalmente su base giornaliera, agli utenti del protocollo e sono divisi equamente tra chi ha preso in prestito e chi ha dato in prestito. Gran parte dell'offerta di token COMP è in mano al team di Compound, agli investitori e ai loro Advisors. + +Il valore totale dei Compound bloccati \ (TVL\) è cresciuto rapidamente vicino agli $800 milioni, rendendolo uno dei più grandi protocolli di DeFi. In Ottobre 2020, il circulating market cap di COMP supera i $300 milioni. + +Compound è stato sottoposto a moltpelici revisioni di sicurezza, effettuati da OpenZeppelin e Trails of Bits. Il protocollo Compound è stato formalmente verificato da CertiK ed è stato sottoposto a stress test economici da Gauntlet. Compound ha attivo un programma di bug bounty. + +| Risorse | | +|:-------------- |:-------------------------------------------------------------------------------------------------------------- | +| Sito ufficiale | [https://compound.finance/](https://compound.finance/) | +| Docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/compound-finance/compound-protocol](https://github.com/compound-finance/compound-protocol) | +| Discord | [https://discord.com/invite/cU7vmVW](https://discord.com/invite/cU7vmVW) | + diff --git a/it/core-concepts/supported-defi-platforms/curve.md b/it/core-concepts/supported-defi-platforms/curve.md new file mode 100644 index 000000000..ef5aec5b2 --- /dev/null +++ b/it/core-concepts/supported-defi-platforms/curve.md @@ -0,0 +1,25 @@ +# Curve + +{% hint style="info" %} +In arrivo. Curve non è ancora stato integrato. +{% endhint %} + +Curve è costruito su Ethereum ed è un protocollo ed exchange di liquidità decentralizzata per stablecoin e wrapped BTC, lanciato a gennaio 2020. Gli utenti possono swappare tra loro stablecoin di tipo ERC-20 o tra la rappresentazione ERC-20 di bitcoin su Ethereum. I liquidity providers, facilitano il trading e guadagnano commissioni. + +Curve è un Automated Market Maker \(AMM\), in cui ogni market ha un pool di liquidità associato con due o più asset con lo stesso valore, come USDT, USDC, DAI e TUSD, le quali sono infatti tutte stablecoin ancorate al dollaro USA. Il tasso di cambio tra ogni stablecoin e i relativi pesi sono determinati da un algoritmo basato su domanda e offerta. I trader che fanno arbitraggio agiscono per normalizzare questi tassi di cambio. + +Alcuni dei pool di liquidità di Curve guadagnano commissioni extra per i fornitori di liquidità oltre alle commissioni di scambio dei trader. Curve offre pool di stablecoin integrate con Compound, yearn.finance, e Synthetix. Gli asset in ogni liquidity pool, sono forniti da queste piattaforme per generare un rendimento aggiuntivo che viene trasferito ai fornitori di liquidità di ciascuna pool. I token di Liquidity Provider \(LP\) vengono dati ai partecipanti della pool e possono essere riscattati per la loro liquidità iniziale, più le commissioni e il rendimento maturati. I token LP possono anche essere trasferiti per essere utilizzati in altri protocolli. + +Curve è governato da CRV, un token di governance ERC-20. I possessori di CRV possono votare le modifiche al protocollo. I possessori di CRV possono mettere in stake i loro token per un potere di voto addizionale, proporzionale al tempo di staking. CRV è costantemente assegnato ai fornitori di liquidità e gran parte della supply totale di CRV è stata assegnata al team e agli investitori secondo un programma di acquisizione continua. + +I volumi di trading su Curve superano spesso i 50 milioni di dollari al giorno. Il Curve ha un Valore Totale Bloccato \(TVL\) di oltre 1 trilioni di dollari da parte dei fornitori di liquidità nel momento in cui scriviamo. + +Curve è stato sottoposto a due audit eseguiti da Trail of Bits e ha un programma di Bug bounty. + +| Risorse | | +|:-------------- |:------------------------------------------------------------------------ | +| Sito ufficiale | [https://uniswap.org/](https://uniswap.org/) | +| Docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/it/core-concepts/supported-defi-platforms/dydx.md b/it/core-concepts/supported-defi-platforms/dydx.md new file mode 100644 index 000000000..f92084944 --- /dev/null +++ b/it/core-concepts/supported-defi-platforms/dydx.md @@ -0,0 +1,27 @@ +# dYdX + +{% hint style="info" %} +In arrivo. DyDx non è ancora stato integrato. +{% endhint %} + +dYdX è un protocollo ed una piattaforma di prestito e di trading, sviluppata su Ethereum ed è stata lanciata a Maggio 2019. Gli utenti possono scambiare asset sull'exchange decentralizzato e non custodial di dYdX, oppure possono partecipare prestando o prendendo in prestito. Il protocollo di prestito permette il margin trading e operazioni sui futures. I tassi di interesse vengono adeguati in base all'offerta e alla domanda e vengon proposti solo prestiti a breve termine. + +La liquidità degli asset disponibile per i prestiti, è raggruppata per tipo di asset. Gli interessi pagati ai prestatori maturano automaticamente e coloro i quali hanno preso in prestito devono mettere un collaterale per contrarre il prestito. + +dYdX supporta anche prestiti flash, che sono prestiti non collateralizzati, in cui gli utenti prendono in prestito e rimborsano il saldo in un'unica operazione, il che significa che gli utenti dei prestiti flash non hanno bisogno di mettere alcun capitale iniziale. I prestiti Flash sono un prodotto complesso rivolto agli sviluppatori e possono essere utilizzati per l'arbitraggio su più protocolli Defi. + +Ad Ottobre 2020, dYdX ha circa $ 25 milioni di capitale bloccato \(TVL\). dYdX non ha un token nativo. + +dYdX è stato sottoposto a revisioni sulla sicurezza da OpenZeppelin e Bramah Systems. + +| Risorse | | +|:-------------- |:-------------------------------------------------------------------- | +| Sito ufficiale | [https://dydx.exchange/](https://dydx.exchange/) | +| Docs | [https://docs.dydx.exchange/](https://docs.dydx.exchange/) | +| GitHub | [https://github.com/dydxprotocol/](https://github.com/dydxprotocol/) | +| Discord | [https://discord.gg/yah42Rb](https://discord.gg/yah42Rb) | + + + + + diff --git a/it/core-concepts/supported-defi-platforms/uniswap.md b/it/core-concepts/supported-defi-platforms/uniswap.md new file mode 100644 index 000000000..4c78d2c0b --- /dev/null +++ b/it/core-concepts/supported-defi-platforms/uniswap.md @@ -0,0 +1,27 @@ +# Uniswap + +{% hint style="info" %} +In arrivo. Uniswap non è ancora stato integrato. +{% endhint %} + +Uniswap è costruito su Ethereum ed è un protocollo ed exchange di liquidità decentralizzata, lanciato a novembre 2018. Uniswap v2 è stato lanciato a maggio 2020. Gli utenti possono swappare token ERC-20 pagando una commissione o possono contribuire aggiungendo token alla pool per guadagnare commissioni. + +I market su Uniswap operano come pool di liquidità e non come i classici order book. Questi tipi di exchange vengono chiamati Automated Market Maker \(AMM\). Il tasso di cambio tra i due asset è determinato da una formula con prodotto costante e si muove lungo una curva di prezzo che dipende dal peso relativo di ogni asset nella pool. Questo incoraggia gli Arbitrageurs ad entrare nei liquidity pool per ribilanciare i pesi relativi e normalizzare il tasso di cambio. + +I trader potrebbero soffrire di slippage se non ci fosse abbastanza liquidità all'interno di una pool e potrebbero non essere protetti da tassi di scambio sfavorevoli. I liquidity provider potrebbero soffrire di impermanent loss qualora i tassi di cambio della pool non corrispondessero alla realtà del mercato e gli arbitrageur eseguissero scambi lungo la curva dei prezzi. + +I partecipanti alla pool ricevono token Uniswap Liquidity Provider \(LP\) che corrispondono alla loro quota di liquidità fornita nella determinata pool. Questi token LP sono liberamente trasferibili. I parteicpanti possono uscire dalle pool in qualsiasi momento, riscattando questi token in cambio degli asset forniti e delle fee accumulate. + +Gli emittenti di token che cercano di aumentare la liquidità del loro token hanno offerto incentivi ai fornitori di liquidità nelle campagne di mining di liquidità. Anche i nuovi emittenti di token hanno lanciato i loro token nelle pool di Uniswap. + +I volumi di scambio su Uniswap ora eclissano quelli di molti altri mercati tradizionali e superano 200 milioni di dollari al giorno. Alla data attuale -ottobre 2020-, Uniswap ha circa 3 miliardi di dollari in valore totale bloccato \(TVL\) forniti dai liquidity providers. Uniswap non ha una piattaforma nativa o un token di governance. + +Uniswap ha fatto revisionare e verificare formalmente i suoi smart contract da dapp.org. Uniswap ha un programma di bug bounty. + +| Risorse | | +|:-------------- |:------------------------------------------------------------------------ | +| Sito ufficiale | [https://uniswap.org/](https://uniswap.org/) | +| Docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/it/core-concepts/supported-defi-platforms/yearn.finance.md b/it/core-concepts/supported-defi-platforms/yearn.finance.md new file mode 100644 index 000000000..55c49cae5 --- /dev/null +++ b/it/core-concepts/supported-defi-platforms/yearn.finance.md @@ -0,0 +1,25 @@ +# Yearn.finance + +{% hint style="info" %} +In arrivo. Yearn.finance non è ancora stato integrato. +{% endhint %} + +Yearn.finance, precedentemente iEarn.finance, è una piattaforma di aggregazione di rendimenti realizzata su Ethereum e lanciata a gennaio 2020 da Andre Cronje. Yearn gestisce il farming di yield e strategie di ribilanciamento, utilizzando una combinazione di decisioni umane e automazione, per conto degli utenti che hanno depositato del capitale. + +Yearn ha due prodotti di aggregazione di rendimento, Earn e Vaults. Earn permette agli utenti di depositare stablecoin o wrapped BTC in pool di liquidità su Curve per guadagnare commissioni e ottenere premi in token di governance. Questi asset vengono anche prestati su piattaforme che offrono ricompense ad alto rendimento e token di ricompensa, che si aggiungono al rendimento guadagnato. + +I vault offrono un'esperienza più automatizzata e gestita. Gli utenti depositano gli asset come LINK, Token di liquidity provider Curve, o stablecoin, e il Vault li raccoglie insieme e implementa la strategia di yield con rendimento più alta ritenuta sicura dalla community e da Andre Cronje. I token di governance guadagnati come ricompense, vengono venduti in cambio dell'asset originale depositato e vengono aggiunti ad altre commission, e automaticamente vengono trasferiti nel Vault per generare interesse composto. Le strategie possono cambiare frequentemente e condividere gli asset insieme permette agli utenti di risparmiare costi di gas. + +Yearn è governato da YFI, un token di governance ERC-20. I titolari di YFI possono votare le modifiche al cambiamento del protocollo, dopo aver accettato di bloccare i loro YFI per 3 giorni. YFI può inoltre essere messo in stake nel portale di governance, in cambio di rendimento. Questo rendimento proviene dalle commissioni applicate agli utenti dei prodotti di Yearn. YFI è stato distribuito interamente ai liquidity providers su Curve e Balancer. Non ci sono stanziamenti per membri del team o investitori. + +Il valore totale bloccato \(TVL\) di Yearn è cresciuto velocemente fino ad oltre $900 milioni in Settembre 2020, rendendola una delle piattaforme DeFi più grandi al momento. YFI ha una capitalizzazione di mercato del circolante di oltre 400 milioni di dollari ad ottobre 2020. + +Yearn e il suo smartcontrato sono stati sottoposti a molteplici revisioni di sicurezza da CertiK, Quantstamp, HackMD e CryptoManiacs. Yearn ha la reputazione di lanciare prodotti sperimentali molto rapidamente e avverte gli utenti che i loro prodotti sono in beta. + +| Risorse | | +|:-------------- |:-------------------------------------------------------------------- | +| Sito ufficiale | [https://yearn.finance/](https://yearn.finance/) | +| Docs | [https://docs.yearn.finance/](https://docs.yearn.finance/) | +| GitHub | [https://github.com/iearn-finance](https://github.com/iearn-finance) | +| Discord | [https://discord.gg/uTmHe8r](https://discord.gg/uTmHe8r) | + diff --git a/it/core-concepts/supported-platforms/README.md b/it/core-concepts/supported-platforms/README.md new file mode 100644 index 000000000..3c37b7a10 --- /dev/null +++ b/it/core-concepts/supported-platforms/README.md @@ -0,0 +1,32 @@ +# Piattaforme supportate + +**Piattaforme supportate** + +OUSD genera rendimento depositando stablecoin in piattaforme di landing e in liquidity pool di market maker. E' importante capire che queste piattaforme comportano rischi tecnologici e che i fondi possono andare persi se si dovesse verificare un cattivo evento di sicurezza. Stiamo scegliendo di lavorare con le piattaforme che hanno fatto revisionare i propri smart contract e che ci fanno sentire di essere le più sicure. + +Attualmente prevediamo di maturare rendimenti dalle seguenti piattaforme: + +{% page-ref page="compound.md" %} + +Sono attualmente pianificate le integrazioni delle seguenti piattaforme: + +{% page-ref page="yearn.finance.md" %} + +{% page-ref page="compound.md" %} + +{% page-ref page="aave.md" %} + +{% page-ref page="dydx.md" %} + +{% page-ref page="uniswap.md" %} + +{% page-ref page="curve.md" %} + +{% page-ref page="balancer.md" %} + +Anche se la DeFi sia cresciuta molto rapidamente e ora ci siano miliardi di dollari di valore depositati su queste piattaforme, molti di questi progetti sono ancora in beta e sono altamente sperimentali. Potrebbero esserci vulnerabilità nascoste negli smartcontract che alimentano queste piattaforme, e in pasato ci sono state perdite per molti milioni di dollari, causate da vulnerabilità in applicazioni Ethereum. + +Noi monitoriamo attentamente gli eventi di sicurezza sulle piattaforme che supportiamo, e ci muoveremo immediatamente per tenere al sicuro i fondi dei titolari di OUSD se dovessimo identificare eventuali minacce. + + + diff --git a/it/core-concepts/supported-platforms/aave.md b/it/core-concepts/supported-platforms/aave.md new file mode 100644 index 000000000..3fb0a36e4 --- /dev/null +++ b/it/core-concepts/supported-platforms/aave.md @@ -0,0 +1,25 @@ +# Aave + +{% hint style="info" %} +In arrivo. Aave non è ancora stato integrato. +{% endhint %} + +Aave è un protocollo di prestiti e una piattaforma costruito su Ethereum e lanciato a gennaio 2020 dai creatori di ETHLend. Gli utenti di Aave possono accumulare interessi composti o prendere in prestito asset a fronte di collaterale. Ciascun asset supportato è aggregato alla propria pool di liquidità e gli utenti possono scegliere tra un tasso di interesse variabile basato sulla domanda e l'offerta o un tasso di interesse fisso. + +I saldi dei collaterali sono rappresentati da un aTokens ERC-20 in un rapporto 1:1 rispetto agli asset sottostanti che rappresentano. L'interesse è composto automaticamente e pagato ai creditori con aTokens, il che significa che i creditori vedranno costantemente il loro saldo di atoken aumentare nel corso del tempo. Gli utenti possono prendere in prestito asset a fronte dei loro aTokens. Gli aTokens sono liberamente trasferibili e possono essere utilizzati su molti altri protocolli Defi. Gli aTokens possono essere rimborsati per il collaterale sottostante in qualsiasi momento. + +Aave supporta prestiti flash, che sono prestiti non collateralizzati in cui gli utenti prendono in prestito e rimborsano il saldo del prestito in un'unica operazione, il che significa che gli utenti di prestiti flash non hanno bisogno di mettere alcun capitale iniziale. I prestiti Flash sono un prodotto complesso rivolto agli sviluppatori e possono essere utilizzati per l'arbitraggio su più protocolli Defi. + +Aave è attualmente governata da LEND, un token ERC-20 che in precedenza era l'utility token per Ethlend. Aave ha annunciato una transizione verso una governance completamente decentralizzata che include uno swap di token in cui gli utenti scambiano LEND con AAVE, un nuovo token di governance ERC-20 con reward da staking. Alcuni AAVE saranno distribuiti agli utenti della piattaforma in una campagna di liquidity mining. + +Il valore totale di Aave bloccato \ (TVL\) è cresciuto rapidamente oltre gli 1,2 miliardi di dollari, rendendolo uno dei più grandi protocolli di Defi. LEND ha una capitalizzazione di mercato del circolante di oltre 700 milioni di dollari. + +Aave è stata sottoposta a audit di sicurezza da OpenZeppelin, Trail of Bits e Consensys Diligence. Aave gestisce un programma di bug bounty. + +| Risorse | | +|:-------------- |:------------------------------------------------------------------------------ | +| Sito ufficiale | [https://aave.com/](https://aave.com/) | +| Docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/aave/aave-protocol](https://github.com/aave/aave-protocol) | +| Discord | [https://discordapp.com/invite/AnSqnvV](https://discordapp.com/invite/AnSqnvV) | + diff --git a/it/core-concepts/supported-platforms/balancer.md b/it/core-concepts/supported-platforms/balancer.md new file mode 100644 index 000000000..e0476b604 --- /dev/null +++ b/it/core-concepts/supported-platforms/balancer.md @@ -0,0 +1,27 @@ +# Balancer + +{% hint style="info" %} +In arrivo. Balancer non è ancora stato integrato. +{% endhint %} + +Balancer è un protocollo di liquidità e di scambio decentralizzato su Ethereum, lanciato nel marzo 2020. Gli utenti possono swappare token ERC-20 pagando una commissione o possono contribuire aggiungendo token alla pool per guadagnare commissioni. + +Balancer è un Market Maker Automatizzato \(AMM\) che consente di realizzare pool di liquidità fino a 8 asset diversi con pesi personalizzati. I pool di liquidità su Balancer possono essere considerati simili a Exchange Traded Funds \(ETFs\) o a portafogli con target pesati per asset specifici. Se il trading fa sì che la pool si allontani dalla distribuzione del target pesato, i tassi di cambio tra gli asset nella pool cambiano. Gli arbitrageurs possono fare trade per approfittare di questo ed agire per riequilibrare di nuovo la pool alla sua distribuzione del peso obiettivo. La liquidità può anche essere condivisa tra pool, a differenza di altri AMM. + +Balancer supporta le pool private, dove solo il proprietario della pool può contribuire alla liquidità, le pool condivise, che sono completamente pubbliche e lesmart pool, che sono pool condivise controllati da uno smart contract in grado di implementare regole e logiche automatizzate. I fornitori di liquidità ricevono Balancer Pool Token \(BPTs\) che rappresentano la loro quota di una determinata pool e delle commissioni. Questi token sono liberamente trasferibili e possono essere riscattati per gli asset forniti e per le commissioni maturate. + +Gli emittenti di token che cercano di aumentare la liquidità del loro token hanno offerto incentivi ai fornitori di liquidità nelle campagne di mining di liquidità. Anche i nuovi emittenti di token hanno lanciato i loro token nelle pool di Balancer. + +Balancer è governato da BAL, un token di governance ERC-20. I possessori di BAL possono votare le modifiche al protocollo. BAL è costantemente assegnato ai fornitori di liquidità e gran parte della supply totale di BAL è stata assegnata al team e agli investitori secondo un programma di acquisizione continua. + +I volumi di trading su Balancer superano spesso i 25 milioni di dollari al giorno. Il Balancer ha un Valore Totale Bloccato \(TVL\) di oltre 250 milioni di dollari da parte dei fornitori di liquidità nel momento in cui scriviamo. + +Balancer è stato sottoposto ad un audit di sicurezza da Trail of Bits e ha un programma di bug bounty. Tuttavia, Balancer ha subito un grande exploit nel giugno 2020. + +| Risorse | | +|:-------------- |:-------------------------------------------------------------------- | +| Sito ufficiale | [https://balancer.finance/](https://balancer.finance/) | +| Docs | [https://docs.balancer.finance/](https://docs.balancer.finance/) | +| GitHub | [https://github.com/balancer-labs](https://github.com/balancer-labs) | +| Discord | [https://discord.gg/ARJWaeF](https://discord.gg/ARJWaeF) | + diff --git a/it/core-concepts/supported-platforms/compound.md b/it/core-concepts/supported-platforms/compound.md new file mode 100644 index 000000000..aa8b559cb --- /dev/null +++ b/it/core-concepts/supported-platforms/compound.md @@ -0,0 +1,19 @@ +# Compound + +Compound è un protocollo ed una piattaforma di prestito, sviluppata su Ethereum ed è stata lanciata a Settembre 2018. Gli utenti possono guadagnare interessi composti o prendere in prestito asset a fronte di un collaterale. Ogni asset supportato viene aggregato alla sua pool di liquidità e i tassi di interesse vengono regolati automaticamente in base a domanda e offerta. + +I saldi del collaterale sono rappresentati da cToken ERC-20, che automaticamente guadagnano interessi in modo automatico e incrementano di valore nel tempo rispetto all'asset sottostante che rappresentano. Gli utenti possono prendere in prestito asset a fronte del valore dei loro cToken. cToken sono trasferibili liberamente e possono essere usati in tanti altri protocolli DeFi. cToken possono essere rimborsati con il loro collaterale sottostante in ogni momento. + +Compount è governato da COMP, un token di governance ERC-20. I titolari di COMP possono proporre e votare modifiche al protocollo o delegare i propri voti a qualcun altro. I token COMP vengono assegnati proporzionalmente su base giornaliera, agli utenti del protocollo e sono divisi equamente tra chi ha preso in prestito e chi ha dato in prestito. Gran parte dell'offerta di token COMP è in mano al team di Compound, agli investitori e ai loro Advisors. + +Il valore totale dei Compound bloccati \ (TVL\) è cresciuto rapidamente vicino agli $800 milioni, rendendolo uno dei più grandi protocolli di DeFi. In Ottobre 2020, il circulating market cap di COMP supera i $300 milioni. + +Compound è stato sottoposto a moltpelici revisioni di sicurezza, effettuati da OpenZeppelin e Trails of Bits. Il protocollo Compound è stato formalmente verificato da CertiK ed è stato sottoposto a stress test economici da Gauntlet. Compound ha attivo un programma di bug bounty. + +| Risorse | | +|:-------------- |:-------------------------------------------------------------------------------------------------------------- | +| Sito ufficiale | [https://compound.finance/](https://compound.finance/) | +| Docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/compound-finance/compound-protocol](https://github.com/compound-finance/compound-protocol) | +| Discord | [https://discord.com/invite/cU7vmVW](https://discord.com/invite/cU7vmVW) | + diff --git a/it/core-concepts/supported-platforms/curve.md b/it/core-concepts/supported-platforms/curve.md new file mode 100644 index 000000000..ef5aec5b2 --- /dev/null +++ b/it/core-concepts/supported-platforms/curve.md @@ -0,0 +1,25 @@ +# Curve + +{% hint style="info" %} +In arrivo. Curve non è ancora stato integrato. +{% endhint %} + +Curve è costruito su Ethereum ed è un protocollo ed exchange di liquidità decentralizzata per stablecoin e wrapped BTC, lanciato a gennaio 2020. Gli utenti possono swappare tra loro stablecoin di tipo ERC-20 o tra la rappresentazione ERC-20 di bitcoin su Ethereum. I liquidity providers, facilitano il trading e guadagnano commissioni. + +Curve è un Automated Market Maker \(AMM\), in cui ogni market ha un pool di liquidità associato con due o più asset con lo stesso valore, come USDT, USDC, DAI e TUSD, le quali sono infatti tutte stablecoin ancorate al dollaro USA. Il tasso di cambio tra ogni stablecoin e i relativi pesi sono determinati da un algoritmo basato su domanda e offerta. I trader che fanno arbitraggio agiscono per normalizzare questi tassi di cambio. + +Alcuni dei pool di liquidità di Curve guadagnano commissioni extra per i fornitori di liquidità oltre alle commissioni di scambio dei trader. Curve offre pool di stablecoin integrate con Compound, yearn.finance, e Synthetix. Gli asset in ogni liquidity pool, sono forniti da queste piattaforme per generare un rendimento aggiuntivo che viene trasferito ai fornitori di liquidità di ciascuna pool. I token di Liquidity Provider \(LP\) vengono dati ai partecipanti della pool e possono essere riscattati per la loro liquidità iniziale, più le commissioni e il rendimento maturati. I token LP possono anche essere trasferiti per essere utilizzati in altri protocolli. + +Curve è governato da CRV, un token di governance ERC-20. I possessori di CRV possono votare le modifiche al protocollo. I possessori di CRV possono mettere in stake i loro token per un potere di voto addizionale, proporzionale al tempo di staking. CRV è costantemente assegnato ai fornitori di liquidità e gran parte della supply totale di CRV è stata assegnata al team e agli investitori secondo un programma di acquisizione continua. + +I volumi di trading su Curve superano spesso i 50 milioni di dollari al giorno. Il Curve ha un Valore Totale Bloccato \(TVL\) di oltre 1 trilioni di dollari da parte dei fornitori di liquidità nel momento in cui scriviamo. + +Curve è stato sottoposto a due audit eseguiti da Trail of Bits e ha un programma di Bug bounty. + +| Risorse | | +|:-------------- |:------------------------------------------------------------------------ | +| Sito ufficiale | [https://uniswap.org/](https://uniswap.org/) | +| Docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/it/core-concepts/supported-platforms/dydx.md b/it/core-concepts/supported-platforms/dydx.md new file mode 100644 index 000000000..f92084944 --- /dev/null +++ b/it/core-concepts/supported-platforms/dydx.md @@ -0,0 +1,27 @@ +# dYdX + +{% hint style="info" %} +In arrivo. DyDx non è ancora stato integrato. +{% endhint %} + +dYdX è un protocollo ed una piattaforma di prestito e di trading, sviluppata su Ethereum ed è stata lanciata a Maggio 2019. Gli utenti possono scambiare asset sull'exchange decentralizzato e non custodial di dYdX, oppure possono partecipare prestando o prendendo in prestito. Il protocollo di prestito permette il margin trading e operazioni sui futures. I tassi di interesse vengono adeguati in base all'offerta e alla domanda e vengon proposti solo prestiti a breve termine. + +La liquidità degli asset disponibile per i prestiti, è raggruppata per tipo di asset. Gli interessi pagati ai prestatori maturano automaticamente e coloro i quali hanno preso in prestito devono mettere un collaterale per contrarre il prestito. + +dYdX supporta anche prestiti flash, che sono prestiti non collateralizzati, in cui gli utenti prendono in prestito e rimborsano il saldo in un'unica operazione, il che significa che gli utenti dei prestiti flash non hanno bisogno di mettere alcun capitale iniziale. I prestiti Flash sono un prodotto complesso rivolto agli sviluppatori e possono essere utilizzati per l'arbitraggio su più protocolli Defi. + +Ad Ottobre 2020, dYdX ha circa $ 25 milioni di capitale bloccato \(TVL\). dYdX non ha un token nativo. + +dYdX è stato sottoposto a revisioni sulla sicurezza da OpenZeppelin e Bramah Systems. + +| Risorse | | +|:-------------- |:-------------------------------------------------------------------- | +| Sito ufficiale | [https://dydx.exchange/](https://dydx.exchange/) | +| Docs | [https://docs.dydx.exchange/](https://docs.dydx.exchange/) | +| GitHub | [https://github.com/dydxprotocol/](https://github.com/dydxprotocol/) | +| Discord | [https://discord.gg/yah42Rb](https://discord.gg/yah42Rb) | + + + + + diff --git a/it/core-concepts/supported-platforms/uniswap.md b/it/core-concepts/supported-platforms/uniswap.md new file mode 100644 index 000000000..4c78d2c0b --- /dev/null +++ b/it/core-concepts/supported-platforms/uniswap.md @@ -0,0 +1,27 @@ +# Uniswap + +{% hint style="info" %} +In arrivo. Uniswap non è ancora stato integrato. +{% endhint %} + +Uniswap è costruito su Ethereum ed è un protocollo ed exchange di liquidità decentralizzata, lanciato a novembre 2018. Uniswap v2 è stato lanciato a maggio 2020. Gli utenti possono swappare token ERC-20 pagando una commissione o possono contribuire aggiungendo token alla pool per guadagnare commissioni. + +I market su Uniswap operano come pool di liquidità e non come i classici order book. Questi tipi di exchange vengono chiamati Automated Market Maker \(AMM\). Il tasso di cambio tra i due asset è determinato da una formula con prodotto costante e si muove lungo una curva di prezzo che dipende dal peso relativo di ogni asset nella pool. Questo incoraggia gli Arbitrageurs ad entrare nei liquidity pool per ribilanciare i pesi relativi e normalizzare il tasso di cambio. + +I trader potrebbero soffrire di slippage se non ci fosse abbastanza liquidità all'interno di una pool e potrebbero non essere protetti da tassi di scambio sfavorevoli. I liquidity provider potrebbero soffrire di impermanent loss qualora i tassi di cambio della pool non corrispondessero alla realtà del mercato e gli arbitrageur eseguissero scambi lungo la curva dei prezzi. + +I partecipanti alla pool ricevono token Uniswap Liquidity Provider \(LP\) che corrispondono alla loro quota di liquidità fornita nella determinata pool. Questi token LP sono liberamente trasferibili. I parteicpanti possono uscire dalle pool in qualsiasi momento, riscattando questi token in cambio degli asset forniti e delle fee accumulate. + +Gli emittenti di token che cercano di aumentare la liquidità del loro token hanno offerto incentivi ai fornitori di liquidità nelle campagne di mining di liquidità. Anche i nuovi emittenti di token hanno lanciato i loro token nelle pool di Uniswap. + +I volumi di scambio su Uniswap ora eclissano quelli di molti altri mercati tradizionali e superano 200 milioni di dollari al giorno. Alla data attuale -ottobre 2020-, Uniswap ha circa 3 miliardi di dollari in valore totale bloccato \(TVL\) forniti dai liquidity providers. Uniswap non ha una piattaforma nativa o un token di governance. + +Uniswap ha fatto revisionare e verificare formalmente i suoi smart contract da dapp.org. Uniswap ha un programma di bug bounty. + +| Risorse | | +|:-------------- |:------------------------------------------------------------------------ | +| Sito ufficiale | [https://uniswap.org/](https://uniswap.org/) | +| Docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/it/core-concepts/supported-platforms/yearn.finance.md b/it/core-concepts/supported-platforms/yearn.finance.md new file mode 100644 index 000000000..55c49cae5 --- /dev/null +++ b/it/core-concepts/supported-platforms/yearn.finance.md @@ -0,0 +1,25 @@ +# Yearn.finance + +{% hint style="info" %} +In arrivo. Yearn.finance non è ancora stato integrato. +{% endhint %} + +Yearn.finance, precedentemente iEarn.finance, è una piattaforma di aggregazione di rendimenti realizzata su Ethereum e lanciata a gennaio 2020 da Andre Cronje. Yearn gestisce il farming di yield e strategie di ribilanciamento, utilizzando una combinazione di decisioni umane e automazione, per conto degli utenti che hanno depositato del capitale. + +Yearn ha due prodotti di aggregazione di rendimento, Earn e Vaults. Earn permette agli utenti di depositare stablecoin o wrapped BTC in pool di liquidità su Curve per guadagnare commissioni e ottenere premi in token di governance. Questi asset vengono anche prestati su piattaforme che offrono ricompense ad alto rendimento e token di ricompensa, che si aggiungono al rendimento guadagnato. + +I vault offrono un'esperienza più automatizzata e gestita. Gli utenti depositano gli asset come LINK, Token di liquidity provider Curve, o stablecoin, e il Vault li raccoglie insieme e implementa la strategia di yield con rendimento più alta ritenuta sicura dalla community e da Andre Cronje. I token di governance guadagnati come ricompense, vengono venduti in cambio dell'asset originale depositato e vengono aggiunti ad altre commission, e automaticamente vengono trasferiti nel Vault per generare interesse composto. Le strategie possono cambiare frequentemente e condividere gli asset insieme permette agli utenti di risparmiare costi di gas. + +Yearn è governato da YFI, un token di governance ERC-20. I titolari di YFI possono votare le modifiche al cambiamento del protocollo, dopo aver accettato di bloccare i loro YFI per 3 giorni. YFI può inoltre essere messo in stake nel portale di governance, in cambio di rendimento. Questo rendimento proviene dalle commissioni applicate agli utenti dei prodotti di Yearn. YFI è stato distribuito interamente ai liquidity providers su Curve e Balancer. Non ci sono stanziamenti per membri del team o investitori. + +Il valore totale bloccato \(TVL\) di Yearn è cresciuto velocemente fino ad oltre $900 milioni in Settembre 2020, rendendola una delle piattaforme DeFi più grandi al momento. YFI ha una capitalizzazione di mercato del circolante di oltre 400 milioni di dollari ad ottobre 2020. + +Yearn e il suo smartcontrato sono stati sottoposti a molteplici revisioni di sicurezza da CertiK, Quantstamp, HackMD e CryptoManiacs. Yearn ha la reputazione di lanciare prodotti sperimentali molto rapidamente e avverte gli utenti che i loro prodotti sono in beta. + +| Risorse | | +|:-------------- |:-------------------------------------------------------------------- | +| Sito ufficiale | [https://yearn.finance/](https://yearn.finance/) | +| Docs | [https://docs.yearn.finance/](https://docs.yearn.finance/) | +| GitHub | [https://github.com/iearn-finance](https://github.com/iearn-finance) | +| Discord | [https://discord.gg/uTmHe8r](https://discord.gg/uTmHe8r) | + diff --git a/it/core-concepts/supported-stablecoins/README.md b/it/core-concepts/supported-stablecoins/README.md new file mode 100644 index 000000000..f5cb33e53 --- /dev/null +++ b/it/core-concepts/supported-stablecoins/README.md @@ -0,0 +1,25 @@ +# Stablecoin supportate + +**Stablecoin supportate** + +E' fondamentale capire che OUSD è tanto forte quanto le stablecoin che lo supportano, non di più. Qualsiasi perdita agli asset sottostanti causerà una perdita analoga al valore di OUSD. + +Attualmente, OUSD supporta le seguenti stablecoin: + +{% content-ref url="usdt.md" %} +[usdt.md](usdt.md) +{% endcontent-ref %} + +{% content-ref url="usdc.md" %} +[usdc.md](usdc.md) +{% endcontent-ref %} + +{% content-ref url="dai.md" %} +[dai.md](dai.md) +{% endcontent-ref %} + +None of these stablecoins are perfect, but we selected them because of their widespread usage. While these stablecoins have lost their USD peg on multiple occasions, they have demonstrated resiliency in eventually getting back to their 1 USD targets. + +It is important to note that all these stablecoins introduce non-trivial counter-party risk. Tether, in particular, has had well-documented banking troubles and regulatory challenges. In addition, both USDT and USDC have backdoors that grant their issuers the power to freeze money in their holder's wallets. While DAI does not have any direct backdoors, its assets can also be negatively impacted since USDC and USDT are accepted as collateral for minting DAI. + +Despite these concerns, there are already billions of dollars betting on the security of these stablecoins. It is possible that additional stablecoins will be added to the protocol over time. Support may also be removed if any of these stablecoins prove to be too unreliable or put OUSD holder's funds in jeopardy. diff --git a/it/core-concepts/supported-stablecoins/dai.md b/it/core-concepts/supported-stablecoins/dai.md new file mode 100644 index 000000000..84b19d9f7 --- /dev/null +++ b/it/core-concepts/supported-stablecoins/dai.md @@ -0,0 +1,19 @@ +# DAI + +![](../../.gitbook/assets/dai.png) + +DAI è una stablecoin ancora alle fiat lanciata come token ERC-20 sulla blockchain di Ethereum a dicembre 2017. A major upgrade from single-collateral Dai (SAI) to multi-collateral Dai (DAI) was completed in November 2019. Dai è ancorato al dollaro USA. + +Dai is minted by users locking up crypto assets such as ETH or USDC as collateral in a collateralized debt position (CDP) called a vault. In precedenza, solo ETH veniva accettato come collaterale. Le riserve e lo stato di ogni vault possono essere visualizzati sulla blockchain in tempo reale. Lo stato di questi vault e della stablecoin Dai è attentamente monitorato. + +Dai è la terza più grande stablecoin al mondo con oltre $400 milioni di circolante. Inoltre, cDAI e aDAI, le versioni sintetiche di Dai sulle piattaforme di prestito Compound e Aave, si sommano per oltre $600 milioni di circolante. + +| Aspetti principali | | +| ------------------ | ------------------------------------------------------------------------------------------------------------------- | +| Rilasciato da | MakerDAO | +| Nome | Dai | +| Simbolo | DAI | +| Indirizzo | [0x6b175474e89094c44da98b954eedeac495271d0f](https://etherscan.io/token/0x6b175474e89094c44da98b954eedeac495271d0f) | +| Decimali | 18 | +| Sito ufficiale | [https://makerdao.com/](https://makerdao.com) | +| Possessori | Over 380k addresses | diff --git a/it/core-concepts/supported-stablecoins/usdc.md b/it/core-concepts/supported-stablecoins/usdc.md new file mode 100644 index 000000000..8aad0f5fe --- /dev/null +++ b/it/core-concepts/supported-stablecoins/usdc.md @@ -0,0 +1,20 @@ +# USDC + +![](../../.gitbook/assets/usdc-coin-bd351fb779 (1).png) + +USD Coin (USDC) is a fiat-pegged stablecoin launched as a ERC-20 token on the Ethereum blockchain in October 2018. USDC è ancorato al dollaro USA e può essere facilmente convertito in dollari USA. + +Ogni USDC è supportato in un rapporto 1: 1 con la quantità equivalente di valuta fiat detenuta in conti di custodia dai membri del Centre un consorzio fondato da Circle e Coinbase. I membri del Centre sono istituti finanziari regolamentati con sede negli Stati Uniti. Gli audit mensili delle riserve sono pubblicati da Grant Thornton LLP. + +USDC è la seconda stablecoin più grande al mondo dopo USDT ed è rapidamente cresciuta fino a superare il miliardo di dollari in circolazione. Tuttavia, USDC rimane molto indietro rispetto ai 12 miliardi di dollari di USDT in circolazione. + +| Aspetti principali | | +| ------------------ | ------------------------------------------------------------------------------------------------------------------- | +| Rilasciato da | Centre | +| Nome | USD Coin | +| Simbolo | USDC | +| Indirizzo | [0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48](https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48) | +| Decimali | 6 | +| Sito ufficiale | [https://www.centre.io/usdc](https://www.centre.io/usdc) | +| Possessori | Over 1M addresses | + diff --git a/it/core-concepts/supported-stablecoins/usdt.md b/it/core-concepts/supported-stablecoins/usdt.md new file mode 100644 index 000000000..9544fadfb --- /dev/null +++ b/it/core-concepts/supported-stablecoins/usdt.md @@ -0,0 +1,20 @@ +# USDT + +![](../../.gitbook/assets/image (1).png) + +Tether (USDT) is a fiat-pegged stablecoin that was initially built on top of Bitcoin via the Omni Layer Protocol. Nel settembre 2017, Tether ha annunciato che avrebbe lanciato ulteriori token ERC-20 per dollari statunitensi sulla blockchain di Ethereum. + +Ogni Tether emesso in circolazione è sostenuto da un rapporto uno a uno con l'equivalente di valuta Fiat detenuta in un conto di custodia da Tether Limited, una società con sede a Hong Kong con stretti legami con l'exchange di criptomonete, Bitfinex. + +Despite the controversy **** around **** the company's failure to provide a promised audit showing adequate reserves backing tether, USDT is still the world's largest stablecoin by market cap and currently the fourth-largest cryptocurrency after BTC, ETH and XRP. + +| Aspetti principali | | +| ------------------ | ---------------------------------------------------------------------------------------------------------------- | +| Rilasciato da | Tether Limited | +| Nome | Tether | +| Simbolo | USDT | +| Indirizzo | [0xdac17f958d2ee523a2206206994597c13d831](https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7) | +| Decimali | 6 | +| Sito ufficiale | [https://tether.to/ ](https://tether.to) | +| Possessori | Over 3.4M addresses | + diff --git a/it/core-concepts/supported-strategies/README.md b/it/core-concepts/supported-strategies/README.md new file mode 100644 index 000000000..1513ef4d8 --- /dev/null +++ b/it/core-concepts/supported-strategies/README.md @@ -0,0 +1,27 @@ +# Strategie Supportate + +**Piattaforme DeFi supportate** + +OUSD genera rendimento depositando stablecoin in piattaforme di landing e in liquidity pool di market maker. E' importante capire che queste piattaforme comportano rischi tecnologici e che i fondi possono andare persi se si dovesse verificare un cattivo evento di sicurezza. Stiamo scegliendo di lavorare con le piattaforme che hanno fatto revisionare i propri smart contract e che ci fanno sentire di essere le più sicure. + +Currently, OUSD earns yield from the following platform(s): + +{% content-ref url="compound.md" %} +[compound.md](compound.md) +{% endcontent-ref %} + +{% content-ref url="aave.md" %} +[aave.md](aave.md) +{% endcontent-ref %} + +{% content-ref url="curve.md" %} +[curve.md](curve.md) +{% endcontent-ref %} + +{% content-ref url="convex.md" %} +[convex.md](convex.md) +{% endcontent-ref %} + +Although DeFi has grown very quickly and there are now billions of dollars worth of value deposited on these platforms, several of these projects are still in beta and are highly experimental. There may be hidden vulnerabilities in the smart contracts that power these platforms, and there have been multi-million dollar losses caused by vulnerabilities in Ethereum applications in the past. + +We closely monitor security events on the platforms we support and will immediately move to secure OUSD holder funds if we identify any threats. diff --git a/it/core-concepts/supported-strategies/aave.md b/it/core-concepts/supported-strategies/aave.md new file mode 100644 index 000000000..dffbad866 --- /dev/null +++ b/it/core-concepts/supported-strategies/aave.md @@ -0,0 +1,20 @@ +# Aave + +Aave è un protocollo di prestiti e una piattaforma costruito su Ethereum e lanciato a gennaio 2020 dai creatori di ETHLend. Gli utenti di Aave possono accumulare interessi composti o prendere in prestito asset a fronte di collaterale. Ciascun asset supportato è aggregato alla propria pool di liquidità e gli utenti possono scegliere tra un tasso di interesse variabile basato sulla domanda e l'offerta o un tasso di interesse fisso. + +I saldi dei collaterali sono rappresentati da un aTokens ERC-20 in un rapporto 1:1 rispetto agli asset sottostanti che rappresentano. L'interesse è composto automaticamente e pagato ai creditori con aTokens, il che significa che i creditori vedranno costantemente il loro saldo di atoken aumentare nel corso del tempo. Gli utenti possono prendere in prestito asset a fronte dei loro aTokens. gli aTokens sono liberamente trasferibili e possono essere utilizzati su molti altri protocolli DeFi. Gli aTokens possono essere rimborsati per il collaterale sottostante in qualsiasi momento. + +Aave supporta prestiti flash, che sono prestiti non collateralizzati in cui gli utenti prendono in prestito e rimborsano il saldo del prestito in un'unica operazione, il che significa che gli utenti di prestiti flash non hanno bisogno di mettere alcun capitale iniziale. I prestiti Flash sono un prodotto complesso rivolto agli sviluppatori e possono essere utilizzati per l'arbitraggio su più protocolli Defi. + +Aave's governance token was formerly called LEND which was the utility token for ETHLend. As part of their transition to fully decentralized governance, LEND holders were able to exchange LEND for AAVE, a new ERC-20 governance token with staking rewards. Some AAVE tokens have been distributed to users of the platform in a liquidity mining campaign. + +Aave's total value locked (TVL) has quickly grown to over $15.5 billion, making it the largest DeFi protocol at the time of writing. LEND has a circulating market cap of over $5.3 billion. + +Aave è stata sottoposta a audit di sicurezza da OpenZeppelin, Trail of Bits e Consensys Diligence. Aave gestisce un programma di bug bounty. + +| Risorse | | +| -------------------------- | ------------------------------------------------------------------------------ | +| Sito ufficiale | [https://aave.com/](https://aave.com) | +| Documenti per sviluppatori | [http://docs.aave.com/](http://docs.aave.com) | +| GitHub | [https://github.com/aave/aave-protocol](https://github.com/aave/aave-protocol) | +| Discord | [https://aave.com/discord](https://aave.com/discord) | diff --git a/it/core-concepts/supported-strategies/balancer.md b/it/core-concepts/supported-strategies/balancer.md new file mode 100644 index 000000000..373927189 --- /dev/null +++ b/it/core-concepts/supported-strategies/balancer.md @@ -0,0 +1,27 @@ +# Balancer + +{% hint style="info" %} +In arrivo. Balancer non è ancora stato integrato. +{% endhint %} + +Balancer è un protocollo di liquidità e di scambio decentralizzato su Ethereum, lanciato nel marzo 2020. Gli utenti possono scambiare token ERC-20 a pagamento o contribuire con dei token ad una pool di liquidità per guadagnare interessi. + +Balancer è un Market Maker Automatizzato \(AMM\) che consente di realizzare pool di liquidità fino a 8 asset diversi con pesi personalizzati. I pool di liquidità su Balancer possono essere considerati simili a Exchange Traded Funds \(ETFs\) o a portafogli con target pesati per asset specifici. Se il trading fa sì che la pool si allontani dalla distribuzione del target pesato, i tassi di cambio tra gli asset nella pool cambiano. Gli arbitrageurs possono fare trade per approfittare di questo ed agire per riequilibrare di nuovo la pool alla sua distribuzione del peso obiettivo. La liquidità può anche essere condivisa tra pool, a differenza di altri AMM. + +Balancer supporta le pool private, dove solo il proprietario della pool può contribuire alla liquidità, le pool condivise, che sono completamente pubbliche e lesmart pool, che sono pool condivise controllati da uno smart contract in grado di implementare regole e logiche automatizzate. I fornitori di liquidità ricevono Balancer Pool Token \(BPTs\) che rappresentano la loro quota di una determinata pool e delle commissioni. Questi token sono liberamente trasferibili e possono essere riscattati per gli asset forniti e per le commissioni maturate. + +Gli emittenti di token che cercano di aumentare la liquidità del loro token hanno offerto incentivi ai fornitori di liquidità nelle campagne di mining di liquidità. Anche i nuovi emittenti di token hanno lanciato i loro token nelle pool di Balancer. + +Balancer è governato da BAL, un token di governance ERC-20. I possessori di BAL possono votare le modifiche al protocollo. BAL è costantemente assegnato ai fornitori di liquidità e gran parte della supply totale di BAL è stata assegnata al team e agli investitori secondo un programma di acquisizione continua. + +I volumi di trading su Balancer superano spesso i 25 milioni di dollari al giorno. Il Balancer ha un Valore Totale Bloccato \(TVL\) di oltre 250 milioni di dollari da parte dei fornitori di liquidità nel momento in cui scriviamo. + +Balancer è stato sottoposto ad un audit di sicurezza da Trail of Bits e ha un programma di bug bounty. Tuttavia, Balancer ha subito un grande exploit nel giugno 2020. + +| Risorse | | +|:-------------------------- |:-------------------------------------------------------------------- | +| Sito ufficiale | [https://balancer.finance/](https://balancer.finance/) | +| Documenti per sviluppatori | [https://docs.balancer.finance/](https://docs.balancer.finance/) | +| GitHub | [https://github.com/balancer-labs](https://github.com/balancer-labs) | +| Discord | [https://discord.gg/ARJWaeF](https://discord.gg/ARJWaeF) | + diff --git a/it/core-concepts/supported-strategies/compound.md b/it/core-concepts/supported-strategies/compound.md new file mode 100644 index 000000000..999e2c7ca --- /dev/null +++ b/it/core-concepts/supported-strategies/compound.md @@ -0,0 +1,18 @@ +# Compound + +Compound è un protocollo ed una piattaforma di prestito, sviluppata su Ethereum ed è stata lanciata a Settembre 2018. Gli utenti possono guadagnare interessi composti o prendere in prestito asset a fronte di un collaterale. Ogni asset supportato viene aggregato alla sua pool di liquidità e i tassi di interesse vengono regolati automaticamente in base a domanda e offerta. + +I saldi del collaterale sono rappresentati da cToken ERC-20, che automaticamente guadagnano interessi in modo automatico e incrementano di valore nel tempo rispetto all'asset sottostante che rappresentano. Gli utenti possono prendere in prestito asset a fronte del valore dei loro cToken. cToken sono trasferibili liberamente e possono essere usati in tanti altri protocolli DeFi. cToken possono essere rimborsati con il loro collaterale sottostante in ogni momento. + +Compount è governato da COMP, un token di governance ERC-20. I titolari di COMP possono proporre e votare modifiche al protocollo o delegare i propri voti a qualcun altro. COMP tokens are awarded pro-rata to users of the protocol daily, split equally between borrowers and lenders. Gran parte dell'offerta di token COMP è in mano al team di Compound, agli investitori e ai loro Advisors. + +Compound's total value locked (TVL) has quickly grown to over $10 billion, making it one of the largest DeFi protocols. COMP has a circulating market cap of over $2.5 billion. + +Compound è stato sottoposto a moltpelici revisioni di sicurezza, effettuati da OpenZeppelin e Trails of Bits. Il protocollo Compound è stato formalmente verificato da CertiK ed è stato sottoposto a stress test economici da Gauntlet. Compound ha attivo un programma di bug bounty. + +| Risorse | | +| -------------- | -------------------------------------------------------------------------------------------------------------- | +| Sito ufficiale | [https://compound.finance/](https://compound.finance) | +| Docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/compound-finance/compound-protocol](https://github.com/compound-finance/compound-protocol) | +| Discord | [https://discord.com/invite/cU7vmVW](https://discord.com/invite/cU7vmVW) | diff --git a/it/core-concepts/supported-strategies/convex.md b/it/core-concepts/supported-strategies/convex.md new file mode 100644 index 000000000..771280a68 --- /dev/null +++ b/it/core-concepts/supported-strategies/convex.md @@ -0,0 +1,18 @@ +# Convex + +Convex is an aggregation platform for Curve that launched in May 2021. Convex allows liquidity providers on Curve to earn boosted CRV rewards without having to vote-lock CRV. Convex vote-locks CRV on behalf of users and distributes boosted CRV rewards to them. Convex passes on trading fees earned on Curve to users as well. + +Convex also rewards users with their own ERC-20 governance token, CVX. Convex supports both CRV and CVX staking for additional rewards. Vote-locking CVX is required to participate in Convex governance. + +Convex is one of the few protocols whitelisted to participate in Curve governance and controls a huge amount of vote-locked CRV, making them one of the biggest players in Curve governance. A large proportion of liquidity provided on Curve is now done through Convex. Convex has a Total Value Locked (TVL) of over $15.4 billion in deposits at the time of writing. + +Convex has been audited by MixBytes. + +| | | +| -------------- | ---------------------------------------------------------------- | +| Resources | | +| Official site | [https://www.convexfinance.com](https://www.convexfinance.com) | +| Developer docs | [https://docs.convexfinance.com](https://docs.convexfinance.com) | +| GitHub | [https://github.com/convex-eth](https://github.com/convex-eth) | +| Discord | [https://discord.gg/uAwvZfs9qU](https://discord.gg/uAwvZfs9qU) | + diff --git a/it/core-concepts/supported-strategies/curve.md b/it/core-concepts/supported-strategies/curve.md new file mode 100644 index 000000000..1a3c87693 --- /dev/null +++ b/it/core-concepts/supported-strategies/curve.md @@ -0,0 +1,20 @@ +# Curve + +Curve è costruito su Ethereum ed è un protocollo ed exchange di liquidità decentralizzata per stablecoin e wrapped BTC, lanciato a gennaio 2020. Gli utenti possono swappare tra loro stablecoin di tipo ERC-20 o tra la rappresentazione ERC-20 di bitcoin. I liquidity providers, facilitano il trading e guadagnano commissioni. + +Curve is an Automated Market Maker (AMM) where each market has an associated liquidity pool with two or more assets that should have the same value, like USDT, USDC, DAI and TUSD, which are all US dollar pegged stablecoins. Il tasso di cambio tra ogni stablecoin e i relativi pesi sono determinati da un algoritmo basato su domanda e offerta. I trader che fanno arbitraggio agiscono per normalizzare questi tassi di cambio. + +Alcuni dei pool di liquidità di Curve guadagnano commissioni extra per i fornitori di liquidità oltre alle commissioni di scambio dei trader. Curve offre pool di stablecoin integrate con Compound, yearn.finance, e Synthetix. Gli asset in ogni liquidity pool, sono forniti da queste piattaforme per generare un rendimento aggiuntivo che viene trasferito ai fornitori di liquidità di ciascuna pool. Liquidity Provider (LP) tokens are given to pool participants and can be redeemed for their initial liquidity supplied plus accrued fees and yield. I token LP possono anche essere trasferiti per essere utilizzati in altri protocolli. + +Curve è governato da CRV, un token di governance ERC-20. I possessori di CRV possono votare le modifiche al protocollo. CRV holders can stake or "vote-lock" their tokens for additional voting power proportional to time staked. Vote-locking CRV also significantly boosts liquidity provider rewards. CRV is continuously awarded to liquidity providers and a large portion of the total supply of CRV was allocated to the team and investors on a continuous vesting schedule. + +Curve has a Total Value Locked (TVL) of over $20.4 billion by liquidity providers at the time of writing. Hundreds of millions of dollars of trading volume are generated on Curve every day. + +Curve è stato sottoposto a due audit eseguiti da Trail of Bits e ha un programma di Bug bounty. + +| Risorse | | +| -------------- | ------------------------------------------------------------------------ | +| Sito ufficiale | [https://www.curve.fi/](https://www.curve.fi) | +| Docs | [https://www.curve.fi/devdocs](https://www.curve.fi/devdocs) | +| GitHub | [https://github.com/curvefi](https://github.com/curvefi) | +| Discord | [https://discord.com/invite/9uEHakc](https://discord.com/invite/9uEHakc) | diff --git a/it/core-concepts/supported-strategies/dydx.md b/it/core-concepts/supported-strategies/dydx.md new file mode 100644 index 000000000..f92084944 --- /dev/null +++ b/it/core-concepts/supported-strategies/dydx.md @@ -0,0 +1,27 @@ +# dYdX + +{% hint style="info" %} +In arrivo. DyDx non è ancora stato integrato. +{% endhint %} + +dYdX è un protocollo ed una piattaforma di prestito e di trading, sviluppata su Ethereum ed è stata lanciata a Maggio 2019. Gli utenti possono scambiare asset sull'exchange decentralizzato e non custodial di dYdX, oppure possono partecipare prestando o prendendo in prestito. Il protocollo di prestito permette il margin trading e operazioni sui futures. I tassi di interesse vengono adeguati in base all'offerta e alla domanda e vengon proposti solo prestiti a breve termine. + +La liquidità degli asset disponibile per i prestiti, è raggruppata per tipo di asset. Gli interessi pagati ai prestatori maturano automaticamente e coloro i quali hanno preso in prestito devono mettere un collaterale per contrarre il prestito. + +dYdX supporta anche prestiti flash, che sono prestiti non collateralizzati, in cui gli utenti prendono in prestito e rimborsano il saldo in un'unica operazione, il che significa che gli utenti dei prestiti flash non hanno bisogno di mettere alcun capitale iniziale. I prestiti Flash sono un prodotto complesso rivolto agli sviluppatori e possono essere utilizzati per l'arbitraggio su più protocolli Defi. + +Ad Ottobre 2020, dYdX ha circa $ 25 milioni di capitale bloccato \(TVL\). dYdX non ha un token nativo. + +dYdX è stato sottoposto a revisioni sulla sicurezza da OpenZeppelin e Bramah Systems. + +| Risorse | | +|:-------------- |:-------------------------------------------------------------------- | +| Sito ufficiale | [https://dydx.exchange/](https://dydx.exchange/) | +| Docs | [https://docs.dydx.exchange/](https://docs.dydx.exchange/) | +| GitHub | [https://github.com/dydxprotocol/](https://github.com/dydxprotocol/) | +| Discord | [https://discord.gg/yah42Rb](https://discord.gg/yah42Rb) | + + + + + diff --git a/it/core-concepts/supported-strategies/uniswap.md b/it/core-concepts/supported-strategies/uniswap.md new file mode 100644 index 000000000..4c78d2c0b --- /dev/null +++ b/it/core-concepts/supported-strategies/uniswap.md @@ -0,0 +1,27 @@ +# Uniswap + +{% hint style="info" %} +In arrivo. Uniswap non è ancora stato integrato. +{% endhint %} + +Uniswap è costruito su Ethereum ed è un protocollo ed exchange di liquidità decentralizzata, lanciato a novembre 2018. Uniswap v2 è stato lanciato a maggio 2020. Gli utenti possono swappare token ERC-20 pagando una commissione o possono contribuire aggiungendo token alla pool per guadagnare commissioni. + +I market su Uniswap operano come pool di liquidità e non come i classici order book. Questi tipi di exchange vengono chiamati Automated Market Maker \(AMM\). Il tasso di cambio tra i due asset è determinato da una formula con prodotto costante e si muove lungo una curva di prezzo che dipende dal peso relativo di ogni asset nella pool. Questo incoraggia gli Arbitrageurs ad entrare nei liquidity pool per ribilanciare i pesi relativi e normalizzare il tasso di cambio. + +I trader potrebbero soffrire di slippage se non ci fosse abbastanza liquidità all'interno di una pool e potrebbero non essere protetti da tassi di scambio sfavorevoli. I liquidity provider potrebbero soffrire di impermanent loss qualora i tassi di cambio della pool non corrispondessero alla realtà del mercato e gli arbitrageur eseguissero scambi lungo la curva dei prezzi. + +I partecipanti alla pool ricevono token Uniswap Liquidity Provider \(LP\) che corrispondono alla loro quota di liquidità fornita nella determinata pool. Questi token LP sono liberamente trasferibili. I parteicpanti possono uscire dalle pool in qualsiasi momento, riscattando questi token in cambio degli asset forniti e delle fee accumulate. + +Gli emittenti di token che cercano di aumentare la liquidità del loro token hanno offerto incentivi ai fornitori di liquidità nelle campagne di mining di liquidità. Anche i nuovi emittenti di token hanno lanciato i loro token nelle pool di Uniswap. + +I volumi di scambio su Uniswap ora eclissano quelli di molti altri mercati tradizionali e superano 200 milioni di dollari al giorno. Alla data attuale -ottobre 2020-, Uniswap ha circa 3 miliardi di dollari in valore totale bloccato \(TVL\) forniti dai liquidity providers. Uniswap non ha una piattaforma nativa o un token di governance. + +Uniswap ha fatto revisionare e verificare formalmente i suoi smart contract da dapp.org. Uniswap ha un programma di bug bounty. + +| Risorse | | +|:-------------- |:------------------------------------------------------------------------ | +| Sito ufficiale | [https://uniswap.org/](https://uniswap.org/) | +| Docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/it/core-concepts/supported-strategies/yearn.finance.md b/it/core-concepts/supported-strategies/yearn.finance.md new file mode 100644 index 000000000..55c49cae5 --- /dev/null +++ b/it/core-concepts/supported-strategies/yearn.finance.md @@ -0,0 +1,25 @@ +# Yearn.finance + +{% hint style="info" %} +In arrivo. Yearn.finance non è ancora stato integrato. +{% endhint %} + +Yearn.finance, precedentemente iEarn.finance, è una piattaforma di aggregazione di rendimenti realizzata su Ethereum e lanciata a gennaio 2020 da Andre Cronje. Yearn gestisce il farming di yield e strategie di ribilanciamento, utilizzando una combinazione di decisioni umane e automazione, per conto degli utenti che hanno depositato del capitale. + +Yearn ha due prodotti di aggregazione di rendimento, Earn e Vaults. Earn permette agli utenti di depositare stablecoin o wrapped BTC in pool di liquidità su Curve per guadagnare commissioni e ottenere premi in token di governance. Questi asset vengono anche prestati su piattaforme che offrono ricompense ad alto rendimento e token di ricompensa, che si aggiungono al rendimento guadagnato. + +I vault offrono un'esperienza più automatizzata e gestita. Gli utenti depositano gli asset come LINK, Token di liquidity provider Curve, o stablecoin, e il Vault li raccoglie insieme e implementa la strategia di yield con rendimento più alta ritenuta sicura dalla community e da Andre Cronje. I token di governance guadagnati come ricompense, vengono venduti in cambio dell'asset originale depositato e vengono aggiunti ad altre commission, e automaticamente vengono trasferiti nel Vault per generare interesse composto. Le strategie possono cambiare frequentemente e condividere gli asset insieme permette agli utenti di risparmiare costi di gas. + +Yearn è governato da YFI, un token di governance ERC-20. I titolari di YFI possono votare le modifiche al cambiamento del protocollo, dopo aver accettato di bloccare i loro YFI per 3 giorni. YFI può inoltre essere messo in stake nel portale di governance, in cambio di rendimento. Questo rendimento proviene dalle commissioni applicate agli utenti dei prodotti di Yearn. YFI è stato distribuito interamente ai liquidity providers su Curve e Balancer. Non ci sono stanziamenti per membri del team o investitori. + +Il valore totale bloccato \(TVL\) di Yearn è cresciuto velocemente fino ad oltre $900 milioni in Settembre 2020, rendendola una delle piattaforme DeFi più grandi al momento. YFI ha una capitalizzazione di mercato del circolante di oltre 400 milioni di dollari ad ottobre 2020. + +Yearn e il suo smartcontrato sono stati sottoposti a molteplici revisioni di sicurezza da CertiK, Quantstamp, HackMD e CryptoManiacs. Yearn ha la reputazione di lanciare prodotti sperimentali molto rapidamente e avverte gli utenti che i loro prodotti sono in beta. + +| Risorse | | +|:-------------- |:-------------------------------------------------------------------- | +| Sito ufficiale | [https://yearn.finance/](https://yearn.finance/) | +| Docs | [https://docs.yearn.finance/](https://docs.yearn.finance/) | +| GitHub | [https://github.com/iearn-finance](https://github.com/iearn-finance) | +| Discord | [https://discord.gg/uTmHe8r](https://discord.gg/uTmHe8r) | + diff --git a/it/core-concepts/wrapped-ousd.md b/it/core-concepts/wrapped-ousd.md new file mode 100644 index 000000000..bea00ee4b --- /dev/null +++ b/it/core-concepts/wrapped-ousd.md @@ -0,0 +1,31 @@ +# Wrapped OUSD + +Wrapped OUSD provides a non-rebasing version of OUSD that still earns yield. This makes it easier to use OUSD as a building block for other contracts and it may provide tax benefits in some jurisdictions. + +![Two flavors, up only](https://cdn-images-1.medium.com/max/1600/1\*cqRG-8-64XYx9QChoMxk3g.png) + +### How wrapped OUSD works + +When you wrap OUSD, you get back a fixed number of wOUSD tokens. This number will not go up - you will have the same number of wOUSD tokens tomorrow as you have today. However, the number of OUSD tokens that you can unwrap will go up over time. + +For example, if you wrap 10,000 OUSD, you might receive 9,423 wOUSD. If you hold for a while, you will still have 9,423 wOUSD, but when you unwrap the wOUSD, you receive 11,500 OUSD. + +Both OUSD and wOUSD earn at the same rate and can be transferred just like any other ERC-20 token. wOUSD is one of the first implementations of [EIP-4626](https://eips.ethereum.org/EIPS/eip-4626), which is an extension on ERC-20 that provides basic functionality for depositing and withdrawing tokens and reading balances on a tokenized vault. wOUSD was independently [audited by Solidified](https://github.com/OriginProtocol/security/blob/3dc8c1dec2f6fbf4f7d0bdf92408f79262624647/audits/Solidified%20-%20OGV,%20wOUSD,%20and%20ERC721a%20-%20May%202022.pdf) in May 2022 and is ready for production use. + +### Wrapping + +If you don’t already have OUSD, you can buy it from Gate.io, KuCoin, Curve, Uniswap, or [get it directly from the OUSD DApp](https://www.youtube.com/watch?v=UabjvL-7iu4). + +Once you have OUSD in your wallet, visit [ousd.com/wrap](https://ousd.com/wrap) and follow these steps: + +1. Connect your wallet +2. Enter the amount of OUSD that you want to wrap +3. Submit the allowance for the wOUSD contract to use your OUSD +4. Submit the transaction to wrap your OUSD + +![ousd.com/wrap](https://cdn-images-1.medium.com/max/1600/1\*57fSZSSlzebhpIl8R4UqUQ.png) + +### Unwrapping + +Unwrapping your OUSD does not require any approvals since you already hold the wOUSD in your wallet. There's also no minimum term or lock-up period. You can use the same form shown above and just click the arrow to flip it to unwrap mode. This form calls the `redeem` function to unwrap a spcific amount of wOUSD. You can also [use Etherscan](https://etherscan.io/address/0xd2af830e8cbdfed6cc11bab697bb25496ed6fa62#writeProxyContract) to call the `withdraw` function if you prefer to specify the amount of OUSD that you want to be taken out. + diff --git a/it/core-concepts/yield-generation/README.md b/it/core-concepts/yield-generation/README.md new file mode 100644 index 000000000..992fbe11b --- /dev/null +++ b/it/core-concepts/yield-generation/README.md @@ -0,0 +1,30 @@ +# Generare Yield + +**Yield farming automatizzato** + +While the Cambrian explosion of new lending and automated market maker pools has fueled total value locked (TVL), it has also made it increasingly challenging for yield farmers to manually allocate capital in efficient and optimal ways. + +[Yearn](https://yearn.finance) has demonstrated that smart contracts can automate the rebalancing of funds across various strategies to optimally earn lending interest, market-making fees, and rewards tokens. Over time, new strategies will be deployed that maximize returns while minimizing risk and dependencies. + +![Automated yield farming on the OUSD protocol](../../.gitbook/assets/ousd_earnings_graphic.png) + +OUSD uses the following high-level strategies for generating yield: + +{% content-ref url="lending.md" %} +[lending.md](lending.md) +{% endcontent-ref %} + +{% content-ref url="market-making.md" %} +[market-making.md](market-making.md) +{% endcontent-ref %} + +{% content-ref url="rewards.md" %} +[rewards.md](rewards.md) +{% endcontent-ref %} + +OUSD is able to generate higher yields than competing protocols due to a combination of important design decisions that amplify the rewards that are returned to OUSD holders: + +* Exit fees are returned to the pool, rewarding long term holders +* Price oracles favor the collective over the individual, again rewarding long term holders +* Smart contracts must manually opt-in to earn yield. This allows the protocol to put more capital to work than would be otherwise possible. +* Smart strategies balance risk and reward more effectively than deploying capital in any single underlying strategy. diff --git a/it/core-concepts/yield-generation/lending.md b/it/core-concepts/yield-generation/lending.md new file mode 100644 index 000000000..ca3f58c7c --- /dev/null +++ b/it/core-concepts/yield-generation/lending.md @@ -0,0 +1,26 @@ +# Prestiti + +**Togli di mezzo le banche** + +Le piattaforme di prestito DeFi consentono agli utenti di prestare e prendere in prestito asset senza intermediari. Sia i prestatori sia i mutuatari, ottengono più valore dalle loro crypto. I prestatori ottengono interessi, mentre i mutuatari depositano le loro cripto come collaterali per ottenere accesso al credito senza i grattacapi bancari tradizionali. Le piattaforme di prestito DeFi attualmente forniscono ai prestatori rendimenti di gran lunga superiori a quelli generalmente disponibili nei mercati tradizionali. + +OUSD si integra con le piattaforme di prestito DeFi che forniscono prestiti sovra-collateralizzati. La sovra-collateralizzazione, combinata a regole intelligenti sulle liquidazioni, fornisce un ragionevole livello di sicurezza per i prestatori. Aave inoltre protegge ulteriormente i pool dei suoi prestatori attraverso il token AAVE, riducendo ulteriormente il rischio. + +OUSD si integra con i leader tra i fornitori di servizi di prestito, i quali hanno una comprovata esperienza, smartcontract revisionati, e che hanno già prestato con successo centinaia di milioni di dollari senza alcun problema. We are currently integrated with the following lending platforms: + +{% content-ref url="../supported-strategies/compound.md" %} +[compound.md](../supported-strategies/compound.md) +{% endcontent-ref %} + +{% content-ref url="../supported-strategies/aave.md" %} +[aave.md](../supported-strategies/aave.md) +{% endcontent-ref %} + + + + + + + + + diff --git a/it/core-concepts/yield-generation/market-making.md b/it/core-concepts/yield-generation/market-making.md new file mode 100644 index 000000000..e09a5bbaf --- /dev/null +++ b/it/core-concepts/yield-generation/market-making.md @@ -0,0 +1,22 @@ +# Market Making + +**Custodisci il tuo stake negli Exchanges Decentralizzati** + +Automated market makers (AMMs) have quickly risen as the preferred form of decentralized exchange on the Ethereum network. Ciò in parte è dovuto alla difficoltà di supportare gli order book DEX su Ethereum 1.0 che possano competere con gli attuali exchange centralizzati, istantanei e a basso slippage. Inoltre, gli AMM come Uniswap sono relativamente user-friendly ed efficienti dal punto di vista del gas. + +AMMs can only enable new markets when liquidity providers supply liquidity (e.g. multiple tokens for given trading pairs or pools). In cambio per fornire liquidità, i liquidity providers sono ricompensati con le commissioni di trading quando altri utenti swappano i token. For example, when traders swap two tokens on Uniswap v3, they are currently charged anywhere between 0.05% and 1% on top of the gas fees. These fees are distributed pro-rata to liquidity providers of the pair based on the percentage of total liquidity that they have provided. + +{% hint style="info" %} +[Impermanent loss](https://medium.com/@pintail/uniswap-a-good-deal-for-liquidity-providers-104c0b6816f2) è un fattore di rischio importante da capire, ma questa preoccupazione è altamente mitigata dal fatto che OUSD fornisce liquidità solo per stablecoin che hanno approssimatamente egual valore. +{% endhint %} + +The OUSD protocol routes USDT, USDC, and DAI to highly-performing liquidity pools as determined by trading volume and rewards tokens (e.g. Curve rewards CRV tokens to liquidity providers). Gli Yields vengono quindi trasferiti ai detentori di OUSD. + +We are currently integrated with the following automated market maker: + +{% content-ref url="../supported-strategies/curve.md" %} +[curve.md](../supported-strategies/curve.md) +{% endcontent-ref %} + + + diff --git a/it/core-concepts/yield-generation/rewards.md b/it/core-concepts/yield-generation/rewards.md new file mode 100644 index 000000000..776e10761 --- /dev/null +++ b/it/core-concepts/yield-generation/rewards.md @@ -0,0 +1,12 @@ +# Ricompense + +**Collecting Rewards** + +Oltre che raccogliere interessi dai prestiti e le commissioni dal market making, intendiamo richiedere e convertire automaticamente gli incentivi bonus che vengono distribuiti da molti dei protocolli DeFi. For example, Compound gives away COMP tokens and Curve gives away CRV tokens. Questi premi bonus saranno regolarmente convertiti in stablecoin, rilasciati sul mercato e distribuiti ai possessori di OUSD nella forma di rendimento aggiuntivo. + +{% hint style="info" %} +Mentre il vault archivia in modo sicuro ogni ricompensa imprevista che riceve, sarà necessario scrivere e implementare strategie personalizzate per decidere quando e come il protocollo dovrebbe convertirle in stablecoin. +{% endhint %} + +Oggi le ricompense sono un fattore significativo per i procacciatori di yield, in quanto rappresentano una larga percentuale dei loro rendimenti. Prevediamo che il protocollo OUSD verrà aggiornato nel tempo per sfruttare i rendimenti più interessanti disponibili nel panorama DeFi. Il protocollo terrà conto del valore di mercato delle varie ricompense offerte al momento di decidere come allocare al meglio le risorse. + diff --git a/it/faq.md b/it/faq.md new file mode 100644 index 000000000..6d47859ae --- /dev/null +++ b/it/faq.md @@ -0,0 +1,33 @@ +# FAQ + +**Where can I buy OUSD?** + +Check out [Getting Started](https://docs.ousd.com/getting-started) to see a variety of options. + +**What are the costs to mint and redeem OUSD?** + +As with any Ethereum transaction, you will need Ether to interact with the OUSD smart contract. We have taken measures to reduce gas usage where possible, but these costs can vary. + +Anytime you mint or redeem OUSD, there will be an exchange rate applied to your stablecoins deposited or withdrawn. You can read more about this in [Price Oracles](https://docs.ousd.com/core-concepts/price-oracles). + +To encourage long-term holding of OUSD and to protect the protocol from attackers, an exit fee of 0.25% is charged on all redeems. You can read more about this in [How It Works](https://docs.ousd.com/how-it-works). + +**How soon will my balance increase once I have OUSD?** + +The amount of OUSD in your wallet will grow each time there is a positive rebase event. You can read more about this in [Elastic Supply](https://docs.ousd.com/core-concepts/elastic-supply). The supply is currently rebased several times per day and is usually correlated with how many people are minting and redeeming OUSD. + +**Why does OUSD not grow when it's held in Uniswap, SushiSwap, etc?** + +By default, rebase events don't affect the supply of OUSD that is sitting in smart contracts. These contracts can opt in to receiving additional OUSD if they are capable of handling elastic supply tokens. You can read more about this in [Rebasing & Smart Contracts](https://docs.ousd.com/core-concepts/elastic-supply/rebasing-and-smart-contracts). + +**How is it possible for the APY to be so high?** + +You can read about our various strategies in [Yield Generation](https://docs.ousd.com/core-concepts/yield-generation). We currently get most of the yield from harvesting rewards tokens (namely COMP and CRV). Additionally, the yield increases as more OUSD is held in smart contracts that do not opt into rebasing since the underlying collateral continues to earn for the average OUSD holder. + +**Why is my balance increasing at a slower rate than the advertised APY?** + +OUSD balances increase when the supply is rebased. But the size of each rebase varies wildly depending on how much the vault has earned since the last rebase. And while most rebases collect a small amount earnings from lending strategies, other rebases involve liquidating rewards tokens or collecting fees. As a result, the yield will vary significantly during short time periods. + +**What about the hack? Is OUSD safe?** + +On November 7th 2020, OUSD was exploited for 7M USD due to a previously undetected reentrancy bug. You can read more [details about the hack](https://medium.com/originprotocol/urgent-ousd-has-hacked-and-there-has-been-a-loss-of-funds-7b8c4a7d534c) on our blog as well as the [detailed compensation plan](https://medium.com/originprotocol/origin-dollar-ousd-detailed-compensation-plan-faa73f87442e) for taking care of the affected users. Origin Dollar was relaunched in December after completing multiple audits and security upgrades. You can learn more about the steps taken to secure the protocol in our [relaunch announcement](https://medium.com/originprotocol/origin-dollar-ousd-is-back-b8ee0c601dad). diff --git a/it/getting-started.md b/it/getting-started.md new file mode 100644 index 000000000..8b78edd4d --- /dev/null +++ b/it/getting-started.md @@ -0,0 +1,71 @@ +# Per partire + +Questa documentazione ha lo scopo di spiegare il funzionamento di OUSD, di comunicare i potenziali rischi e benefici, di fornire una guida per sviluppatori che volessero contribuire allo sviluppo del nostro codebase o ad integrare OUSD nei loro prodotti. Ecco qui alcuni modi per cominciare. + +**Buying OUSD** + +{% hint style="info" %} +The [Origin Dollar DApp](https://ousd.com/swap) will intelligently route your transaction to get you the best rate. +{% endhint %} + +The [Origin Dollar DApp](https://ousd.com/swap) allows anyone to buy or sell OUSD using a web-3 enabled cryptocurrency wallet like [Metamask](https://www.metamask.io), [Ledger](https://www.ledger.com), or [Gnosis Safe](https://gnosis-safe.io). This is the native way to get OUSD, especially if you want a large amount that could risk moving the market on other exchanges. The DApp will intelligently decide whether to create or trade-in OUSD tokens using the vault or help you complete the trade on whichever AMM is currently offering the best rate. + +**Decentralized Exchanges** + +OUSD is currently available on the following decentralized exchanges. These are listed here for reference only. We recommend using the [Origin Dollar DApp](https://ousd.com/swap) to ensure you always get the best rate. + +* [Buy OUSD on 1inch](https://app.1inch.io/#/1/swap/USDT/OUSD) +* [Buy OUSD on Curve](https://curve.fi/factory/9) +* [Buy OUSD on Uniswap v3](https://app.uniswap.org/#/swap?inputCurrency=0xdac17f958d2ee523a2206206994597c13d831ec7\&outputCurrency=0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86) +* [Buy OUSD on Uniswap v2](https://app.uniswap.org/#/swap?inputCurrency=0xdac17f958d2ee523a2206206994597c13d831ec7\&outputCurrency=0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86\&use=v2) +* [Buy OUSD on Sushiswap](https://exchange.sushiswapclassic.org/#/swap?inputCurrency=0xdac17f958d2ee523a2206206994597c13d831ec7\&outputCurrency=0x2a8e1e676ec238d8a992307b495b45b3feaa5e86) + +**Centralized Exchanges** + +OUSD is currently available on the following centralized exchanges. Be sure to check on how they are handling the yield that is being generated by the protocol. Depending on the exchange, there may be additional steps you need to take to participate in the yield while it's being held in their custody. + +* Buy OUSD on KuCoin + * [OUSD/USDT](https://trade.kucoin.com/OUSD-USDT) + * [OUSD/BTC](https://trade.kucoin.com/OUSD-BTC) +* Buy OUSD on Gate.io + * [OUSD/USDT](https://www.gate.io/trade/OUSD\_USDT) +* Buy OUSD on Virgox + * [OUSD/USDT](https://virgox.com/exchange/141) +* [Buy OUSD on Dharma App](https://www.dharma.io) (US only) + +We're continuing to work on making OUSD available on additional centralized exchanges. + +**Adding OUSD to Your Wallet** + +{% hint style="success" %} +The main ERC20 address for Origin Dollar (OUSD) is: \ +**0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +If your OUSD does not automatically show up in your wallet, you should be able to add it manually using the address above. If you are planning on [storing your OUSD in a multi-sig wallet](core-concepts/elastic-supply/rebasing-and-smart-contracts.md), be sure to opt-in to receive yield. We want to have OUSD supported by as many wallets as possible and included on all the various lists of well-known tokens. We would greatly appreciate any help you can offer in this area. + +**Integrating OUSD** + +OUSD is a non-standard ERC-20 token that requires custom integration work for most applications that wish to support it. In particular, it is important for developers to understand how our elastic supply works as this can easily cause unexpected behavior. + +If you are a wallet provider or crypto exchange that is interested in supporting OUSD, please refer to the following guides: + +{% content-ref url="core-concepts/elastic-supply/rebasing-and-smart-contracts.md" %} +[rebasing-and-smart-contracts.md](core-concepts/elastic-supply/rebasing-and-smart-contracts.md) +{% endcontent-ref %} + +{% content-ref url="smart-contracts/architecture.md" %} +[architecture.md](smart-contracts/architecture.md) +{% endcontent-ref %} + +{% content-ref url="smart-contracts/api/" %} +[api](smart-contracts/api/) +{% endcontent-ref %} + +**Developer Analytics** + +Our internal developer dashboard is available at [analytics.ousd.com](https://analytics.ousd.com). The dashboard shows the current circulating supply, the assets under management in the vault, and the current allocations between each of the stablecoins and strategies. + +**Getting Help** + +Please join the Origin Dollar #engineering room in Origin's [Discord](https://www.originprotocol.com/discord) server. Our team and members of our community look forward to helping you build. Your questions help us improve, so please don't hesitate to ask if you can't find what you are looking for here. diff --git a/it/governance/admin-privileges.md b/it/governance/admin-privileges.md new file mode 100644 index 000000000..9fda38289 --- /dev/null +++ b/it/governance/admin-privileges.md @@ -0,0 +1,32 @@ +# Privilegi di amministrazione + +The OUSD smart contracts are designed to be owner upgradable. The Origin team uses two different Gnosis multisig wallet contracts in order to make changes to the protocol. These multisig wallets have been [audited by OpenZeppelin](https://blog.openzeppelin.com/gnosis-multisig-wallet-audit-d702ff0e2b1e/), [ConsenSys Dilligence](https://blog.gnosis.pm/the-gnosis-multisig-wallet-and-our-commitment-to-security-ce9aca0d17f6), Origin’s team, and others. + +{% hint style="info" %} +Time-delayed admin actions gives users a chance to exit OUSD if its admins become malicious, are compromised, or make a change that the users do not like. +{% endhint %} + +### Admin + +The primary admin is a 5 of 8 multisig contract which is required to make any code changes to the protocol. OUSD can only be upgraded from this 5 of 8 multi-sig wallet. The keys to this multi-sig are held by individuals with close ties to the company, and not even the Origin founders acting together have enough control to execute owner functions on their own. In addition, the OUSD contracts are owned by a [timelock](../smart-contracts/api/timelock.md) which places a 48 hour time delay before any changes to the protocol can be made. + +### Strategist + +Some functionality, such as rebalancing funds between strategies or pausing deposits, can be triggered without the timelock and with far fewer signers. This allows the Origin team to react more quickly to market conditions or security threats. These signers, known as Strategists, have the ability to execute a limited number of functions __ with only 2 of 9 signers. + +The strategist multisig can do the following actions on the vault: + +* reallocate - move funds between strategies +* setVaultBuffer - adjust the amount of funds held outside strategies for cheaper redeems. +* setAssetDefaultStrategy - which strategy mints and redeems pull from for a particular strategy +* withdrawAllFromStrategy - remove funds from a single strategy and send them to the vault +* withdrawAllFromStrategies - remove funds from all active strategies and send them to the vault +* pauseRebase - pause all rebases +* pauseCapital - pause all mints and redeems +* unpauseCapital - allow all mints and redeems + +### Future + +Having these admin privileges is necessary in the early days to ensure that the protocol is secure and optimized for earning yields while minimizing risks. We expect to release multiple iterations of our smart contracts in the first several months of the protocol's existence. + +Once several upgrade cycles have been completed, we intend to transfer ownership from our company control to a decentralized governance contract, thereby allowing the community to vote and participate in future protocol updates. diff --git a/it/governance/contributing.md b/it/governance/contributing.md new file mode 100644 index 000000000..db733a422 --- /dev/null +++ b/it/governance/contributing.md @@ -0,0 +1,103 @@ +# Contribuire + +**100% Open source** + +OUSD è un progetto interamente open source e accogliamo con piacere contributi di ogni tipo. Ci sono molti modi per aiutare, segnalando problemi, contribuendo allo sviluppo di codice, e aiutandoci a migliorare la nostra community. + +{% content-ref url="broken-reference" %} +[Broken link](broken-reference) +{% endcontent-ref %} + +We work in public and our company Discord is open to all. If you have questions or need help getting started, our [Discord OUSD channels](https://discord.gg/jyxpUSe) are the best place to get assistance from our team and community. + +{% content-ref url="broken-reference" %} +[Broken link](broken-reference) +{% endcontent-ref %} + +**Developer Analytics** + +Our internal developer dashboard is available at [analytics.ousd.com](https://analytics.ousd.com). The dashboard shows the current circulating supply, the assets under management in the vault, and the current allocations between each of the stablecoins and strategies. Various other developer tools can be found at [ousd.com/dashboard](https://ousd.com/dashboard). + +#### Processo di sviluppo + +Our branching strategy is similar to [GitFlow](http://nvie.com/posts/a-successful-git-branching-model/), but we do all of our development in the `master` branch and have a `stable` branch for code that has been released. + +Your development flow should look like: + +1. Trova un problema interessante e comunicalo! Informa il canale `#engineering` su [Discord](https://discord.gg/jyxpUSe) su ciò cui tu vuoi lavorare. +2. Informa un membro del [core team](https://github.com/orgs/OriginProtocol/teams/core/members) su Discord e chiedigli di essere aggiunto al nostro [contributors team](https://github.com/orgs/OriginProtocol/teams/contributors). Altrimenti, avrai bisogno di forkare il repository pertinente e pushare i branch di riferimento al tuo fork personale. +3. Aggiungi un commento al problema o autoassegnatelo in modo tale da non avere più collaboratori che lavorano sulla stessa attività senza saperlo. +4. Inizia con il branch `master` e fai check out di un nuovo feature branch a meno che tu non stia contribuendo già ad una feature esistente. +5. Write some awesome code. +6. Fai pull degli ultimi commit dal `master`, e assicurati che il tuo codice funzioni dopo aver fatto il merge. +7. Push your branch to the upstream repository (i.e. https://github.com/OriginProtocol/\[repo]) so that other contributors can easily work off of it if necessary. +8. Richiedi una revisione nel PR cliccando sull'icona con l'ingranaggio vicino alla scritta "Reviewers" nella colonna di destra. + +For critical smart contract code to be merged it must pass the following checklist: + +* Code reviewed by 2 reviewers +* Unit tests pass +* Slither tests pass with no warning +* Echidna tests pass + +The `master` branch is locked so that only members of the [core team](https://github.com/orgs/OriginProtocol/teams/core) are able to merge your pull requests. Pull requests that are peer-reviewed by other trusted contributors will be fast-tracked and merged faster! Check in the `#engineering` Discord channel for appropriate reviewers. + +#### Stile del codice + +We use a variety of programming languages in our repositories. When contributing, please follow existing coding conventions and refer to the CONTRIBUTING.md file in the repository, if one exists. + +For JavaScript, we use [NPM’s style](https://docs.npmjs.com/misc/coding-style), which is automatically enforced via [prettier](https://prettier.io). + +For Solidity, we use two-space indents. + +#### Progettazione del Protocollo + +When considering protocol or implementation design proposals, we are looking for: + +* A description of the problem this design proposal solves +* Discussion of the trade-offs involved +* Review of other existing solutions +* Links to relevant literature (RFCs, papers, etc) +* Discussion of the proposed solution + +Please note that protocol design is hard and meticulous work. You may need to review existing literature and think through generalized use cases. + +#### Linee guida della community + +We want to keep the Origin community awesome, growing and collaborative. We need your help to keep it that way. To help with this we’ve come up with some general guidelines for the community as a whole: + +* Be nice: Be courteous, respectful and polite to fellow community members: no regional, racial, gender, or other abuse will be tolerated. We like nice people way better than mean ones! +* Encourage diversity and participation: Make everyone in our community feel welcome, regardless of their background and the extent of their contributions, and do everything possible to encourage participation in our community. +* Keep it legal: Basically, don’t get anybody in trouble. Share only content that you own, do not share private or sensitive information, and don’t break laws. +* Stay on topic: Make sure that you are posting to the correct channel and avoid off-topic discussions. Remember when you update an issue or respond to an email you are potentially sending to a large number of people. Please consider this before you update. Also remember that nobody likes spam. + +#### Segnalazione di problemi + +If you find bugs, mistakes or inconsistencies in Origin’s code or documents, please let us know by filing a GitHub issue. No issue is too small. Help us fix our tpyos! + +#### Problemi di sicurezza + +OUSD is still in early development, which means there may be problems with the protocol or in our implementations. We take security vulnerabilities very seriously. If you discover a security issue, please bring it to our attention right away! + +If you find a security vulnerability please send your report privately to [security@originprotocol.com](mailto:security@originprotocol.com) or send an encrypted message to [@joshfraser on Keybase](https://keybase.io/joshfraser). Please DO NOT file a public issue. Be sure to review our guidelines for responsible disclosure and eligibility for bug bounties. + +{% content-ref url="../security-and-risks/bug-bounties.md" %} +[bug-bounties.md](../security-and-risks/bug-bounties.md) +{% endcontent-ref %} + +#### **Miglioramento della community** + +Origin is just as much about community as it is about our technology. + +We need constant help in improving our documentation, building new tools to interface with our platform, spreading the word to new users, helping new users getting setup and much more. + +Please get in touch if you would like to help out. Our `discussion` channel on [Discord](https://www.originprotocol.com/discord) is a great place to share ideas and volunteer to help. + +#### Posizioni lavorative a tempo pieno + +Origin occasionally hires developers for part-time or full-time positions. + +We have a strong preference for hiring people who have already started contributing to the project. If you want a full-time position on our team, your best shot is to engage with our team and start contributing code. It is very unlikely that we would offer you a full-time position on our engineering team unless you’ve had at least a few pull requests merged. + +If you are interested, check out [the Origin Protocol job listings](https://angel.co/originprotocol/jobs). If you’d like to help in other ways, please propose your ideas in [our Discord channel](https://www.originprotocol.com/discord). + diff --git a/it/governance/governance.md b/it/governance/governance.md new file mode 100644 index 000000000..eea11a787 --- /dev/null +++ b/it/governance/governance.md @@ -0,0 +1,26 @@ +# Principles + +**Progressive Decentralization** + +OUSD is designed to be a decentralized protocol governed by many stakeholders all over the world. We believe that the minters and holders of OUSD should collectively determine important protocol decisions as soon as possible. + +That being said, in the very early days, it is imperative that the core engineering team can act quickly and decisively to build the foundational parts of the protocol. + +Decentralization will progress across four phases rapidly over the next few months. It is our intent to relinquish control and governance to the community as soon as possible. + +![](../.gitbook/assets/ousd_docs_graphics_2%20%283%29.png) + +**Timelock** + +Prior to full decentralized governance, we will implement a [timelock](../smart-contracts/api/timelock-1.md) in front of all admin function calls, giving OUSD users time \(48 hours\) to withdraw their funds if they have objections to our proposed upgrades. This timelock will be added shortly after launch. + +**New and Existing Stakeholders** + +OUSD is a new project founded by Origin Protocol [team](www.originprotocol.com/team) and will be supported by the existing Origin community as well as many new stakeholders that choose to mint, hold, use, and provide liquidity for OUSD. + +In addition, we also want to ensure high participation from our existing Origin Token \(OGN\) holders, community of close to 500,000 members, and buyers/sellers on the Platform. Existing OGN holders will be able to stake their OGN to participate in governance and earn incentives for driving value to OUSD. More details will be provided in the near future. + +The strong connection between OUSD and the rest of the Origin commerce platform will fuel growth in both initiatives. + + + diff --git a/it/governance/ogn-staking.md b/it/governance/ogn-staking.md new file mode 100644 index 000000000..e7a3e0bc2 --- /dev/null +++ b/it/governance/ogn-staking.md @@ -0,0 +1,18 @@ +# OGN Staking + +Origin Token (OGN) is intended as the governance token for OUSD and OGN will play an increasingly important role as the Origin Platform becomes more decentralized. Today, users can stake their OGN tokens to earn additional OGN after a chosen staking period has elapsed. + +{% hint style="info" %} +Visit the [OUSD DApp](https://www.ousd.com/stake) in a web3-enabled browser to stake your OGN. +{% endhint %} + +The initial staking program offers three staking periods and respective yields: + +* 30-day staking period: Earn 7.5% annualized interest +* 90-day staking period: Earn 12.5% annualized interest +* 365-day staking period: Earn 25% annualized interest + +Staked tokens will be locked for the duration of the staking period. After each staking period ends, you will be able to claim both your initial OGN (principal) and yield. + +OGN is currently trading on top exchanges like [Coinbase](https://www.coinbase.com/price/origin-token), [Binance](https://www.binance.com/en/register?ref=NPPYAEAE), [Huobi](https://www.huobi.com/en-us/exchange/ogn_usdt/), [Upbit](https://upbit.com/exchange?code=CRIX.UPBIT.BTC-OGN), [Bittrex Global](https://global.bittrex.com/Market/Index?MarketName=BTC-OGN), and [dozens more](https://coinmarketcap.com/currencies/origin-protocol/markets/). Visit the Origin website to [learn more about OGN](https://www.originprotocol.com/ogn-token) or check out the [OGN Dashboard](https://www.originprotocol.com/dashboard) to track important token metrics. + diff --git a/it/governance/phases.md b/it/governance/phases.md new file mode 100644 index 000000000..b3b8ad029 --- /dev/null +++ b/it/governance/phases.md @@ -0,0 +1,6 @@ +# Fasi + +La decentralizzazione progressiva seguirà 4 fasi come illustrato qui di seguito. + +![](../.gitbook/assets/ousd_docs_graphics_2%20%282%29.png) + diff --git a/it/governance/principles.md b/it/governance/principles.md new file mode 100644 index 000000000..44f084205 --- /dev/null +++ b/it/governance/principles.md @@ -0,0 +1,30 @@ +# Principi + +**Governance Portal** + +OGN holders are encouraged to participate in creating and voting on proposals that impact the protocol in the [OGN governance portal](https://vote.originprotocol.com). Anyone with at least 1,000 OGN in their wallet or staked in our OGN Staking contract can create a new proposal using Snapshot. All OGN holders are able to vote for proposals. Our desire is for our community to have a strong impact on the direction of Origin’s products, open-source codebase, and to have a voice in key business decisions and the overall direction of the project. + +OGN holders can also [delegate votes](vote-delegation.md) to another account. + +**Progressive Decentralization** + +OUSD is designed to be a decentralized protocol governed by many stakeholders all over the world. We believe that the holders of OUSD should collectively determine important protocol decisions as soon as possible. + +That being said, in the very early days, it is imperative that the core engineering team can act quickly and decisively to build the foundational parts of the protocol. + +Decentralization will progress across four phases rapidly over the next few months. It is our intent to relinquish control and governance to the community as soon as possible. + +![](../.gitbook/assets/ousd\_docs\_graphics\_2 (2).png) + +**Timelock** + +Prior to full decentralized governance, we will implement a [timelock](../smart-contracts/api/timelock.md) in front of all admin function calls, giving OUSD users time to withdraw their funds if they have objections to our proposed upgrades. + +**New and Existing Stakeholders** + +OUSD is a new project founded by Origin Protocol [team](https://www.originprotocol.com/team) and will be supported by the existing Origin community as well as many new stakeholders that choose to mint, hold, use, and provide liquidity for OUSD. + +In addition, we also want to ensure high participation from our existing Origin Token (OGN) holders and the millions of people in our community. Existing OGN holders are able to [stake their OGN](ogn-staking.md) to participate in governance and earn incentives for driving value to OUSD. + +The strong connection between OUSD and the rest of the Origin commerce platform will fuel growth in both initiatives. + diff --git a/it/governance/vote-delegation.md b/it/governance/vote-delegation.md new file mode 100644 index 000000000..9a8149d2f --- /dev/null +++ b/it/governance/vote-delegation.md @@ -0,0 +1,18 @@ +# Vote Delegation + +OGN holders can forward their voting power on the [Governance Portal](https://vote.originprotocol.com/#/) to another Ethereum address. Choosing this option does not strip the delegator of their voting power. The delegatee receives the extra voting power only on proposals the delegator has not voted on. + +This is convenient when users want someone they trust or even one of Origin's team members to make governance decisions regarding Origin's ecosystem. It is also useful when users have OGN stored more safely in a hardware wallet and don’t want to go through the hassle of connecting it to the computer. A more accessible Ethereum wallet e.g. Metamask can be used to vote by having voting power delegated to it from the hardware wallet.\ + + +**How to Delegate** + +* Go to: [https://snapshot.org/#/delegate](https://snapshot.org/#/delegate). +* Type in the address or ENS name you want to delegate to. +* There is an option to limit the delegation power to only Origin’s products by selecting _Limit delegation to a specific space_ and typing in “origingov.eth”. +* Click confirm to save your delegation.\ + + +![](../.gitbook/assets/Screenshot 2022-03-20 at 10.47.43.png) + +After completing these steps, the OGN voting power is successfully delegated to the address specified. diff --git a/it/guides/incentivized-harvesting-guide.md b/it/guides/incentivized-harvesting-guide.md new file mode 100644 index 000000000..a24597e9c --- /dev/null +++ b/it/guides/incentivized-harvesting-guide.md @@ -0,0 +1,46 @@ +# Incentivized Harvesting Guide + +The OUSD Harvester contract collects reward tokens earned by the OUSD strategies, sells them, and sends them on to increase protocol yield. **Anyone can call the harvest and earn 1% of the resulting USDT** for doing so. This creates a self-incentivizing system that operates at a known cost to the protocol. + +### When to call + +You'll want to call this contract when it is profitable to do so. You gain the 1% harvest USDT given by the contract, and spend the gas cost to send the transaction. + +The simplest way to calculate both of these is to simulate the transaction. You can then look at the resulting transfers to know the income received, and you can look at the gas amount used, the current gas prices, and the current cost of ETH, to find out the cost. + +Alternatively you can precompute the gas used for a given strategy's harvest, look up the pending reward tokens using various online services, then do your calculations without using the blockchain. + +The amount of rewards increases at a fairly steady, predictable rate. The primary variation is in gas prices, which will make a much bigger minute to minute difference on when you should call this. + +When calculating profitability, remember to account for the cost to swap back to ETH from USDT. + +### How to call + +When you call the harvest, **you will want to use some form of MEV protection**. Otherwise bots will see that your transaction is profitable, and execute it ahead of you, leaving you no gain and only gas fees. + +To harvest, you call `harvester.harvestAndSwap(strategyAddress, rewardTo)`. + +The harvester address and strategyAddresses can be found in the strategy tab of the [contract registry](../smart-contracts/registry.md). The `rewardTo` address is the account that will receive the USDT funds as a reward for calling the function - use your own address for it. + +Below is the harvestAndSwap ABI: + +``` +[{ + "inputs": [ + { + "internalType": "address", + "name": "_strategyAddr", + "type": "address" + }, + { + "internalType": "address", + "name": "_rewardTo", + "type": "address" + } + ], + "name": "harvestAndSwap", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" +}] +``` diff --git a/it/guides/integration-guide-for-exchanges.md b/it/guides/integration-guide-for-exchanges.md new file mode 100644 index 000000000..cda6f2cd1 --- /dev/null +++ b/it/guides/integration-guide-for-exchanges.md @@ -0,0 +1,34 @@ +# Integration Guide For Exchanges + +Centralized exchanges will play an important role in helping us reach our goal of making OUSD ubiquitous. We are happy to help any exchange that wants to make OUSD available to its users. We believe OUSD will make a great addition to any exchange that wants to offer both a superior stablecoin and a new high-yield opportunity for their users. + +These docs are a great starting point for understanding how OUSD works. Here are some important questions for exchanges that wish to integrate OUSD to consider: + +**Do you want to participate in the yield that is generated?** + +We're assuming the answer will be yes and we highly encourage this as well! However, there may be some instances where you would prefer to move fast and list OUSD without participating in the [rebasing nature of OUSD](../core-concepts/elastic-supply/rebasing-and-smart-contracts.md) since it's the fastest and simplest integration. For exchanges that want to list OUSD, but are strapped for engineering resources, you may want to launch the non-rebasing version first while your engineers make whatever changes are necessary. To make OUSD non-rebasing you can call `rebaseOptOut()` from each EOA wallet that holds OUSD, or do nothing if you are storing OUSD on smart contracts. Non-rebasing OUSD behaves just like any other ERC-20 token. + +**Are you storing customer balances on smart contracts (ie. multi-sigs) or EOA wallets?** + +Any smart contract that is holding OUSD needs to manually opt-in to receive the yield by calling `rebaseOptIn()`. This is due to the [elastic supply](../core-concepts/elastic-supply/) and the [rebasing nature of OUSD](../core-concepts/elastic-supply/rebasing-and-smart-contracts.md). Many exchanges sweep customer funds into a multi-sig wallet for cold storage. If you do this, you'll want to make sure that you opt-in to rebasing so that you are always earning. + +**Are you caching user balances?** + +OUSD dynamically updates the value returned by the `balanceOf()` function on our ERC20 contract. Users' balances will update at unpredictable times as new yield is generated by the protocol. As long as you aren't caching this value, users will always see the correct amount of OUSD that they are holding. + +It's important to note that while OUSD is a rebasing token, user balances will only rebase in a positive direction (your balance will never go down). This makes things a lot simpler than integrating with other rebasing coins like AMPL or other algo-stables. + +**Are you comingling user funds?** + +If you are comingling funds, you'll want to be sure that each user gets their pro-rata amount of the yield that is generated by the protocol. Probably the easiest way to do this is to track each user's balance as a percentage of a pool instead of as a fixed amount. + +**Are you planning to provide liquidity?** + +The Origin team is often willing to provide a market maker and initial liquidity for exchanges that wish to integrate OUSD. There are also 9 figures worth of liquidity available on decentralized exchanges like [Curve](https://curve.fi/factory/9). + +If you are interested in using OUSD to power your own staking or earning program, you will probably want to be able to access OUSD on demand. OUSD can always be minted or redeemed using the [Origin Dollar DApp](https://www.ousd.com), or directly from the OUSD [smart contracts](../smart-contracts/registry.md). If you are planning on providing liquidity yourself, you should be aware that the exact amount of OUSD you will receive in exchange for your USDT, USDC, or DAI depends on the current exchange rates as determined by the [oracles.](../core-concepts/price-oracles.md) If you are planning on redeeming OUSD for the underlying stablecoins, you should know there is a 0.25% exit fee and OUSD will return a basket of stable coins in proportion to the backing stablecoins in the pool. We encourage exchanges to leverage existing pools of liquidity to avoid those fees. If possible, mints or redeems should be done in large batches for maximum efficiency. + +#### Do you have other questions? + +The best way to get help from both our engineering and business teams is usually on [Discord](https://www.originprotocol.com/discord). + diff --git a/it/how-it-works.md b/it/how-it-works.md new file mode 100644 index 000000000..9a3885fff --- /dev/null +++ b/it/how-it-works.md @@ -0,0 +1,39 @@ +# Come Funziona + +#### 100% garantito e stabile + +Origin Dollar (OUSD) is an ERC-20 compliant token for the Ethereum network. + +OUSD è una stable coin che è garantita in proporzione 1:1 con altre stable coin come USDT, USDC e DAI. Di conseguenza, il valore di 1 OUSD dovrebbe esser sempre molto vicino a quello di 1 USD. + +{% hint style="success" %} +1 OUSD = 1 USD +{% endhint %} + +#### Buying OUSD + +Users can convert their existing stablecoins (currently USDT, USDC, and DAI) to OUSD at the official [Origin Dollar DApp](https://www.ousd.com). Received OUSD begins accruing compounding yield immediately. + +The Origin DApp will intelligently route user's transactions to give them the best available price while taking slippage and gas costs into consideration. This means that the DApp will sometimes encourage users to buy OUSD that is already in circulation versus minting fresh OUSD from the vault. The OUSD DApp will choose from multiple sources of liquidity and will suggest the option that gives the user the best possible rate. + +**Selling OUSD** + +Users can convert their OUSD back into other stablecoins at any time using the [Origin Dollar DApp](https://www.ousd.com). The Origin DApp will intelligently route user's transactions to give them the best available price while taking slippage, gas costs, and the vault's exit fee into consideration. This means that the DApp will often help users sell their OUSD on AMM's instead of redeeming OUSD with the vault and incurring the protocol's exit fee. + +A 0.25% exit fee is charged upon redemption with the vault. This fee is distributed as additional yield to the remaining participants in the vault (ie. other OUSD holders). The fee serves as a security feature to make it difficult for attackers to take advantage of lagging oracles, preventing them from siphoning stablecoins from the vault in the event of mispriced underlying assets. The fee exists to incentivize long-term holders over short-term speculators. + +Upon redemption, the vault will determine which stablecoin(s) to return to the user. In the current implementation, the vault will return coins in the same ratio as the current holdings. This lack of user optionality also protects the vault as a whole in the event that any of the supported stablecoins loses its peg to the dollar. + +{% hint style="warning" %} +Redemptions on the OUSD vault incur a **0.25% exit fee** and the user doesn't get to pick which stablecoins they receive. Users can often avoid this fee by selling to an AMM instead. +{% endhint %} + +#### **Automated Yield Farming** + +OUSD generates yields by deploying the underlying stablecoins that were deposited to the OUSD smart contract to other DeFi protocols such as Compound, Aave, and Curve. There may be new diversified strategies added to the vault in the future. Collected interest, trading fees, and rewards tokens are pooled and converted to stablecoins to produce OUSD-denominated yields. Over time, the protocol will move assets in and out of different liquidity pools in order to provide the best yield to the holders of OUSD. + +#### **Elastic Supply** + +The generated returns are passed on to the holders of OUSD via constant rebasing of the money supply. OUSD constantly adjusts the money supply in response to the yield the protocol has generated. This allows the price of OUSD to stay pegged at $1 while the balances in token holders' wallets adjust in real-time to reflect yields that have been earned by the protocol. + +The end result is a stablecoin that is easy to spend, earns outsized yields automatically, and is more desirable to hold than existing stablecoins. diff --git a/it/security-and-risks/asset-risk.md b/it/security-and-risks/asset-risk.md new file mode 100644 index 000000000..92140f5ed --- /dev/null +++ b/it/security-and-risks/asset-risk.md @@ -0,0 +1,33 @@ +# Bug Bounties + +**Bug Bounties** + +Bug bounties are granted at the full discretion of Origin Protocol. The rewards range in size from **$100** for minor issues to **$250,000** for major vulnerabilities. Currently, the bounty program only applies to OUSD and not other products from Origin. + +{% hint style="warning" %} +In order to be eligible for a bug bounty, you must follow the rules of Responsible Disclosure outlined below. +{% endhint %} + +**Responsible Disclosure** + +Security is our top priority and we've taken every effort to make sure our code is secure and works as intended. However, it's completely possible that vulnerabilities both large and small may have gone undetected. + +In case you discover a vulnerability, we would like to know about it immediately so we can take steps to address it as quickly as possible. + +If you discover a vulnerability, please do the following: + +* Report your findings to [security@originprotocol.com](mailto:security@originprotcol.com) or contact [Josh Fraser on Keybase](https://keybase.io/joshfraser) +* Do not take advantage of the vulnerability or problem you have discovered +* Do not reveal the problem to others until it has been resolved +* Do not use attacks on physical security, social engineering, distributed denial of service, spam or applications of third parties +* Do provide sufficient information to reproduce the problem, so we will be able to resolve it as quickly as possible. Complex vulnerabilities may require further explanation so we might ask you for additional information. + +In return, we promise: + +* We will respond to your report within 3 business days with our evaluation of the report and an expected resolution date +* If you have followed the instructions above, we will not take any legal action against you in regard to the report +* We will handle your report with strict confidentiality, and not pass on your personal details to third parties without your permission +* If you so wish we will keep you informed of the progress towards resolving the problem +* In the public information concerning the problem reported, we will give your name as the discoverer of the problem \(unless you desire otherwise\) +* As a token of our gratitude for your assistance, we offer a reward for every report of a security problem that was not yet known to us. The amount of the reward will be determined based on the severity of the leak, the quality of the report, and any additional assistance you provide. + diff --git a/it/security-and-risks/audits.md b/it/security-and-risks/audits.md new file mode 100644 index 000000000..6998e285d --- /dev/null +++ b/it/security-and-risks/audits.md @@ -0,0 +1,40 @@ +# Revisioni + +**The OUSD Vault, ERC-20, and Overall System** + +OUSD has been audited by multiple, well-respected security firms. We have worked with [OpenZeppelin](https://openzeppelin.com), [Trail of Bits](https://www.trailofbits.com), [Solidified](https://solidified.io), and [Certora](https://www.certora.com) to audit all of the code that powers Origin Dollar. Their findings are available below: + +* [Trail of Bits, OUSD Audit, December 2020](https://github.com/OriginProtocol/security/blob/master/audits/Trail%20of%20Bits%20-%20Origin%20Dollar%20-%20Dec%202020.pdf) +* [Solidified, OUSD Audit, December 2020](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20Origin%20Dollar%20-%20Dec%202020.pdf) +* [Solidified, OGN Staking Audit, December 2020](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20OGN%20Staking%20-%20Dec%202020.pdf) +* [Certora, OUSD Formal Verification Audit, January 2021](https://www.certora.com/pubs/OriginFeb2021.pdf) +* [OpenZeppelin, OUSD Audit, August 2021](https://github.com/OriginProtocol/security/blob/master/audits/OpenZeppelin%20-%20Origin%20Dollar%20-%20October%202021.pdf) +* [Solidified, wOUSD, ERC721a, Governance, Harvester & Dripper Audit, May 2022](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20OGV%2C%20wOUSD%2C%20and%20ERC721a%20-%20May%202022.pdf) + +Both our initial and future governance tokens have been audited as well: + +* [Trail of Bits, OGN Audit, November 2018](https://github.com/OriginProtocol/security/blob/master/audits/Trail%20of%20Bits%20-%20Origin%20Marketplace%20and%20OGN%20Token%20-%20Nov%202018.pdf) +* [Solidified, OGV Audit, May 2022](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20OGV%2C%20wOUSD%2C%20and%20ERC721a%20-%20May%202022.pdf) + +In addition, the underlying strategies and dependencies that OUSD utilizes have been thoroughly audited by various firms. + +{% hint style="info" %} +OUSD only integrates strategies that have been carefully audited and battle-tested with significant capital over an extended period of time. +{% endhint %} + +**Compound Strategy and Open Price Feed** + +Compound has been audited by [Trail of Bits](https://www.trailofbits.com) and [OpenZeppelin](https://openzeppelin.com) and formally verified by [Certora](https://www.certora.com). Visit the Compound website for their [full list of audits](https://compound.finance/docs/security#audits) including the original code for the modified [Timelock](../smart-contracts/api/timelock.md) that OUSD is using. + +**Aave Strategy** + +Aave has been audited by [Trail of Bits](https://www.trailofbits.com), [OpenZeppelin](https://openzeppelin.com), [ConsenSys Diligence](https://consensys.net/diligence/), [Certik](https://certik.io), [MixBytes](https://mixbytes.io), and [PeckShield](https://peckshield.com). They have also been formally verified by [Certora](https://www.certora.com). Visit the Aave website for [their full list of audits](https://docs.aave.com/developers/security-and-audits). + +**Curve Strategy** + +Curve has been audited by [Trail of Bits](https://www.trailofbits.com) and [Quantstamp](https://quantstamp.com). Visit the Curve website for [their full list of audits](https://www.curve.fi/audits). + +**Chainlink Oracles** + +Chainlink has been audited by [Quantstamp](https://github.com/smartcontractkit/chainlink/tree/bafa91c), [SigmaPrime](https://github.com/smartcontractkit/chainlink/tree/cee356), [Callisto](https://gist.github.com/yuriy77k/c3a70d212a7f9ecda715252e45073158), and [Nick Johnson](https://github.com/smartcontractkit/chainlink/tree/5327f9). + diff --git a/it/security-and-risks/bug-bounties.md b/it/security-and-risks/bug-bounties.md new file mode 100644 index 000000000..87d1c4f56 --- /dev/null +++ b/it/security-and-risks/bug-bounties.md @@ -0,0 +1,32 @@ +# Bug Bounties + +**Bug Bounties** + +Le Bug Bounties sono garantite a totale discrezione di Origin Protocol. The rewards range in size from **$100 OUSD** for minor issues to **$250,000 OUSD** for major vulnerabilities. Attualmente, il programma di bounty si applica solo a OUSD e non agli altri prodotti di Origin. + +{% hint style="warning" %} +Per poter beneficiare della bug bounty, è necessario seguire le regole della divulgazione responsabile descritte di seguito. +{% endhint %} + +**Divulgazione responsabile** + +La sicurezza è la nostra massima priorità e abbiamo fatto ogni sforzo per assicurarci che il nostro codice sia protetto e funzioni come previsto. Tuttavia, è del tutto possibile che delle vulnerabilità, grandi o piccole, possano essere passate inosservate. + +Nel caso in cui tu scopra una vulnerabilità, ci piacerebbe essere immediatamente informati in modo da poter adottare misure per porre rimedio il più rapidamente possibile. + +Se scopri una vulnerabilità, perfavore procedi come segue: + +* Report your findings to [security@originprotocol.com](mailto:security@originprotocol.com) or contact [Josh Fraser on Keybase](https://keybase.io/joshfraser). Here is an example of a [well written disclosure](https://gist.github.com/DanielVF/66f459da88804d1fd917c47576c68523). +* Non ottenere vantaggi dalla vulnerabilità o dal problema che hai scoperto +* Non rivelare il problema ad altri finché non è stato risolto +* Non utilizzare attacchi alla sicurezza, ingegneria sociale, denial of service, spam o applicazioni di terze parti +* Fornisci informazioni sufficienti per riprodurre il problema, così saremo in grado di risolverlo il più rapidamente possibile. Complex vulnerabilities may require further explanation so we might ask you for additional information. + +In cambio, promettiamo: + +* Risponderemo alla tua segnalazione entro 3 giorni lavorativi con la nostra valutazione a riguardo, e una data di risoluzione prevista +* Se hai seguito le istruzioni di cui sopra, non intraprenderemo alcuna azione legale contro di te in relazione alla segnalazione +* Tratteremo la tua segnalazione con la massima riservatezza e non trasmetteremo i tuoi dati personali a terzi senza il tuo permesso +* Se lo desideri, ti terremo informato sui progressi di risoluzione del problema +* In the public information concerning the problem reported, we will give your name as the discoverer of the problem (unless you desire otherwise) +* In segno di gratitudine per la tua assistenza, offriamo una ricompensa per ogni segnalazione di un problema di sicurezza che non era ancora noto. L'importo della ricompensa verrà determinato in base alla gravità della vulnerabilità, la qualità del report e a all'assistenza ulteriore da te fornita. diff --git a/it/security-and-risks/contributing.md b/it/security-and-risks/contributing.md new file mode 100644 index 000000000..632abf0c0 --- /dev/null +++ b/it/security-and-risks/contributing.md @@ -0,0 +1,95 @@ +# Contribuire + +**100% Open source** + +OUSD è un progetto interamente open source e accogliamo con piacere contributi di ogni tipo. Ci sono molti modi per aiutare, segnalando problemi, contribuendo allo sviluppo di codice, e aiutandoci a migliorare la nostra community. + +Noi lavoriamo pubblicamente e la nostra azienda è su Discord ed è aperta a tutti. Se hai domande o hai bisogno di aiuto per iniziare, i nostri canali OUSD su Discord sono il posto migliore per ricevere assistenza dal nostro team e dalla nostra community. + +**Analytics per sviluppatori** + +La nostra dashboard interna per sviluppatori è disponibile all'URL [analytics.ousd.com](https://analytics.ousd.com). La nostra dashboard mostra l'attuale offerta circolante, gli asset gestiti all'interno del vault e le attuali allocazioni tra ogni stablecoin e le strategie. + +#### Processo di sviluppo + +La nostra strategia di branching è simile a quella di [ GitFlow](http://nvie.com/posts/a-successful-git-branching-model/), ma noi sviluppiamo completamente nel branch `master` e utilizziamo il branch `stable` per il codice che viene rilasciato. + +Il tuo flusso di sviluppo dovrebbe assomigliare a: + +1. Trova un problema interessante e comunicalo! Informa il canale `#engineering` su [Discord](https://discord.gg/jyxpUSe) su ciò cui tu vuoi lavorare. +2. Informa un membro del [core team](https://github.com/orgs/OriginProtocol/teams/core/members) su Discord e chiedigli di essere aggiunto al nostro [contributors team](https://github.com/orgs/OriginProtocol/teams/contributors). Altrimenti, avrai bisogno di forkare il repository pertinente e pushare i branch di riferimento al tuo fork personale. +3. Aggiungi un commento al problema o autoassegnatelo in modo tale da non avere più collaboratori che lavorano sulla stessa attività senza saperlo. +4. Inizia con il branch `master` e fai check out di un nuovo feature branch a meno che tu non stia contribuendo già ad una feature esistente. +5. Segui lo [stile di codice](https://docs.originprotocol.com/guides/getting_started/contributing.html#contributing-email-coding-style) già esistente e scrivi codice magnifico. +6. Fai pull degli ultimi commit dal `master`, e assicurati che il tuo codice funzioni dopo aver fatto il merge. +7. Pusha il tuo branch sull'upstream repository \(i.e. https://github.com/OriginProtocol/\[repo\]\) in modo tale che gli altri collaboratori possano lavorarci facilmente, se necessario. +8. Richiedi una revisione nel PR cliccando sull'icona con l'ingranaggio vicino alla scritta "Reviewers" nella colonna di destra. + +For critical smart contract code to be merged it must pass the following checklist: + +* Code reviewed by 2 reviewers +* Unit tests pass +* Slither tests pass with no warning +* Echidna tests pass + +The `master` branch is locked so that only members of the [core team](https://github.com/orgs/OriginProtocol/teams/core) are able to merge your pull requests. Pull requests that are peer-reviewed by other trusted contributors will be fast-tracked and merged faster! Check in the `#engineering` Discord channel for appropriate reviewers. + +#### Stile del codice + +We use a variety of programming languages in our repositories. When contributing, please follow existing coding conventions and refer to the CONTRIBUTING.md file in the repository, if one exists. + +For JavaScript, we use [NPM’s style](https://docs.npmjs.com/misc/coding-style), which is automatically enforced via [prettier](https://prettier.io/). + +For Solidity, we use two-space indents. + +#### Progettazione del Protocollo + +When considering protocol or implementation design proposals, we are looking for: + +* A description of the problem this design proposal solves +* Discussion of the trade-offs involved +* Review of other existing solutions +* Links to relevant literature \(RFCs, papers, etc\) +* Discussion of the proposed solution + +Please note that protocol design is hard and meticulous work. You may need to review existing literature and think through generalized use cases. + +#### Linee guida della community + +We want to keep the Origin community awesome, growing and collaborative. We need your help to keep it that way. To help with this we’ve come up with some general guidelines for the community as a whole: + +* Be nice: Be courteous, respectful and polite to fellow community members: no regional, racial, gender, or other abuse will be tolerated. We like nice people way better than mean ones! +* Encourage diversity and participation: Make everyone in our community feel welcome, regardless of their background and the extent of their contributions, and do everything possible to encourage participation in our community. +* Keep it legal: Basically, don’t get anybody in trouble. Share only content that you own, do not share private or sensitive information, and don’t break laws. +* Stay on topic: Make sure that you are posting to the correct channel and avoid off-topic discussions. Remember when you update an issue or respond to an email you are potentially sending to a large number of people. Please consider this before you update. Also remember that nobody likes spam. + +#### Segnalazione di problemi + +If you find bugs, mistakes or inconsistencies in Origin’s code or documents, please let us know by filing a GitHub issue. No issue is too small. Help us fix our tpyos! + +#### Problemi di sicurezza + +OUSD is still in early development, which means there may be problems with the protocol or in our implementations. We take security vulnerabilities very seriously. If you discover a security issue, please bring it to our attention right away! + +If you find a security vulnerability please send your report privately to [security@originprotocol.com](mailto:security@originprotocol.com) or send an encrypted message to [@joshfraser on Keybase](https://keybase.io/joshfraser). Please DO NOT file a public issue. Be sure to review our guidelines for responsible disclosure and eligibility for bug bounties. + +{% page-ref page="bug-bounties.md" %} + +#### **Miglioramento della community** + +Origin is just as much about community as it is about our technology. + +We need constant help in improving our documentation, building new tools to interface with our platform, spreading the word to new users, helping new users getting setup and much more. + +Please get in touch if you would like to help out. Our `general` channel on [Discord](https://www.originprotocol.com/discord) is a great place to share ideas and volunteer to help. + +#### Posizioni lavorative a tempo pieno + +Origin occasionally hires developers for part-time or full-time positions. + +We have a strong preference for hiring people who have already started contributing to the project. If you want a full time position on our team, your best shot is to engage with our team and start contributing code. It is very unlikely that we would offer you a full-time position on our engineering team unless you’ve had at least a few pull requests merged. + +If you are interested, check out [the Origin Protocol job listings](https://angel.co/originprotocol/jobs). If you’d like to help in other ways, please propose your ideas in [our Discord channel](https://www.originprotocol.com/discord). + + + diff --git a/it/security-and-risks/insurance.md b/it/security-and-risks/insurance.md new file mode 100644 index 000000000..f805d14f1 --- /dev/null +++ b/it/security-and-risks/insurance.md @@ -0,0 +1,15 @@ +# Insurance + +OUSD holders can buy smart contract insurance to cover any losses that might result from any bugs or vulnerabilities in the OUSD contracts, including economic exploits (such as flash loans attacks). In addition, anyone who wants to make a financial bet on the security of our contracts can earn a yield by providing coverage. + +DeFi coverage for OUSD is currently available via[ Nexus Mutual](https://nexusmutual.io) and [InsurAce Protocol](https://www.insurace.io). These partnerships allow for more effective risk management by OUSD holders while creating new opportunities for coverage providers to profit. + +Read our [announcement post](https://medium.com/originprotocol/origin-partners-with-nexus-mutual-to-offer-defi-insurance-for-origin-dollar-ousd-6eb3432ee042) to learn how to [buy coverage](https://app.nexusmutual.io/cover/buy/get-quote?address=0xE75D77B1865Ae93c7eaa3040B038D7aA7BC02F70), [provide coverage](https://app.nexusmutual.io/staking), or [participate in shield mining campaigns](https://app.nexusmutual.io/rewards) with Nexus Mutual. You can learn more about InsurAce and how to buy coverage on their [user guide](https://docs.insurace.io/landing-page/documentation-1/user-guide) or [documentation](https://docs.insurace.io/landing-page/). + +**Nexus Mutual Coverage** + +Read our[ announcement post](https://medium.com/originprotocol/origin-partners-with-nexus-mutual-to-offer-defi-insurance-for-origin-dollar-ousd-6eb3432ee042) to learn how to[ buy coverage](https://app.nexusmutual.io/cover/buy/get-quote?address=0x0000000000000000000000000000000000000016),[ provide coverage](https://app.nexusmutual.io/staking), and[ participate in shield mining campaigns](https://app.nexusmutual.io/rewards) with Nexus Mutual. + +**InsurAce Protocol Coverage** + +Read InsurAce Protocol’s [User Guide](https://docs.insurace.io/landing-page/documentation-1/user-guide) to learn how to [buy coverage](https://docs.insurace.io/landing-page/documentation-1/user-guide/dashboard) and participate in [underwriting mining](https://docs.insurace.io/landing-page/documentation-1/user-guide/how-to-stake) for OUSD. diff --git a/it/security-and-risks/risks.md b/it/security-and-risks/risks.md new file mode 100644 index 000000000..4ce0227c2 --- /dev/null +++ b/it/security-and-risks/risks.md @@ -0,0 +1,44 @@ +# Rischi + +{% hint style="danger" %} +Use at your own risk. Do not deploy more capital than you are willing to lose. +{% endhint %} + +As with any yield-generating DeFi product, there are associated risks with holding OUSD that are important to understand. These risks can be broadly classified into 3 categories: + +* OUSD smart contract risk +* Underlying third-party platform risk +* Rischi da stablecoin sottostante + +**OUSD smart contract risk** + +Our smart contracts have been [audited](audits.md) by multiple, well-respected security firms. However, it is important to note that even with formal audits, it is still possible for there to be logic errors that could lead to the loss of funds for OUSD holders. The contracts involve complex math and logic. While we have taken every precaution to ensure the safety and security of our smart contracts, users are reminded to use at their own risk. Origin Protocol will not be held responsible for any loss of funds, regardless of who is at fault. + +**Third-party platform risk** + +OUSD is built on top of other DeFi platforms like Aave, Compound, and Curve that add additional smart contract risk. We are choosing to work with platforms that have literally billions of dollars of assets under management and have made a reasonable efforts to ensure the security of their protocols. However, there are no guarantees that the underlying third-party platforms will continue to work as intended, and any failure in an underlying strategy would potentially lead to a loss of funds for OUSD holders. + +**Rischi da Stablecoin** + +E' fondamentale capire che OUSD è tanto forte quanto le stablecoin che lo supportano, non di più. Any loss of value to an underlying stablecoin asset will cause a similar loss to the value of OUSD. While OUSD is designed to maintain a 1:1 relationship between supply and number of backing stablecoins, it does not guarantee which stablecoins will make up that backing nor the value of those coins. + +E' importante notare che ogni stablecoin supportata introduce un rischio di controparte non banale. Tether, in particolare, ha avuto alcuni ben documentati problemi bancari e sfide normative. In aggiunta, sia USDT che USDC hanno delle backdoor che garantiscono ai loro emittenti il potere di congelare i fondi nei portafogli dei loro possessori. While DAI does not have any direct backdoors, its assets can also be negatively impacted since USDC and USDT are accepted as collateral for minting DAI. + +**Risk mitigation** + +While it's impossible to guarantee our contracts are 100% safe, we have taken every step possible to mitigate the chance of losing funds: + +We regularly have our work [audited ](audits.md)by the top auditors in the industry. + +[DeFi insurance](insurance.md) is availble to offer smart contract coverage as an optional add-on service for OUSD holders. + +We have retained [Certora](https://www.certora.com) to formally verify the various security properties of our contracts. They helped us establish automated verifications that will run anytime we update our contract code. We have automated checking for common errors with [Slither](https://github.com/crytic/slither) and [Echidna](https://github.com/crytic/echidna) tests. Together, these alert our team to common security issues in addition to our own test suite. + +Code reviews involving our smart contracts are incredibly rigorous. We require at least two engineers to review each change with a detailed checklist and we prioritize security reviews over new feature development. + +Finally, we have formalized an engineering [rotation](https://github.com/OriginProtocol/security/blob/master/incidents/ROTATION.md) for reviewing [attacks on other projects](https://github.com/OriginProtocol/security/tree/master/incidents) as well as ensuring we deep dive into each of these reviews, including reviewing the affected contracts' source code ourselves. We've observed that attackers often exploit the same fundamental vulnerability on multiple different projects. By reviewing other project's vulnerabilities, we force ourselves to stay up to date on the latest security threats in our industry and are constantly learning from their mistakes. + +**Actions speak louder than words** + +You should also know that many members of the Origin team, including both founders, are holding a significant portion of their personal wealth in OUSD. Origin Protocol's corporate treasury is also holding millions of dollars in OUSD. We have skin in the game and are willing to put our own money at risk with the code we have written. + diff --git a/it/security-and-risks/untitled.md b/it/security-and-risks/untitled.md new file mode 100644 index 000000000..21b692090 --- /dev/null +++ b/it/security-and-risks/untitled.md @@ -0,0 +1,20 @@ +# Audits + +{% hint style="danger" %} +The OUSD smart contracts have not yet been audited. We strongly recommend reviewing our smart contracts before depositing significant amounts of capital. +{% endhint %} + +**OUSD** + +Audits have already been scheduled with the respected security firm, [Trail of Bits](https://www.trailofbits.com/), for early October 2020. Their audit results will be publicly released as soon as they are available. + +**Supported Strategies** + +Multiple audits for Compound have already been completed and are available on their website. This includes the original code for the modified [Timelock](../smart-contracts/api/timelock-1.md) that OUSD is using. + +{% page-ref page="untitled.md" %} + + + + + diff --git a/it/smart-contracts/api/README.md b/it/smart-contracts/api/README.md new file mode 100644 index 000000000..ff400f20f --- /dev/null +++ b/it/smart-contracts/api/README.md @@ -0,0 +1,9 @@ +# API + +Documentation of contracts API used by the protocol: + +* [Vault](vault.md) +* [ERC-20](erc-20-1.md) +* [Timelock](timelock.md) +* [Stategies](strategies.md) + diff --git a/it/smart-contracts/api/erc-20-1.md b/it/smart-contracts/api/erc-20-1.md new file mode 100644 index 000000000..74008a0b7 --- /dev/null +++ b/it/smart-contracts/api/erc-20-1.md @@ -0,0 +1,16 @@ +# ERC-20 + +{% hint style="success" %} +The main ERC20 address for Origin Dollar (OUSD) is: \ **0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +OUSD is an ERC-20 compliant token with one novel property (elastic supply) that is important to understand. + +{% hint style="warning" %} +I wallets -portafogli- e gli exchanges che vogliano integrare OUSD non dovrebbero tenere in cache il saldo OUSD perché questo valore cambia frequentemente in quanto il rendimento è maturato dai possessori di token. +{% endhint %} + +La grande differenza tra OUSD e la media degli altri token ERC-20 è nel modo in cui la funzione ` balanceOf()` di OUSD restituisca una quantità variabile in base al valore totale del vault, moltiplicato per il numero di persone che hanno messo in stake nel vault. Questa differenza è molto importante da capire, in particolar modo per i wallets e gli exchanges che vogliano integrare il token OUSD. Questo valore dovrebbe essere recuperato in tempo reale invece di essere messo in cache, proprio perché OUSD si ricalcola in modo frequente. + + + diff --git a/it/smart-contracts/api/oracle.md b/it/smart-contracts/api/oracle.md new file mode 100644 index 000000000..922897f28 --- /dev/null +++ b/it/smart-contracts/api/oracle.md @@ -0,0 +1,7 @@ +# Oracoli + +{% hint style="info" %} +La documentazione arriverà a breve. +{% endhint %} + +OUSD uses Chainlink [oracles](../../core-concepts/price-oracles.md) to secure the protocol from pricing attacks. You can [read more about our decision to work with Chainlink](https://blog.originprotocol.com/how-origin-uses-chainlink-oracles-to-secure-ousd-bff5601e840e) on the Origin blog. diff --git a/it/smart-contracts/api/ousd.md b/it/smart-contracts/api/ousd.md new file mode 100644 index 000000000..d4a655ed5 --- /dev/null +++ b/it/smart-contracts/api/ousd.md @@ -0,0 +1,8 @@ +# OUSD + +{% hint style="info" %} +La documentazione arriverà a breve. +{% endhint %} + + + diff --git a/it/smart-contracts/api/strategies.md b/it/smart-contracts/api/strategies.md new file mode 100644 index 000000000..6becb634a --- /dev/null +++ b/it/smart-contracts/api/strategies.md @@ -0,0 +1,14 @@ +# Strategie + +{% hint style="info" %} +Documentation coming soon. +{% endhint %} + +New strategies can be added or removed at any time to respond to new market realities and diversify risk. + +Once we migrate to decentralized governance, it is our intent for the community to propose new strategies and to vote on the appropriate weight for each strategy in the pool. We anticipate that most OUSD holders will value having some exposure to higher yield opportunities while maintaining more conservative positions for a portion of the funds. + + + + + diff --git a/it/smart-contracts/api/timelock-1.md b/it/smart-contracts/api/timelock-1.md new file mode 100644 index 000000000..50ca0a034 --- /dev/null +++ b/it/smart-contracts/api/timelock-1.md @@ -0,0 +1,22 @@ +# Timelock + +{% hint style="danger" %} +Il timelock verrà aggiunto subito dopo che tutto sia verificato come funzionante. Fino ad allora, la governance dei contratti rimarrà in mano a 5 di 8 multi-sig di Origin. Questo permette una più immediata risposta verso qualsiasi problematica che possa venir scoperta. +{% endhint %} + +Il contratto timelock applica un periodo di attesa di 48 ore prima che qualsiasi modifica ai contratti OUSD possano essere eseguiti. Il timelock può essere chiamato dal nostro multi-sig ed è il proprietario dei nostri contratti [ERC-20](../architecture.md),[Vault](vault.md), e [Strategie](strategies.md). Le azioni di amministrazione ritardate offrono agli utenti la possibilità di uscire da OUSD se i suoi amministratori diventano malevoli, se vengono compromessi o apportano una modifica che agli utenti non piace. + +{% hint style="info" %} +Il blocco temporale è una misura di sicurezza che offre ai titolari di OUSD 48 ore per ritirare i propri fondi se dovessero avere obiezioni a qualsiasi aggiornamento proposto al protocollo. +{% endhint %} + +OUSD utilizza una versione leggermente modificata di [Compound Timelock](https://compound.finance/docs/governance) che è stata [verificata da OpenZeppelin](https://blog.openzeppelin.com/compound-finance-patch-audit/). Le 3 differenze importanti sono: + +1. OUSD inizialmente utilizzerà un periodo di attesa più breve \(48 ore\) rispetto a quello di Compund \(72 ore\), per permettere una più rapida risposta a qualsiasi tipo di problema riscontrato. +2. Una volta che le 48 ore saranno passate, chiunque sarà libero di eseguire le chiamate, e non più solo il proprietario del contratto. +3. I depositi \(ma non i ritiri o i trasferimenti\) potranno essere immediatamente congelati senza richiedere il periodo di attesa di 48 ore. Questo è nel caso in cui venga scoperta una grave vulnerabilità. + + + + + diff --git a/it/smart-contracts/api/timelock.md b/it/smart-contracts/api/timelock.md new file mode 100644 index 000000000..2273ddad7 --- /dev/null +++ b/it/smart-contracts/api/timelock.md @@ -0,0 +1,15 @@ +# Timelock + +The timelock contract enforces a 48 hour wait period before any changes to the OUSD contracts can be executed. The timelock can be called by our multi-sig and is the owner of our [ERC-20](../architecture.md), [Vault](vault.md), and [Strategies](strategies.md) contracts. Time-delaying admin actions gives users a chance to exit OUSD if its admins become malicious, are compromised, or make a change that the users do not like. + +{% hint style="info" %} +The timelock is a safety measure that gives OUSD holders 48 hours to withdraw their funds if they have objections to any proposed upgrades to the protocol. +{% endhint %} + +OUSD is using a slightly modified version of the [Compound Timelock](https://compound.finance/docs/governance) which has been [audited by OpenZeppelin](https://blog.openzeppelin.com/compound-finance-patch-audit/). The two notable differences are: + +1. OUSD will initially use a shorter wait period (48 hours) than Compound (72 hours) to allow for a faster response if any issues are discovered. +2. Some actions, such as reallocating funds between existing strategies and freezing deposits can be called immediately by a multisig wallet without requiring the 48 waiting period. This is in case a major vulnerability is discovered. + + + diff --git a/it/smart-contracts/api/vault.md b/it/smart-contracts/api/vault.md new file mode 100644 index 000000000..6fae78ac7 --- /dev/null +++ b/it/smart-contracts/api/vault.md @@ -0,0 +1,184 @@ +--- +description: >- + Il vault è il contratto principale del protocollo. Il vault è responsabile del conio / riscatto dei token OUSD, del ribilanciamento dei fondi tra le varie strategie supportate e della liquidazione dei token ricompensa. +--- + +# Vault + +## Units + +All OUSD amounts passed or returned by the Vault methods use 18 decimal places. For example, 1 OUSD is expressed as 1000000000000000000. + +For other stable coins, the number of decimal places varies. DAI uses 18 decimal places while USDC and USDT use only 6. + +The protocol was updated in November are [currently underway](https://github.com/OriginProtocol/origin-dollar/issues/590) to increase the resolution of rebasing calculations from 18 decimals to 27 decimals. The OUSD token itself will still retain 18 decimals of precision and user balances should not change. + +## Methods‌ + +### mint() + +**`function mint(address _asset, uint256 _amount, uint256 _minimumOusdAmount)`**‌ + +Mints OUSD in exchange for a deposit of a certain `_amount` of stablecoin specified by the `_asset` parameter. The caller receives a certain amount of OUSD depending on the **exchange rate**. + +| Nome del Parametro | Tipo | Descrizione | +| --------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | +| \_asset | address | Address of the [supported](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/core-concepts/supported-assets) stablecoin | +| \_amount | uint256 | Amount deposited, expressed in decimal units | +| \_minimumOusdAmount | uint256 | Minimum amount of OUSD the caller is willing to receive. The call to mint() reverts if the minimum is not met. | + +### mintMultiple() + +**`function mintMultiple(address[] _assets, uint256[] _amounts, uint256 _minimumOusdAmount)`**‌ + +Mints OUSD in exchange for a deposit of multiple stablecoins in a single call. Stablecoins are specified by the `_assets` array parameter and the amounts by the `_amounts` array parameter. The caller receives a certain amount of OUSD depending on the **exchange rate**. + +| Nome del parametro | Tipo | Descrizione | +| --------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| \_assets | address\[] | Addresses of the [supported](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/core-concepts/supported-assets) stablecoins | +| \_amounts | uint256\[] | Amounts deposited, expressed in decimal units | +| \_minimumOusdAmount | uint256 | Minimum amount of OUSD the caller is willing to receive. The call to mint() reverts if the minimum is not met. | + +{% hint style="warning" %} +On redemptions, it is the protocol and not the user that decides which stablecoin(s) are returned to the user. This decision of which coin(s) to return is based on the internal ratios of the assets that are being held in the vault.‌ +{% endhint %} + +### redeem() + +**`function redeem(uint256 _amount)`**‌ + +OUSD specified by the `_amount` parameter is redeemed in exchange for one or multiple supported stablecoins. Amount of stablecoins received depends on the **exchange rate**. + +| Nome del Parametro | Tipo | Descrizione | +| ------------------ | ------- | ------------------------------------------- | +| \_amount | uint256 | quantità di OUSD espressa in unità decimali | + +### redeemAll()‌ + +**`function redeemAll()`**‌ + +All OUSD in user's possession is redeemed in exchange for one or multiple supported stablecoins. Amount of stablecoins received depends on the **exchange rate**. + +### rebase() + +**`function rebase()`**‌ + +Updates the balances for all users based on the value of the assets currently stored in the vault. Returns total value of the underlying assets and strategies represented by `uint256` type.‌ + +### allocate() + +**`function allocate()`**‌ + +Moves the assets under management into their prescribed [Stategies](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/architecture/strategies) to maximize yield and diversify risk.‌ + +### totalValue() + +**`function totalValue()`**‌ + +Returns total value of underlying assets and strategies. + +| nome in `return` | Tipo | Descrizione | +| ---------------- | ------- | -------------------------------------------------------- | +| value | uint256 | valore totale degli asset e delle strategie sottostanti. | + +### checkBalance() + +**`function checkBalance(address _asset)`**‌ + +Returns the balance of an asset specified by the`_asset` parameter held in Vault and all strategies represented by `uint256` type. + +| Nome del parametro | Tipo | Descrizione | +| ------------------ | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | +| \_asset | address | Address of the [supported](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/core-concepts/supported-assets) stablecoin | + +### calculateRedeemOutputs() + +**`function calculateRedeemOutputs(uint256 _amount)`**‌ + +Calculate the mix of stablecoins that a `redeem` function would return when redeeming certain amount of OUSD specified by the `_amount` parameter. Returns an array of stablecoin values. + +To attribute the stablecoin values to the correct stablecoin currency this call should be used in conjunction with `getAllAssets` function that returns an array of stablecoin addresses. + +The index of an array that is returned by the `calculateRedeemOutputs` corresponds to the stablecoin address with the same index in an array returned by the `getAllAssets` function. + +| Nome del parametro | Tipo | Descrizione | +| ------------------ | ------- | ------------------------------------------- | +| \_amount | uint256 | quantità di OUSD espressa in unità decimali | + +| nome in `return` | Tipo | Descrizione | +| ---------------- | ----------- | -------------------------------------------------------------------- | +| outputs | uint256\[] | array con il numero di stablecoin restituito dalla funzione `redeem` | + +### getAssetCount() + +**`function getAssetCount()`**‌ + +Return the number of supported stablecoin assets represented by `uint256` type.‌ + +### getAllAssets() + +**`function getAllAssets()`**‌ + +Return all assets addresses of supported stablecoin assets in order represented by `uint256` type.‌ + +### getStrategyCount()‌ + +**`function getStrategyCount()`**‌ + +Return the number of strategies active on the Vault represented by `uint256` type.‌ + +### getAPR() + +**`function getAPR()`**‌ + +Return the total annual percentage yield (APR) of the Vault and all Strategies represented by `uint256` type. Resulting number has 18 decimal places.‌ + +### isSupportedAsset() + +**`function isSupportedAsset(address _asset)`**‌ + +Return the boolean that is true if the asset specified by the `_asset` parameter is supported by the Vault. + +| Nome del Parametro | Tipo | Descrizione | +| ------------------ | ------- | -------------------------- | +| \_asset | address | Indirizzo della stablecoin | + +### priceUSDMint() + +**`function priceUSDMint(string symbol)`**‌‌ + +Returns the exchange rate price of a stable coin specified by the `symbol` parameters used when minting OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Nome del Parametro | Tipo | Descrizione | +| ------------------ | ------ | ------------------------ | +| symbol | string | Simbolo della stablecoin | + +### priceUSDRedeem() + +**`function priceUSDRedeem(string symbol)`**‌‌ + +Returns the exchange rate price of a stable coin specified by the `symbol` parameters used when redeeming OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Nome del Parametro | Tipo | Descrizione | +| ------------------ | ------ | ------------------------ | +| symbol | string | Simbolo della stablecoin | + +### priceAssetUSDMint()‌ + +**`function priceAssetUSDMint(address _asset)`**‌‌ + +Returns the exchange rate price of a stable coin specified by the `_asset` parameters used when minting OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Nome del Parametro | Tipo | Descrizione | +| ------------------ | ------- | --------------------------- | +| \_asset | address | Indirizzo della stablecoin‌ | + +### priceAssetUSDRedeem()‌ + +**`function priceAssetUSDRedeem(address _asset)`**‌‌‌ + +Returns the exchange rate price of a stable coin specified by the `_asset` parameters used when redeeming OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Nome del Parametro | Tipo | Descrizione | +| ------------------ | ------- | -------------------------- | +| \_asset | address | Indirizzo della stablecoin | diff --git a/it/smart-contracts/architecture.md b/it/smart-contracts/architecture.md new file mode 100644 index 000000000..c671cec28 --- /dev/null +++ b/it/smart-contracts/architecture.md @@ -0,0 +1,18 @@ +# Architettura + +![](../.gitbook/assets/ousd\_docs\_graphics\_3.png) + +OUSD è costituito da una serie di smart contract. Ciascuno di questi contratti è racchiuso in un contratto proxy che può essere migliorato tramite i protocolli di governance. + +Internamente, la proprietà del vault è monitorata attraverso un sistema a crediti, i quali rappresentano la percentuale di proprietà del vault posseduta da ciascun holder. Il contratto [ERC-20](api/erc-20-1.md) gestisce la conversione in USD quando si visualizza un saldo o si inizia un trasferimento tra wallet. + +Il [Vault](api/vault.md) è responsabile della coniazione (minting) e della distruzione (burning) degli OUSD. Inoltre, applica la percentuale di risorse che sono rilasciate in ciascuna delle [Strategies](../core-concepts/supported-strategies/) supportate. To optimize gas costs, the vault may maintain a buffer to allow most deposits and redemptions to occur without winding/unwinding assets from strategies. + +The Flipper is a smart contract for users to swap in and out of OUSD cheaply for any of DAI, USDC, or USDT at a fixed 1:1 rate. This contract is used as an alternative way to route user transactions originating from the web app. It's important to note that this contract may be empty on one side (e.g., contain 0 OUSD balance), and thus sometimes provides limited swap routes. While limited in functionality, Flipper uses around 45% less gas than Uniswap v3 due to its simplicity. + +The Harvester contract collects reward tokens earned by the strategies, sells them, and sends the resulting stablecoins to the Dripper to be released to the vault. Anyone can call the harvest and earn 1% of the resulting USDT for doing so. This creates a self-incentivizing system that operates at a known fixed cost. See our [incentivized-harvesting-guide.md](../guides/incentivized-harvesting-guide.md "mention") for details. + +The Dripper contract buffers aproximately one week of reward token sales proceeds and makes it avaiable at a smooth rate to the vault. This keeps OUSD yield from being extremely spiky when harvests come in. The rate is recalculated at least once per day and is the rate that it would take to distribute the current dripper holdings out over a one week period. + + + diff --git a/it/smart-contracts/erc-20.md b/it/smart-contracts/erc-20.md new file mode 100644 index 000000000..c3a21d407 --- /dev/null +++ b/it/smart-contracts/erc-20.md @@ -0,0 +1,12 @@ +# Architecture + +![](../.gitbook/assets/ousd_docs_graphics_3.png) + +OUSD is made up of a series of smart contracts. Each of these contracts is wrapped in a proxy contract that can be upgraded via the governance protocols. + +Internally, ownership in the pool is tracked using a credits system that represents the percent ownership of the pool for each holder. The [ERC-20](api/erc-20-1.md) contract handles the conversion to USD terms when viewing a balance or initiating a transfer between wallets. + +The [Vault](api/vault.md) is responsible for minting and burning OUSD. It also enforces the percentage of assets that are deployed to each of the supported [Strategies](../core-concepts/supported-strategies/). To optimize gas costs, the vault maintains a buffer to allow most deposits and redemptions to occur without winding/unwinding assets from strategies. + + + diff --git a/it/smart-contracts/registry.md b/it/smart-contracts/registry.md new file mode 100644 index 000000000..ad16bc84d --- /dev/null +++ b/it/smart-contracts/registry.md @@ -0,0 +1,156 @@ +# Registro + +Ecco il registro completo degli smart contract OUSD che sono stati distribuiti sulla mainnet di Ethereum. + +{% hint style="success" %} +The main ERC20 address for Origin Dollar (OUSD) is: \ +**0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +{% tabs %} +{% tab title="Core" %} +Well-known addresses (proxy wrappers): + + + +| Contratto | Indirizzo | ENS | +| --------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------- | +| OUSD | [0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86](https://etherscan.io/address/0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86) |

ousd.eth

origindollar.eth

| +| Vault | [0xE75D77B1865Ae93c7eaa3040B038D7aA7BC02F70](https://etherscan.io/address/0xe75d77b1865ae93c7eaa3040b038d7aa7bc02f70) | [originvault.eth](https://etherscan.io/address/originvault.eth) | + + + +Internal implementation contracts. The Vault is split into VaultAdmin and VaultCore to work around the maximum contract size limit on Ethereum: + + + +| Contratto | Indirizzo | +| ---------- | --------------------------------------------------------------------------------------------------------------------- | +| OUSD | [0x33db8d52d65F75E4cdDA1b02463760c9561A2aa1](https://etherscan.io/address/0x33db8d52d65F75E4cdDA1b02463760c9561A2aa1) | +| VaultAdmin | [0x3EB68D8f4992A0e34aA58cc3dF86A40814078cF6](https://etherscan.io/address/0x3EB68D8f4992A0e34aA58cc3dF86A40814078cF6) | +| VaultCore | [0x226de75867B2f785BA19600e2a7e6eFccD57157B](https://etherscan.io/address/0x226de75867B2f785BA19600e2a7e6eFccD57157B) | +{% endtab %} + +{% tab title="Strategies" %} +Well-known addresses (proxy wrappers): + + + +| Strategy | Address | Auto-Allocation | +| -------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------- | +| Aave | [0x5e3646A1Db86993f73E6b74A57D8640B69F7e259](https://etherscan.io/address/0x5e3646A1Db86993f73E6b74A57D8640B69F7e259) | Manual allocation | +| Compound | [0x9c459eeb3FA179a40329b81C1635525e9A0Ef094](https://etherscan.io/address/0x9c459eeb3FA179a40329b81C1635525e9A0Ef094) | 100% of USDC, USDT and DAI | +| Convex | [0xEA2Ef2e2E5A749D4A66b41Db9aD85a38Aa264cb3](https://etherscan.io/address/0xEA2Ef2e2E5A749D4A66b41Db9aD85a38Aa264cb3#code) | Manual allocation | + + + +Internal implementation contracts: + + + +| Strategy | Address | +| -------- | -------------------------------------------------------------------------------------------------------------------------- | +| Aave | [0xA050eBE34Be464902F7E0F7F451f4B5253d57114](https://etherscan.io/address/0xA050eBE34Be464902F7E0F7F451f4B5253d57114) | +| Compound | [0x47f3eb71b5507df5ab6ac7f8660ef282ab0e560f](https://etherscan.io/address/0x47f3eb71b5507dF5Ab6aC7F8660Ef282Ab0E560f) | +| Convex | [0x08f3a0637851aA1B0E0750aA3d46E0E356f349aC](https://etherscan.io/address/0x08f3a0637851aa1b0e0750aa3d46e0e356f349ac#code) | + + + +Yield harvesting and collection: + + + +| | | +| --------- | -------------------------------------------------------------------------------------------------------------------------- | +| Contract | Address | +| Harvester | [0x21fb5812d70b3396880d30e90d9e5c1202266c89](https://etherscan.io/address/0x21fb5812d70b3396880d30e90d9e5c1202266c89#code) | +| Dripper | [0x80c898ae5e56f888365e235ceb8cea3eb726cb58](https://etherscan.io/address/0x80c898ae5e56f888365e235ceb8cea3eb726cb58#code) | +{% endtab %} + +{% tab title="Oracles" %} +The following Chainlink oracles are used to protect the vault in case a backing stablecoin loses value. They also offer slippage protection when harvesting rewards tokens or executing the OGN buyback. + + + +| Pair | Contract | +| ------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| [USDT/USD](https://data.chain.link/ethereum/mainnet/stablecoins/usdt-usd) | [0x3E7d1eAB13ad0104d2750B8863b489D65364e32D](https://etherscan.io/address/0x3E7d1eAB13ad0104d2750B8863b489D65364e32D) | +| [USDC/USD](https://data.chain.link/ethereum/mainnet/stablecoins/usdc-usd) | [0x8fFfFfd4AfB6115b954Bd326cbe7B4BA576818f6](https://etherscan.io/address/0x8fFfFfd4AfB6115b954Bd326cbe7B4BA576818f6) | +| [DAI/USD](https://data.chain.link/ethereum/mainnet/stablecoins/dai-usd) | [0xAed0c38402a5d19df6E4c03F4E2DceD6e29c1ee9](https://etherscan.io/address/0xAed0c38402a5d19df6E4c03F4E2DceD6e29c1ee9) | +| [COMP/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/comp-usd) | [0xdbd020caef83efd542f4de03e3cf0c28a4428bd5](https://etherscan.io/address/0xdbd020caef83efd542f4de03e3cf0c28a4428bd5) | +| [AAVE/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/aave-usd) | [0x547a514d5e3769680Ce22B2361c10Ea13619e8a9](https://etherscan.io/address/0x547a514d5e3769680Ce22B2361c10Ea13619e8a9) | +| [CRV/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/crv-usd) | [0xcd627aa160a6fa45eb793d19ef54f5062f20f33f](https://etherscan.io/address/0xcd627aa160a6fa45eb793d19ef54f5062f20f33f) | +| [CVX/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/cvx-usd) | [0xd962fC30A72A84cE50161031391756Bf2876Af5D](https://etherscan.io/address/0xd962fC30A72A84cE50161031391756Bf2876Af5D) | +| [OGN/ETH](https://data.chain.link/ethereum/mainnet/crypto-eth/ogn-eth) | [0x2c881b6f3f6b5ff6c975813f87a4dad0b241c15b](https://etherscan.io/address/0x2c881b6f3f6b5ff6c975813f87a4dad0b241c15b) | +{% endtab %} + +{% tab title="Governance" %} + + +| Contract | Address | ENS | +| ------------------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------- | +| 5 of 8 Multisig | [0xbe2AB3d3d8F6a32b96414ebbd865dBD276d3d899](https://etherscan.io/address/0xbe2AB3d3d8F6a32b96414ebbd865dBD276d3d899) | [originprotocol.eth](https://etherscan.io/address/originprotocol.eth) | +| 2 of 9 Multisig | [0xF14BBdf064E3F67f51cd9BD646aE3716aD938FDC](https://etherscan.io/address/0xF14BBdf064E3F67f51cd9BD646aE3716aD938FDC) | [originstrategist.eth](https://etherscan.io/address/originstrategist.eth) | +| Governor / Timelock | [0x72426BA137DEC62657306b12B1E869d43FeC6eC7](https://etherscan.io/address/0x72426BA137DEC62657306b12B1E869d43FeC6eC7) |

origingovernor.eth

origintimelock.eth

| +| OGN Buyback | [0x77314EB392b2be47C014cde0706908b3307Ad6a9](https://etherscan.io/address/0x77314EB392b2be47C014cde0706908b3307Ad6a9) | [originbuyback.eth](https://etherscan.io/address/originbuyback.eth) | +{% endtab %} + +{% tab title="Stablecoins" %} +| Contract | Address | +| ------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| [USDT](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | [0xdac17f958d2ee523a2206206994597c13d831ec7](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | +| [USDC](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | [0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | +| [DAI](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | [0x6b175474e89094c44da98b954eedeac495271d0f](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | +{% endtab %} + +{% tab title="Staking" %} +| Contract | Address | ENS | +| ----------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- | +| OGN Staking | [0x501804B374EF06fa9C427476147ac09F1551B9A0](https://etherscan.io/address/0x501804B374EF06fa9C427476147ac09F1551B9A0) | [originstaking.eth](https://etherscan.io/address/originstaking.eth) | + + + +Internal implementation contracts: + + + +| Contract | Address | +| ----------- | --------------------------------------------------------------------------------------------------------------------- | +| OGN Staking | [0x8cd68a1e0b79150455c5498882d5d5d3df2dde08](https://etherscan.io/address/0x8cd68a1e0b79150455c5498882d5d5d3df2dde08) | + + + +OUSD compensation contract ([details](https://medium.com/originprotocol/origin-delivers-on-compensation-promise-claim-your-ousd-and-ogn-now-a9fa9b840476)): + + + +| Contract | Address | +| ----------------- | --------------------------------------------------------------------------------------------------------------------- | +| OUSD Compensation | [0x9C94df9d594BA1eb94430C006c269C314B1A8281](https://etherscan.io/address/0x9C94df9d594BA1eb94430C006c269C314B1A8281) | +{% endtab %} + +{% tab title="Flipper" %} +Flipper is a gas-optimized way for users to swap in and out of OUSD at a fixed 1:1 rate with other stablecoins. This contract may become empty on one side (e.g., contain 0 OUSD balance), and thus sometimes provides limited swap routes. + + + +| Contract | Address | ENS | +| -------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- | +| Flipper | [0xcecaD69d7D4Ed6D52eFcFA028aF8732F27e08F70](https://etherscan.io/address/0xcecaD69d7D4Ed6D52eFcFA028aF8732F27e08F70) | [originflipper.eth](https://etherscan.io/address/originflipper.eth) | +{% endtab %} + +{% tab title="Wrapped" %} +Wrapped OUSD\ +\ **Well known proxy address:** - [0xD2af830E8CBdFed6CC11Bab697bB25496ed6FA62](https://etherscan.io/address/0xD2af830E8CBdFed6CC11Bab697bB25496ed6FA62) + +Internal implementation address - [0xbf3b9b141cb3629f5bb8f721cba9265c92494539](https://etherscan.io/address/0xbf3b9b141cb3629f5bb8f721cba9265c92494539) +{% endtab %} +{% endtabs %} + + + + + + + + diff --git a/ja/README.md b/ja/README.md new file mode 100644 index 000000000..7c08388ed --- /dev/null +++ b/ja/README.md @@ -0,0 +1,29 @@ +--- +description: The first stablecoin that earns a yield while it's still in your wallet +--- + +# Introduction + +## **A Better Form of Money** + +Origin Dollar (OUSD) is a new stablecoin that was initially launched in September 2020 on the Ethereum network. Its design is superior to existing stablecoins because OUSD captures competitive yields while being passively held in wallets. + +![](.gitbook/assets/origin-dollar-summary.jpeg) + +**Background** + +In 1999, Yu Pan, Origin’s R\&D engineer, and his fellow PayPal co-founders [conceived](https://www.cnbc.com/2017/08/14/david-sacks-cryptocurrency-interview.html) of creating “the new world currency”, complete with interest yielding strategies and debit cards without having to connect to traditional banking systems. Several pivots and an eBay acquisition later, PayPal dropped its ambitions in this area. + +Almost two decades later, Tether introduced the concept of a USD-denominated stablecoin in 2014. Since then, stablecoins have proven themselves as an ideal way of transferring value without exposing users to the price volatility of free-floating currencies. Today, more value is [transferred via Tether](https://www.bloomberg.com/news/articles/2019-10-01/tether-not-bitcoin-likely-the-world-s-most-used-cryptocurrency) than with Bitcoin. Meanwhile, Decentralized Finance (DeFi) has experienced an explosion of growth with [billions of dollars](https://defipulse.com) of capital now locked up in smart contracts that generate yields from lending and trading protocols. + +One of the problems with existing stablecoins is that users have to constantly choose between holding an easily spendable coin and earning yields by locking their tokens up in smart contracts. For example, users that lock up USDC in Aave cannot spend a portion of that USDC simultaneously. Expensive Ethereum gas fees serve as "switching costs" each time those users want to switch between spending mode and earning mode. + +To make matters worse, yields from lending and trading activities change rapidly. Sophisticated DeFi yield earners are familiar with constantly having to rebalance their portfolio of assets across many competing platforms. This is time-consuming and expensive as gas fees once again eat into yields. In addition, it is time-consuming to calculate real ROI as APYs are unstable and constantly fluctuating. There isn't an easy unit of account. As a result, while DeFi is growing extremely rapidly, it still makes it difficult for many cryptocurrency users to participate. + +With OUSD, there’s no need to unwind complicated positions when you want to spend your OUSD. You can transfer it freely without having to pay gas to unlock spendable capital. In addition, OUSD gives you access to some of the highest-earning opportunities across DeFi with none of the hassles. The OUSD smart contract will deploy your underlying capital to a diversified set of yield-earning strategies, rebalancing over time to achieve great yields while diversifying risk. Earnings automatically accrue in your wallet and compound continuously while you hold OUSD. Again, no staking or lockups are required. OUSD also serves as an ideal unit of account. DeFi investors no longer need complicated spreadsheets to calculate their earnings as they can easily see their constantly updated OUSD balances in real-time as their interest compounds automatically. OUSD is an ideal stablecoin for DeFi yield farmers and novice cryptocurrency users alike. + +Created by cryptocurrency and fintech veterans, the Origin Dollar is brought to you by the [team](https://www.originprotocol.com/team) at [Origin Protocol](https://www.originprotocol.com) that includes serial entrepreneurs, early cryptocurrency investors, early employees at YouTube, engineering managers at Google/Dropbox, and one of the Paypal co-founders, Yu Pan. + +For those interested in diving into the technical details of how it works, these docs are a great place to start. We encourage developers to audit and contribute to our [Github](http://www.github.com/OriginProtocol) (100% open-source). Our team hangs out in [Discord](https://www.originprotocol.com/discord) if you have questions or need help getting started. + +Welcome to the future of money. diff --git a/ja/SUMMARY.md b/ja/SUMMARY.md new file mode 100644 index 000000000..a389e6c18 --- /dev/null +++ b/ja/SUMMARY.md @@ -0,0 +1,64 @@ +# Table of contents + +* [Introducing OUSD](README.md) +* [How It Works](how-it-works.md) +* [Getting Started](getting-started.md) +* [Analytics Dashboard](analytics-dashboard.md) +* [FAQ](faq.md) + +## Core Concepts + +* [Elastic Supply](core-concepts/elastic-supply/README.md) + * [Rebasing & Smart Contracts](core-concepts/elastic-supply/rebasing-and-smart-contracts.md) +* [Yield Generation](core-concepts/yield-generation/README.md) + * [Lending](core-concepts/yield-generation/lending.md) + * [Market Making](core-concepts/yield-generation/market-making.md) + * [Rewards](core-concepts/yield-generation/rewards.md) +* [Wrapped OUSD](core-concepts/wrapped-ousd.md) +* [Supported Stablecoins](core-concepts/supported-stablecoins/README.md) + * [USDT](core-concepts/supported-stablecoins/usdt.md) + * [USDC](core-concepts/supported-stablecoins/usdc.md) + * [DAI](core-concepts/supported-stablecoins/dai.md) +* [Supported Strategies](core-concepts/supported-strategies/README.md) + * [Compound](core-concepts/supported-strategies/compound.md) + * [Aave](core-concepts/supported-strategies/aave.md) + * [Curve](core-concepts/supported-strategies/curve.md) + * [Convex](core-concepts/supported-strategies/convex.md) +* [Fund Management](core-concepts/fund-management.md) +* [Price Oracles](core-concepts/price-oracles.md) + +## Governance + +* [Principles](governance/principles.md) +* [Admin Privileges](governance/admin-privileges.md) +* [OGN Staking](governance/ogn-staking.md) +* [Contributing](governance/contributing.md) +* [Vote Delegation](governance/vote-delegation.md) + +## Smart Contracts + +* [Architecture](smart-contracts/architecture.md) +* [Registry](smart-contracts/registry.md) +* [API](smart-contracts/api/README.md) + * [Vault](smart-contracts/api/vault.md) + * [ERC-20](smart-contracts/api/erc-20-1.md) + * [Timelock](smart-contracts/api/timelock.md) + * [Strategies](smart-contracts/api/strategies.md) + +## Security & Risks + +* [Risks](security-and-risks/risks.md) +* [Audits](security-and-risks/audits.md) +* [Insurance](security-and-risks/insurance.md) +* [Bug Bounties](security-and-risks/bug-bounties.md) + +## Guides + +* [Integration Guide For Exchanges](guides/integration-guide-for-exchanges.md) +* [Incentivized Harvesting Guide](guides/incentivized-harvesting-guide.md) + +## Links + +* [Github](https://www.github.com/originprotocol/origin-dollar) +* [Discord](https://www.originprotocol.com/discord) +* [originprotocol.com](https://www.originprotocol.com) diff --git a/ja/analytics-dashboard.md b/ja/analytics-dashboard.md new file mode 100644 index 000000000..9c3e6a577 --- /dev/null +++ b/ja/analytics-dashboard.md @@ -0,0 +1,31 @@ +# Analytics Dashboard + +{% hint style="info" %} +Visit [analytics.ousd.com](https://analytics.ousd.com) to see how funds are allocated, view historical performance data, and track your personal gains. +{% endhint %} + +The [APY dashboard](https://analytics.ousd.com/apy) is primarily intended for consumption by our engineering team, but we went ahead and deployed it since our ethos is "public by default" and everything that we do is [open-source](http://github.com/OriginProtocol). Unfortunately, that often means erring on the side of transparency and not necessarily the side of taking the time to explain things clearly. + +Before diving into the yield calculation, it's important to understand how OUSD works both in terms of [yield generation](https://docs.ousd.com/core-concepts/yield-generation) and [rebasing](https://docs.ousd.com/core-concepts/elastic-supply). You can read all about that in these [docs](https://docs.ousd.com), including [the part about smart contracts being excluded from yield](https://docs.ousd.com/core-concepts/elastic-supply/rebasing-and-smart-contracts). + +To summarize how APY is calculated, it's the annualized rate of change in OUSD's internal accounting of users' balances between two points in time. To understand that, let's break down the columns in the historical APY table (in reverse order). + +**Ratio** + +There are two types of OUSD balances: rebasing (most accounts) and non-rebasing (smart contracts that have not opted in). The OUSD token contract maintains a separate internal accounting for each type of balance using what it calls "credits". The ratio shown here is the rebasing supply of OUSD divided by the rebasing credits, which gives us the exchange rate between the two. + +**Credits** + +Some smart contracts holding OUSD have unique credit balances because their rebasing status has changed at some point in the past (by opting in or out). Here we show the sum of all rebasing credits and non-rebasing credits. When multiplied by the ratio, it gives the difference between backing supply and non-rebasing supply. + +**Non-rebasing** + +This is the portion of supply held in other smart contracts that have not opted in to rebasing. When added to (credits \* ratio), this equals backing supply. Note also that the **%** column shows the percentage of OUSD that is non-rebasing. + +**Boost** + +The APY is effectively "boosted" for rebasing accounts thanks to the fact that some OUSD is non-rebasing. Think about all of the stablecoins that were used as collateral to mint the non-rebasing OUSD. Those stablecoins are still earning through our yield farming strategies, but the gains are accruing only to the rebasing accounts. The result is that the effective APY is higher than it would be without this mechanism. The boost is the measure of this difference. If boost is 100%, then regular OUSD holders are enjoying double the APY that they otherwise would. + +**APR/APY calculation** + +Bringing this full circle, we currently measure yield by measuring the change in the [rebasing credits per token](https://github.com/OriginProtocol/origin-dollar/blob/master/contracts/contracts/token/OUSD.sol#L45) between two points in time. But there are a few other considerations to note. First, we have to make an assumption about how many Ethereum blocks are mined on an average day. We use a [fixed 6,500](https://github.com/OriginProtocol/ousd-analytics/blob/master/eagleproject/core/views.py#L43), but the actual number of blocks per day is variable. Second, we need a reasonable time horizon to measure. We focus on 30 days, which has proven to be a relatively consistent window of time during which a complete sample of yield-generating activities has occurred. Third, we convert APR into APY by assuming [constant daily compounding](https://github.com/OriginProtocol/ousd-analytics/blob/master/eagleproject/core/views.py#L449-L451). In other words, yield is constantly being reinvested into the same strategies. Finally, there is one notable drawback to using the rebase ratio to measure yield. Since rebase events currently occur sporadically (and not very frequently in a world of high gas prices), the APY won't reflect earnings that have not yet been translated to account balances. For example, there could be an interest rate spike in Compound or a volume spike in the Curve 3pool strategy, which would cause OUSD to earn more than it does on an average day. Until [the rebase method](https://github.com/OriginProtocol/origin-dollar/blob/master/contracts/contracts/vault/VaultCore.sol#L365-L370) gets called, the APY will underreport these earnings. In fact, anyone who sells OUSD during that time would be missing out on the "[next rebase](https://analytics.ousd.com)". The good news is that you should be able to observe the change in your balance over one week and it (annualized) should approximately equal our advertised APY. diff --git a/ja/architecture/erc-20-1.md b/ja/architecture/erc-20-1.md new file mode 100644 index 000000000..a9caff400 --- /dev/null +++ b/ja/architecture/erc-20-1.md @@ -0,0 +1,19 @@ +# ERC-20 + +{% hint style="success" %} +The main ERC20 address for Origin Dollar \(OUSD\) is: +**0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +OUSD is an ERC-20 compliant token with one novel property that is important to understand. + +{% hint style="warning" %} +Wallets and exchanges that wish to integrate OUSD should not cache token balances for OUSD as this value will change frequently as yield is accrued to token holders. +{% endhint %} + +The biggest difference separating OUSD from your average ERC-20 token is the way OUSD's`balanceOf()` function will return a variable amount based on the total value of the pool multiplied by the holder's stake in the pool. This difference is vital to understand, particularly for wallets and exchanges that wish to integrate the OUSD token. This value should be fetched in real-time instead of being cached since OUSD rebases frequently. + + + + + diff --git a/ja/architecture/erc-20.md b/ja/architecture/erc-20.md new file mode 100644 index 000000000..9a789241b --- /dev/null +++ b/ja/architecture/erc-20.md @@ -0,0 +1,12 @@ +# Overview + +![](../.gitbook/assets/ousd_docs_graphics_3.png) + +OUSD is made up of a series of smart contracts. Each of these contracts is wrapped in a proxy contract that can be upgraded via the governance protocols. + +Internally, ownership in the pool is tracked using a credits system that represents the percent ownership of the pool for each holder. The ERC-20 contract handles the conversion to USD terms when viewing a balance or initiating a transfer between wallets. + +The Vault is responsible for minting and burning OUSD. It also enforces the percentage of assets that are deployed to each of the supported [Strategies](../core-concepts/supported-strategies/). To optimize gas costs, the vault maintains a buffer to allow most deposits and redemptions to occur without winding/unwinding assets from strategies. + + + diff --git a/ja/architecture/strategies.md b/ja/architecture/strategies.md new file mode 100644 index 000000000..3133d5b03 --- /dev/null +++ b/ja/architecture/strategies.md @@ -0,0 +1,14 @@ +# Strategies + +New strategies can be added or removed at any time to respond to new market realities and diversify risk. + +At launch, OUSD will take advantage of a single strategy and deploy deposited capital to Compound. We intend to deploy many other strategies soon thereafter. + +Once we migrate to decentralized governance, it is our intent for the community to propose new strategies and to vote on the appropriate weight for each strategy in the pool. We anticipate that most OUSD holders will value having some exposure to higher yield opportunities while maintaining more conservative positions for a portion of the funds. + + + + + + + diff --git a/ja/architecture/timelock.md b/ja/architecture/timelock.md new file mode 100644 index 000000000..b26b30f1c --- /dev/null +++ b/ja/architecture/timelock.md @@ -0,0 +1,22 @@ +# Timelock + +{% hint style="danger" %} +The timelock will be added soon after everything is verified as working. Until then, the contracts will be governed by Origin's 5 of 8 multi-sig. This allows for a faster response if any critical issues are discovered. +{% endhint %} + +The timelock contract enforces a 48 hour wait period before any changes to the OUSD contracts can be executed. The timelock can be called by our multi-sig and is the owner of our [ERC-20](erc-20.md), [Vault](vault.md), and [Strategies](strategies.md) contracts. Time-delaying admin actions gives users a chance to exit OUSD if its admins become malicious, are compromised, or make a change that the users do not like. + +{% hint style="info" %} +The timelock is a safety measure that gives OUSD holders 48 hours to withdraw their funds if they have objections to any proposed upgrades to the protocol. +{% endhint %} + +OUSD is using a slightly modified version of the [Compound Timelock](https://compound.finance/docs/governance) which has been [audited by OpenZeppelin](https://blog.openzeppelin.com/compound-finance-patch-audit/). The 3 notable differences are: + +1. OUSD will initially use a shorter wait period \(48 hours\) than Compound \(72 hours\) to allow for a faster response if any issues are discovered. +2. Once the 48 hours have passed, anyone is free to execute the call, not just the owner of the contract. +3. Deposits \(but not withdrawals or transfers\) can be immediately frozen without requiring the 48 waiting period. This is in case a major vulnerability is discovered. + + + + + diff --git a/ja/architecture/vault.md b/ja/architecture/vault.md new file mode 100644 index 000000000..ebb2a96dc --- /dev/null +++ b/ja/architecture/vault.md @@ -0,0 +1,17 @@ +# Vault + +The vault is at the core of the protocol. The vault is responsible for minting/redeeming OUSD tokens, rebalancing funds between the various supported strategies, and liquidating rewards tokens. + +The most important publicly callable functions on the Vault are: + +* `mint()`allows a single supported stablecoin to be converted to OUSD +* `mintMultiple()`allows multiple supported stablecoins to be converted to OUSD in a single call +* `redeem()`allows a specified amount of OUSD to be redeemed for other supported stablecoins. +* `redeemAll()`allows a user to redeem their entire balance of OUSD for other supported stablecoins. This is particularly useful since user balances are constantly growing as yield is accrued. +* `rebase()`updates the balances for all users based on the value of the assets currently stored in the pool. +* `allocate()`moves the assets under management into their prescribed [Stategies](strategies.md) to maximize yield and diversify risk. + +On redemptions, it is the protocol and not the user that decides which stablecoin\(s\) to return to the user. This decision of which coin\(s\) to return is based on the internal ratios of the assets that are being held in the pool. + + + diff --git a/ja/core-concepts/elastic-supply.md b/ja/core-concepts/elastic-supply.md new file mode 100644 index 000000000..2cf0fd8ae --- /dev/null +++ b/ja/core-concepts/elastic-supply.md @@ -0,0 +1,18 @@ +# Elastic Supply + +**Elastic Supply. Stable Price.** + +OUSD works differently than most tokens. Instead of the price increasing as the value of the assets under management increase \(as with Compound cTokens or Yearn yTokens\), the value of one OUSD remains constant at approximately $1. Instead, the contracts constantly adjust the monetary supply and automatically updates the balance in every token holder’s wallet to reflect the yield that has been earned by the protocol. + +{% hint style="info" %} +Think of it as interest accruing in your bank account. The unit of account and value for the US dollar doesn’t change. You just get more US dollars over time as you earn interest. +{% endhint %} + +![](../.gitbook/assets/ousd_docs_graphics_4.png) + +This mechanism was inspired by the novel approach taken by [Ampleforth](https://www.ampleforth.org/), but there are some key differences that are worth highlighting: + +1. OUSD is 100% backed by other stablecoins and will not have the same challenge maintaining the peg to the dollar. Given the ease of minting and redeeming OUSD, we can count on arbitrageurs to ensure the peg is maintained. +2. OUSD rebasing should only increase supply since the amount of OUSD minted is tied to the realized gains earned by the underlying strategies. Your principal is protected as long as nothing goes wrong with the underlying lending/AMM and stablecoin protocols. Any decrease in your balance would be an indication of trouble in the system. +3. Unlike Ampleforth, which rebases once a day, the monetary supply of OUSD is constantly being updated in real-time as yield is generated. + diff --git a/ja/core-concepts/elastic-supply/README.md b/ja/core-concepts/elastic-supply/README.md new file mode 100644 index 000000000..a681d0615 --- /dev/null +++ b/ja/core-concepts/elastic-supply/README.md @@ -0,0 +1,21 @@ +# Elastic Supply + +**Elastic Supply. Stable Price.** + +OUSD works differently than most tokens. Instead of the price increasing as the value of the assets under management increase (as with Compound cTokens or Yearn yTokens), the value of one OUSD remains constant at approximately $1. Instead, the contracts constantly adjust the monetary supply and automatically updates the balance in every token holder’s wallet to reflect the yield that has been earned by the protocol. + +{% hint style="info" %} +Think of it as interest accruing in your bank account. The unit of account and value for the US dollar doesn’t change. You just get more US dollars over time as you earn interest. +{% endhint %} + +![](../../.gitbook/assets/ousd\_docs\_graphics\_4.png) + +This mechanism was inspired by the novel approach taken by [Ampleforth](https://www.ampleforth.org), but there are some key differences that are worth highlighting: + +1. OUSD is 100% backed by other stablecoins and does not have the same challenge maintaining the peg to the dollar. Given the ease of minting and redeeming OUSD, we can count on arbitrageurs to ensure the peg is maintained. +2. OUSD rebasing will only increase supply since the amount of OUSD minted is tied to the realized gains earned by the underlying strategies. Your principal is protected as long as nothing goes wrong with the underlying lending/AMM and stablecoin protocols. Your OUSD balance will never decrease, but the value could drop if there's a failure in the underlying systems. +3. Unlike Ampleforth, which only rebases once a day, the monetary supply of OUSD is constantly being updated in real-time as yield is generated. Rebases are triggered regularly as users interact with the OUSD contracts. Chainlink Keepers ensure at least one rebase occurs every day. + +**Manually triggering a rebase** + +Anyone can trigger a rebase at any time by [calling the rebase function on the vault](https://etherscan.io/address/originvault.eth#writeProxyContract). You can do this on Etherscan by connecting a web3 wallet. diff --git a/ja/core-concepts/elastic-supply/rebasing-and-smart-contracts.md b/ja/core-concepts/elastic-supply/rebasing-and-smart-contracts.md new file mode 100644 index 000000000..cdebbc4bf --- /dev/null +++ b/ja/core-concepts/elastic-supply/rebasing-and-smart-contracts.md @@ -0,0 +1,22 @@ +# Rebasing & Smart Contracts + +If you are using a multi-sig wallet or another smart contract that wishes to participate in the rebasing aspect of OUSD you must call OUSD’s`rebaseOptIn()` function. This only applies to smart contracts as standard EOA wallets are enrolled automatically. + +{% hint style="info" %} +Multi-sig wallets or other smart contracts must call`rebaseOptIn()`to earn yield. +{% endhint %} + +By default, OUSD that is held on smart contracts will not participate in the rebasing nature of the token and will forfeit any yield unless the smart contract explicitly opts-in. This increases the composability of OUSD within DeFi as many protocols weren't designed with the expectation that balances might change. To other DeFi protocols, OUSD works just like any other normal, well-behaved ERC-20 until you ask it to change. This is a particularly useful attribute for automated market makers (AMM’s) like Uniswap which break when the number of tokens they are holding changes unexpectedly. + +![The Gnosis Safe OUSD app will prompt you to opt in to yield](../../.gitbook/assets/ousd-app-in-gnosis-safe.png) + +Smart contracts must explicitly opt-in to receiving yield via the rebasing mechanism. This fixes the issue with the expanding supply on AMM’s while still allowing multi-sig wallets and other smart contracts the opportunity to still participate and earn yield. + +{% hint style="warning" %} +If you are deploying a contract and intend to call`rebaseOptIn()`to earn yield you cannot call it from the contract's constructor. The contract must be deployed before it can be called. +{% endhint %} + +[Gnosis Safe](https://gnosis-safe.io) users are encouraged to use the Origin Dollar app which will prompt you to opt in to receiving yield. If you are using the "Old" [Gnosis Wallet](https://github.com/gnosis/MultiSigWallet) or another contract-based wallet, you will need the [proxy contract address for OUSD](../../smart-contracts/registry.md) and the corresponding [ABI](https://api.etherscan.io/api?module=contract\&action=getabi\&address=0x1ae95dd4eeae7ed03da79856c2d44ffa3318f805). Once you add those, you will be able to call the `rebaseOptIn()` function to opt into receiving yield via rebasing or`rebaseOptOut()` to turn it off again. + + + diff --git a/ja/core-concepts/fund-management.md b/ja/core-concepts/fund-management.md new file mode 100644 index 000000000..d6b1920c5 --- /dev/null +++ b/ja/core-concepts/fund-management.md @@ -0,0 +1,23 @@ +# Fund Management + +The OUSD smart contract aggregates all users' stablecoin deposits into a single pool of assets that are then deployed into earning strategies based on preset allocations. In contrast to Yearn Vaults, TokenSets, or Zapper opportunities, users do not select individual strategies. All deposited stablecoins and consequently all OUSD tokens are fungible. + +The weighting of how assets are distributed between the supported strategies is decided by OGN holders using weekly snapshot voting. These votes happen offchain and do not cost any gas. The results of the weekly poll will then be executed onchain by members of the [Strategist multi-sig](https://etherscan.io/address/0xF14BBdf064E3F67f51cd9BD646aE3716aD938FDC) (known as "Strategists"). + +Ultimately, we believe it should be up to the community to decide what the right balance of risk/reward is appropriate for OUSD. We encourage the community to favor high-yield strategies while still maintaining diversification across multiple strategies to remove single points of failure and minimize risk. + +**How strategy allocation voting works:** + +* New snapshot proposals will open for voting on the [OGN governance portal ](http://vote.originprotocol.com)at midnight Tuesday UTC (7pm eastern Monday). The poll will be open for 48 hours, ending at midnight Thursday UTC (7pm eastern on Wednesday). +* During this time, those interested can discuss allocation changes in a thread in the #governance channel on [Origin's Discord](https://www.originprotocol.com/discord). +* Each proposal will use "weighted voting", with options for each coin/strategy combination and an option to keep the existing allocation unchanged. OGN holders can spread their votes among different listed strategies or the existing allocation. +* After the voting time has ended, Strategists will submit, verify, and execute transactions to change OUSD to the determined allocation percentages for the week. If more than 50% of the weighted votes are cast for the existing allocation, Strategists will take no action. +* Allocations will be executed for strategies that use all stablecoins first (like Convex), then each stablecoin will be allocated to the remaining strategies according to the ratio of votes for that stablecoin / strategy combination. +* If the Strategists deem any of the allocations unsafe to the funds behind OUSD, they may choose to not execute those. In addition, Strategists may decline to execute minor adjustments where the gas costs would be greater than the expected benefits. +* Like all governance proposals, Strategist allocations must meet the minimum quorum requirements (currently 1M OGN) to be considered valid. +* From a security standpoint, it is important to know that while Strategists have the ability to move funds between approved strategies or instantly pause rebasing in the case of an emergency, Strategists do not have the power to add new strategies or withdraw funds without going through the timelock. Community members can use the Strategy Validator tools to more easily [create](https://analytics.ousd.com/strategist/creator) and [decode](https://analytics.ousd.com/strategist) which actions are being performed by the Strategists. +* When voting, please remember it is inefficient to move in and out of the Convex strategy frequently and some funds need to always remain outside of Convex in order to accommodate withdrawals. + + + +**** diff --git a/ja/core-concepts/fund-management/README.md b/ja/core-concepts/fund-management/README.md new file mode 100644 index 000000000..4f6287602 --- /dev/null +++ b/ja/core-concepts/fund-management/README.md @@ -0,0 +1,6 @@ +# Fund Management + +The OUSD smart contract aggregates all users' stablecoin deposits into a single pool of investable assets. Funds are then allocated across one or more [earning strategies](earning-strategies.md) at any given moment in time. The Vault favors high-yield strategies but also seeks to maintain diversification across multiple strategies. Diversification removes single points of failures and mitigates risks. + +In contrast to Yearn Vaults, TokenSets, or Zapper opportunities, users do not select individual strategies. All deposited stablecoins and consequently all OUSD tokens are fungible. + diff --git a/ja/core-concepts/fund-management/diversification.md b/ja/core-concepts/fund-management/diversification.md new file mode 100644 index 000000000..3d98a522e --- /dev/null +++ b/ja/core-concepts/fund-management/diversification.md @@ -0,0 +1,8 @@ +# Diversification + +The initial version of the OUSD Vault smart contract gives each valid strategy a simple weight between 0% and 100% to perform simple asset allocation. These weights will be shifted often via updates by Origin in the short-term and by decentralized governance in the long-term. + +Diversification across multiple underlying DeFi [platforms](../supported-strategies/) will reduce smart contract and other systemic risks. The smart contract will calculate current and expected APYs in an effort to provide competitive returns to OUSD holders. Over time, the Vault contract will be upgraded to intelligently and autonomously shift between strategies without any manual intervention. For example, the Vault will automatically shift capital between various lending strategies to optimize for yields. + +However, it is still expected that certain risk parameters or decisions on whether certain strategies will be included in the automated decision-making engine will be made through governance votes. + diff --git a/ja/core-concepts/fund-management/earning-strategies.md b/ja/core-concepts/fund-management/earning-strategies.md new file mode 100644 index 000000000..0fb0111e4 --- /dev/null +++ b/ja/core-concepts/fund-management/earning-strategies.md @@ -0,0 +1,6 @@ +# Earning Strategies + +Earning strategies put deployed capital to work across various DeFi platforms. The Vault will determine which strategies are active and what percentage of deployed capital they will receive. + +In addition, strategies will be upgraded over time. For example, at launch, there will be an initial [Compound strategy](../supported-strategies/compound.md). Over time, this may be replaced by a v2 or v3 Compound strategy. + diff --git a/ja/core-concepts/price-oracles.md b/ja/core-concepts/price-oracles.md new file mode 100644 index 000000000..1b08c685f --- /dev/null +++ b/ja/core-concepts/price-oracles.md @@ -0,0 +1,38 @@ +- - - +description: OUSD uses Chainlink to secure the protocol from pricing attacks +- - - + +# Price Oracles + +### Stablecoin Pricing + +OUSD is designed to stay pegged at 1 USD and be 1:1 backed with its underlying stablecoins. This is trickier than it sounds because these underlying stablecoins are constantly deviating from their own desired 1 USD pegs. While the majority of daily fluctuations are minor, there have been major swings in price that have occurred in the past and are likely to occur again in the future. + +| Coin | **Low** | **High** | **Delta** | **Source** | +| ---- | ---------------------------------------------------- | ---------------------------------------------------- | --------- | --------------------------------------------------------------------------- | +| USDC |

$0.929222

Mar 13, 2020

|

$1.11

Oct 15, 2018

| $0.180778 | [CoinMarketCap](https://coinmarketcap.com/currencies/usd-coin/) | +| USDC |

$0.924188

Aug 02, 2020

|

$1.17

May 08, 2019

| $0.245812 | [CoinGecko](https://www.coingecko.com/en/coins/usd-coin) | +| DAI |

$0.945505

May 10, 2020

|

$1.11

Mar 13, 2020

| $0.164495 | [CoinMarketCap](https://coinmarketcap.com/currencies/multi-collateral-dai/) | +| DAI |

$0.903243

Nov 25, 2019

|

$1.22

Mar 13, 2020

| $0.316757 | [CoinGecko](https://www.coingecko.com/en/coins/dai) | +| USDT |

$0.849809

Feb 02, 2017

|

$1.21

May 27, 2017

| $0.360191 | [CoinGecko](https://www.coingecko.com/en/coins/tether) | +| USDT |

$0.572521

Mar 02, 2015

|

$1.32

Jul 24, 2018

| $0.747479 | [CoinMarketCap](https://coinmarketcap.com/currencies/tether/) | + +The rebasing function treats 1 stablecoin as 1 OUSD for simplicity and to protect OUSD balances from being affected by the daily fluctuations in the price of the underlying stablecoins. Since the rebase function only counts coins, OUSD balances should only increase. + +In order to mint and redeem the appropriate number of OUSD on entry and exit, the smart contracts need to accurately price the USDT, USDC, and DAI that is entering and exiting the system. + +As an added precaution, OUSD never pays more than a dollar for a stablecoin, nor sells a stablecoin for less than a dollar. Oracles giving wrong prices will not result in a reduction of the number of stablecoins held. Gains that are collected as a result of stablecoins slipping from their peg are redistributed to the remaining holders of OUSD in the form of additional yield. + +As a decentralized protocol, OUSD must rely on non-centralized sources for these prices. OUSD uses Chainlink oracles for pricing data for DAI, USDC and USDT. You can read more about [our decision to work with Chainlink](https://blog.originprotocol.com/how-origin-uses-chainlink-oracles-to-secure-ousd-bff5601e840e) on our blog. Here are the Chainlink oracles we are currently using for stablecoin pricing: + +{% embed url="https://data.chain.link/usdt-usd" %} + +{% embed url="https://data.chain.link/usdc-usd" %} + +{% embed url="https://data.chain.link/dai-usd" %} + +### Reward Token Oracles & Front Running Protection + +When reward tokens from OUSD strategies are sold for additional yield, Chainlink oracles are checked to ensure that the sale price slippage has not exceeded normal bounds. These oracles are listed on our [registry](../smart-contracts/registry.md) page under the "Oracles" tab. + +The same is also true for OGN buybacks from OUSD yield.\ \ When minting and redeeming OUSD, a miniumun required amount can be passed into the contract call to ensure that the entire transaction fails if not enough OUSD or stablecoins would be returned to the user due to changing prices. diff --git a/ja/core-concepts/price-oracles/README.md b/ja/core-concepts/price-oracles/README.md new file mode 100644 index 000000000..58ed68ed4 --- /dev/null +++ b/ja/core-concepts/price-oracles/README.md @@ -0,0 +1,126 @@ +# Price Oracles + +OUSD is designed to stay pegged at 1 USD and be 1:1 backed with its underlying stablecoins. This is trickier than it sounds because these underlying stablecoins are constantly deviating from their own desired 1 USD pegs. While the majority of daily fluctuations are minor, there have been major swings in price that have occurred in the past and are likely to occur again in the future. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CoinLow + High + Delta + Source +
USDC +

$0.929222

+

Mar 13, 2020

+
+

$1.11

+

Oct 15, 2018

+
$0.180778CoinMarketCap +
USDC +

$0.924188

+

Aug 02, 2020

+
+

$1.17

+

May 08, 2019

+
$0.245812CoinGecko +
DAI +

$0.945505

+

May 10, 2020

+
+

$1.11

+

Mar 13, 2020

+
$0.164495CoinMarketCap +
DAI +

$0.903243

+

Nov 25, 2019

+
+

$1.22

+

Mar 13, 2020

+
$0.316757CoinGecko +
USDT +

$0.849809

+

Feb 02, 2017

+
+

$1.21

+

May 27, 2017

+
$0.360191CoinGecko +
USDT +

$0.572521

+

Mar 02, 2015

+
+

$1.32

+

Jul 24, 2018

+
$0.747479CoinMarketCap +
+ +The rebasing function treats 1 stablecoin as 1 OUSD for simplicity and to protect OUSD balances from being affected by the daily fluctuations in the price of the underlying stablecoins. Since the rebase function only counts coins, OUSD balances should only increase. + +In order to mint and redeem the appropriate number of OUSD on entry and exit, the smart contracts need to accurately price the USDT, USDC, and DAI that is entering and exiting the system. As a decentralized protocol, OUSD must rely on non-centralized sources for these prices. + +{% hint style="info" %} +OUSD fetches the price from multiple on-chain oracles and uses the exchange rate that is most advantageous for the vault when minting or redeeming. +{% endhint %} + +In order to prevent malicious attacks and to encourage long-term investors over short-term speculators, the OUSD contract compares price feeds from multiple sources and will use whichever exchange rate benefits the entire vault over the individual. This mechanism protects the vault funds from arbitrageurs and prevents any individual from being able to take advantage of any temporary inefficiencies caused by mispriced oracles to deplete the shared pool of assets. + +This protects the funds in the vault while rewarding long-term holders. Since the safest price depends on the direction of the trade, the Origin oracle exposes both a `priceUSDMint()` and a `priceUSDRedeem()`. + +OUSD uses Chainlink as oracle for DAI, USDC and USDT. + +{% embed url="https://feeds.chain.link/eth-usd" caption="" %} + +The specific smart contract address for each oracle being used are listed on our [registry](../../smart-contracts/registry.md) page. + +It is possible that additional oracles will be added to the protocol over time. Support may also be removed if any of these oracles become unreliable. + diff --git a/ja/core-concepts/price-oracles/untitled.md b/ja/core-concepts/price-oracles/untitled.md new file mode 100644 index 000000000..7a413944b --- /dev/null +++ b/ja/core-concepts/price-oracles/untitled.md @@ -0,0 +1,25 @@ +# Untitled + +## Getting Super Powers + +Becoming a super hero is a fairly straight forward process: + +``` +$ give me super-powers +``` + +{% hint style="info" %} + Super-powers are granted randomly so please submit an issue if you're not happy with yours. +{% endhint %} + +Once you're strong enough, save the world: + +{% code title="hello.sh" %} +```bash +# Ain't no code for that yet, sorry +echo 'You got to trust me on this, I saved the world' +``` +{% endcode %} + + + diff --git a/ja/core-concepts/supported-assets/README.md b/ja/core-concepts/supported-assets/README.md new file mode 100644 index 000000000..56390ccf6 --- /dev/null +++ b/ja/core-concepts/supported-assets/README.md @@ -0,0 +1,20 @@ +# Supported Stablecoins + +**Supported Stablecoins** + +It is important to understand that OUSD is only as strong as the stablecoins that are backing it. Any loss to the underlying assets will cause a similar loss to the value of OUSD. + +Currently, OUSD supports the following stablecoins: + +{% page-ref page="usdt.md" %} + +{% page-ref page="usdc.md" %} + +{% page-ref page="dai.md" %} + +None of these stablecoins are perfect, but we selected them because of their widespread usage. While these stablecoins have lost their USD peg on multiple occasions, they have demonstrated resiliency in eventually getting back to their 1 USD targets. + +It is important to note that all these stablecoins introduce non-trivial counter-party risk. Tether, in particular, has had well-documented banking troubles and regulatory challenges. In addition, both USDT and USDC have backdoors that grant their issuers the power to freeze money in their holder's wallets. While DAI does not have any direct backdoors, it's assets can also be negatively impacted since USDC is accepted as collateral for minting DAI. + +Despite these concerns, there are already billions of dollars betting on the security of these stablecoins. It is possible that additional stablecoins will be added to the protocol over time. Support may also be removed if any of these stablecoins prove to be too unreliable or put OUSD holders funds in jeopardy. + diff --git a/ja/core-concepts/supported-assets/dai.md b/ja/core-concepts/supported-assets/dai.md new file mode 100644 index 000000000..4be5c3788 --- /dev/null +++ b/ja/core-concepts/supported-assets/dai.md @@ -0,0 +1,20 @@ +# DAI + +![](../../.gitbook/assets/dai.png) + +Dai is a fiat-pegged stablecoin launched as a ERC-20 token on the Ethereum blockchain in December 2017. A major upgrade from single-collateral Dai \(SAI\) to multi-collateral Dai \(DAI\) was completed in November 2019. Dai is pegged to the US dollar. + +Dai is minted by users locking up crypto assets such as ETH or USDC as collateral in a collateralized debt position \(CDP\) called a vault. Previously, only ETH was accepted as collateral. The reserves and status of each vault can be viewed on the blockchain in real-time. The health of these vaults and the Dai stablecoin are closely monitored. + +Dai is the world's third-largest stablecoin with over $400 million in circulation. In addition, cDAI and aDAI, synthetic versions of Dai on the lending platforms Compound and Aave, combine for over $600 million in circulation. + +| Key Facts | | +|:------------- |:------------------------------------------------------------------------------------------------------------------- | +| Issued by | MakerDAO | +| Name | Dai | +| Symbol | DAI | +| Address | [0x6b175474e89094c44da98b954eedeac495271d0f](https://etherscan.io/token/0x6b175474e89094c44da98b954eedeac495271d0f) | +| Decimals | 18 | +| Official site | [https://makerdao.com/](https://makerdao.com/) | +| Holders | Over 140k addresses | + diff --git a/ja/core-concepts/supported-assets/usdc.md b/ja/core-concepts/supported-assets/usdc.md new file mode 100644 index 000000000..2647d7c83 --- /dev/null +++ b/ja/core-concepts/supported-assets/usdc.md @@ -0,0 +1,22 @@ +# USDC + +![](../../.gitbook/assets/usdc-coin-bd351fb779%20%281%29.png) + +USD Coin \(USDC\) is a fiat-pegged stablecoin launched as a ERC-20 token on the Ethereum blockchain in October 2018. USDC is pegged to the US dollar and can easily be redeemed for US dollars. + +Each USDC is backed by a 1:1 ratio with the equivalent amount of fiat currency held in custodial accounts by members of Centre, a consortium founded by Circle and Coinbase. Members of Centre are regulated financial institutions based in the US. Monthly audits of reserves are published by Grant Thornton LLP. + +USDC is the world's second-largest stablecoin after USDT and has quickly grown to over $1 billion in circulation. However, USDC remains far behind USDT's $12+ billion in circulation. + +| Key Facts | | +|:------------- |:------------------------------------------------------------------------------------------------------------------- | +| Issued by | Centre | +| Name | USD Coin | +| Symbol | USDC | +| Address | [0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48](https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48) | +| Decimals | 6 | +| Official site | [https://www.centre.io/usdc](https://www.centre.io/usdc) | +| Holders | Over 200k addresses | + + + diff --git a/ja/core-concepts/supported-assets/usdt.md b/ja/core-concepts/supported-assets/usdt.md new file mode 100644 index 000000000..4ae2afe89 --- /dev/null +++ b/ja/core-concepts/supported-assets/usdt.md @@ -0,0 +1,22 @@ +# USDT + +![](../../.gitbook/assets/image%20%281%29.png) + +Tether \(USDT\) is a fiat-pegged stablecoin that was initially built on top of Bitcoin via the Omni Layer Protocol. In September 2017, Tether announced they would be launching additional ERC-20 tokens for United States dollars on the Ethereum blockchain. + +Each Tether issued into circulation is said to be backed by a one-to-one ratio with the equivalent amount of fiat currency held in a custodial account by Tether Limited, a Hong Kong-based company with close ties to the cryptocurrency exchange, Bitfinex. + +Despite the controversy ****around ****the company's failure to provide a promised audit showing adequate reserves backing tether, USDT is still the world's largest stablecoin by market cap and currently the fourth-largest cryptocurrency after BTC, ETH and XRP. + +| Key Facts | | +|:------------- |:---------------------------------------------------------------------------------------------------------------- | +| Issued by | Tether Limited | +| Name | Tether | +| Symbol | USDT | +| Address | [0xdac17f958d2ee523a2206206994597c13d831](https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7) | +| Decimals | 6 | +| Official site | [https://tether.to/ ](https://tether.to/%20) | +| Holders | Over 1.8M addresses | + + + diff --git a/ja/core-concepts/supported-defi-platforms/README.md b/ja/core-concepts/supported-defi-platforms/README.md new file mode 100644 index 000000000..50ee37b6c --- /dev/null +++ b/ja/core-concepts/supported-defi-platforms/README.md @@ -0,0 +1,30 @@ +# Supported DeFi Platforms + +**Supported Platforms** + +OUSD generates yield by depositing stablecoins into lending platforms and market maker liquidity pools. It is important to understand that these platforms do carry technological risk and funds can be lost if there is a major security event. We are choosing to work with the platforms that have had their smart contracts audited and that we feel are most secure. + +Currently, we plan to earn yields from the following platforms: + +{% page-ref page="compound.md" %} + +Integrations are currently planned for the following platforms: + +{% page-ref page="aave.md" %} + +{% page-ref page="dydx.md" %} + +{% page-ref page="uniswap.md" %} + +{% page-ref page="curve.md" %} + +{% page-ref page="balancer.md" %} + +{% page-ref page="yearn.finance.md" %} + +Although DeFi has grown very quickly and there are now billions of dollars worth of value deposited on these platforms, several of these projects are still in beta and are highly experimental. There may be hidden vulnerabilities in the smart contracts that power these platforms, and there have been multi-million dollar losses caused by vulnerabilities in Ethereum applications in the past. + +We closely monitor security events on the platforms we support and will immediately move to secure OUSD holder funds if we identify any threats. + + + diff --git a/ja/core-concepts/supported-defi-platforms/aave.md b/ja/core-concepts/supported-defi-platforms/aave.md new file mode 100644 index 000000000..df02edab3 --- /dev/null +++ b/ja/core-concepts/supported-defi-platforms/aave.md @@ -0,0 +1,25 @@ +# Aave + +{% hint style="info" %} +Coming soon. Aave has not yet been integrated. +{% endhint %} + +Aave is a lending protocol and platform built on Ethereum and launched in January 2020 by the creators of ETHLend. Users on Aave can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and users can choose between a variable interest rate based on supply and demand or a fixed interest rate. + +Collateral balances are represented by ERC-20 aTokens at a 1:1 ratio to the underlying assets they represent. Interest is compounded automatically and paid to lenders with aTokens, meaning lenders will steadily see their aToken balance increase over time. Users can borrow assets against their aTokens. aTokens are freely transferable and can be used on many other DeFi protocols. aTokens can be redeemed for their underlying collateral at any time. + +Aave supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +Aave is currently governed by LEND, an ERC-20 token that was formerly the utility token for ETHLend. Aave has announced a transition to fully decentralized governance that includes a token swap where users exchange LEND for AAVE, a new ERC-20 governance token with staking rewards. Some AAVE will be distributed to users of the platform in a liquidity mining campaign. + +Aave's total value locked \(TVL\) has quickly grown to over $1.2 billion, making it one of the largest DeFi protocols. LEND has a circulating market cap of over $700 million. + +Aave has undergone security audits by OpenZeppelin, Trail of Bits, and Consensys Diligence. Aave maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------------ | +| Official site | [https://aave.com/](https://aave.com/) | +| Developer docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/aave/aave-protocol](https://github.com/aave/aave-protocol) | +| Discord | [https://discordapp.com/invite/AnSqnvV](https://discordapp.com/invite/AnSqnvV) | + diff --git a/ja/core-concepts/supported-defi-platforms/balancer.md b/ja/core-concepts/supported-defi-platforms/balancer.md new file mode 100644 index 000000000..f8d9e3c0a --- /dev/null +++ b/ja/core-concepts/supported-defi-platforms/balancer.md @@ -0,0 +1,27 @@ +# Balancer + +{% hint style="info" %} +Coming soon. Balancer has not yet been integrated. +{% endhint %} + +Balancer is a decentralized liquidity protocol and exchange on Ethereum, launched in March 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Balancer is an Automated Market Maker \(AMM\) that allows for liquidity pools of up to 8 different assets with custom weights. Liquidity pools on Balancer can be thought of as similar to Exchange Traded Funds \(ETFs\) or portfolios with weight targets for specific assets. If trading causes the pool to shift from its target weight distribution, exchange rates between assets in the pool change. Arbitrageurs can execute trades to take advantage of this and act to rebalance the pool back to its target weight distribution. Liquidity can also be shared across pools, unlike other AMMs. + +Balancer supports private pools, where only the owner of the pool can contribute liquidity, shared pools, which are completely public, and smart pools, which are shared pools controlled by a smart contract that can implement automated rules and logic. Liquidity providers are given Balancer Pool Tokens \(BPTs\) that represent their share of a given pool and fees. These tokens are freely transferable and can be redeemed for the assets provided and accrued fees. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Balancer pools. + +Balancer is governed by BAL, an ERC-20 governance token. BAL holders can vote on protocol changes. BAL is continuously awarded to liquidity providers and a large portion of the total supply of BAL was allocated to the team and investors on a continuous vesting schedule. + +Trading volumes on Balancer are often over $25 million daily. Balancer has a Total Value Locked \(TVL\) of over $250 million by liquidity providers at the time of writing. + +Balancer has undergone a security audit by Trail of Bits and has a bug bounty program. However, Balancer has suffered a major exploit in June 2020. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://balancer.finance/](https://balancer.finance/) | +| Developer docs | [https://docs.balancer.finance/](https://docs.balancer.finance/) | +| GitHub | [https://github.com/balancer-labs](https://github.com/balancer-labs) | +| Discord | [https://discord.gg/ARJWaeF](https://discord.gg/ARJWaeF) | + diff --git a/ja/core-concepts/supported-defi-platforms/compound.md b/ja/core-concepts/supported-defi-platforms/compound.md new file mode 100644 index 000000000..a4d2660a1 --- /dev/null +++ b/ja/core-concepts/supported-defi-platforms/compound.md @@ -0,0 +1,19 @@ +# Compound + +Compound is a lending protocol and platform built on Ethereum and launched in September 2018. Users can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and interest rates are adjusted automatically based on supply and demand. + +Collateral balances are represented by ERC-20 cTokens, which automatically accrue interest and increase in value over time relative to the underlying asset they represent. Users can borrow assets against the value of their cTokens. cTokens are freely transferable and can be used on many other DeFi protocols. cTokens can be redeemed for their underlying collateral at any time. + +Compound is governed by COMP, an ERC-20 governance token. COMP holders can propose and vote on protocol changes or delegate their votes to someone else. COMP tokens are awarded pro rata to users of the protocol daily, split equally between borrowers and lenders. A large portion of the COMP token supply was retained by the Compound team, investors, and advisors. + +Compound's total value locked \(TVL\) has quickly grown to nearly $800 million, making it one of the largest DeFi protocols. COMP has a circulating market cap of over $500 million. + +Compound has undergone multiple security audits by OpenZeppelin and Trail of Bits. The Compound protocol was formally verified by CertiK and has undergone economic stress testing by Gauntlet. Compound maintains a bug bounty program. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------------------------------------------------- | +| Official site | [https://compound.finance/](https://compound.finance/) | +| Developer docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/compound-finance/compound-protocol](https://github.com/compound-finance/compound-protocol) | +| Discord | [https://discord.com/invite/cU7vmVW](https://discord.com/invite/cU7vmVW) | + diff --git a/ja/core-concepts/supported-defi-platforms/curve.md b/ja/core-concepts/supported-defi-platforms/curve.md new file mode 100644 index 000000000..021d0041b --- /dev/null +++ b/ja/core-concepts/supported-defi-platforms/curve.md @@ -0,0 +1,25 @@ +# Curve + +{% hint style="info" %} +Coming soon. Curve has not yet been integrated. +{% endhint %} + +Curve is a decentralized liquidity protocol and exchange on Ethereum for stablecoins and wrapped BTC, launched in January 2020. Users can swap between popular ERC-20 stablecoins or between ERC-20 representations of bitcoin. Liquidity providers facilitate trading and earn fees. + +Curve is an Automated Market Maker \(AMM\) where each market has an associated liquidity pool with two or more assets that should have the same value, like USDT, USDC, DAI and TUSD, which are all US dollar pegged stablecoins. The exchange rate between each stablecoin and their relative weights are determined by an algorithm based on supply and demand. Arbitrageurs act to normalize these exchange rates. + +Some of Curve's liquidity pools earn extra fees for liquidity providers on top of the exchange fees from traders. Curve offers stablecoin pools integrated with Compound, yearn.finance, and Synthetix. The assets in each liquidity pool are provided to those platforms to generate additional yield which is passed on to each pool's liquidity providers. Liquidity Provider \(LP\) tokens are given to pool participants and can be redeemed for their initial liquidity supplied plus accrued fees and yield. LP tokens can also transferred for use in other protocols. + +Curve is governed by CRV, an ERC-20 governance token. CRV holders can vote on protocol changes. CRV holders can stake their tokens for additional voting power proportional to time staked. CRV is continuously awarded to liquidity providers and a large portion of the total supply of CRV was allocated to the team and investors on a continuous vesting schedule. + +Trading volumes on Curve are often over $50 million daily. Curve has a Total Value Locked \(TVL\) of over $1 billion by liquidity providers at the time of writing. + +Curve has undergone two audits by Trail of Bits and maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------ | +| Official site | [https://uniswap.org/](https://uniswap.org/) | +| Developer docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/ja/core-concepts/supported-defi-platforms/dydx.md b/ja/core-concepts/supported-defi-platforms/dydx.md new file mode 100644 index 000000000..24f1a895e --- /dev/null +++ b/ja/core-concepts/supported-defi-platforms/dydx.md @@ -0,0 +1,27 @@ +# dYdX + +{% hint style="info" %} +Coming soon. DyDx has not yet been integrated. +{% endhint %} + +dYdX is a trading and lending protocol and platform built on Ethereum and launched in May 2019. Users can trade assets on dYdX's non-custodial, decentralized exchange or participate in borrowing and lending. The lending protocol enables margin and futures trading. Interest rates are adjusted based on supply and demand and only short term loans are offered. + +Liquidity for assets available for borrowing and lending are pooled together by asset type. Interest paid to lenders is accrued automatically and borrowers must put up collateral to take out a loan. + +dYdX also supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +dYdX has around $40 million in total value locked \(TVL\) at the time of this writing. dYdX does not have a native token. + +dYdX has undergone security audits by OpenZeppelin and Bramah Systems. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://dydx.exchange/](https://dydx.exchange/) | +| Developer docs | [https://docs.dydx.exchange/](https://docs.dydx.exchange/) | +| GitHub | [https://github.com/dydxprotocol/](https://github.com/dydxprotocol/) | +| Discord | [https://discord.gg/yah42Rb](https://discord.gg/yah42Rb) | + + + + + diff --git a/ja/core-concepts/supported-defi-platforms/uniswap.md b/ja/core-concepts/supported-defi-platforms/uniswap.md new file mode 100644 index 000000000..012e25e93 --- /dev/null +++ b/ja/core-concepts/supported-defi-platforms/uniswap.md @@ -0,0 +1,27 @@ +# Uniswap + +{% hint style="info" %} +Coming soon. Uniswap has not yet been integrated. +{% endhint %} + +Uniswap is a decentralized liquidity protocol and exchange on Ethereum, launched in November 2018. Uniswap v2 launched in May 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Markets on Uniswap operate as liquidity pools rather than order books. This type of exchange is called an Automated Market Maker \(AMM\). The exchange rate between the two assets is determined by a constant product formula and moves along a price curve depending on the relative weight of each asset in the pool. This encourages arbitrageurs to enter liquidity pools to rebalance the relative weights and normalize the exchange rate. + +Traders can suffer from slippage if there is not enough liquidity in a given pool and may not be protected from unfavorable exchange rates. Liquidity providers may suffer impermanent loss when the pool exchange rate does not match market realities and arbitrageurs execute trades along the pricing curve. + +Pool participants are given Uniswap Liquidity Provider \(LP\) tokens that correspond to their share of liquidity provided in a given pool. These LP tokens are freely transferable. Participants can exit pools at any time by redeeming these tokens for the assets provided and fees accrued. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Uniswap pools. + +Trading volumes on Uniswap now eclipse that of many traditional exchanges and regularly surpass $200 million daily. Uniswap has over $170 million in Total Value Locked \(TVL\) by liquidity providers. Uniswap does not have a native platform or governance token. + +Uniswap has had its smart contracts audited and formally verfied by dapp.org. Uniswap maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------ | +| Official site | [https://uniswap.org/](https://uniswap.org/) | +| Developer docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/ja/core-concepts/supported-defi-platforms/yearn.finance.md b/ja/core-concepts/supported-defi-platforms/yearn.finance.md new file mode 100644 index 000000000..3f23b9fdb --- /dev/null +++ b/ja/core-concepts/supported-defi-platforms/yearn.finance.md @@ -0,0 +1,25 @@ +# Yearn.finance + +{% hint style="info" %} +Coming soon. Yearn.finance has not yet been integrated. +{% endhint %} + +Yearn.finance, formerly iEarn.finance, is a yield aggregation platform built on Ethereum and launched in January 2020 by Andre Cronje. Yearn manages yield farming and rebalancing strategies using a combination of automation and human decision making on behalf of users who have deposited capital. + +Yearn has two yield aggregation products, Earn and Vaults. Earn allows users to deposit stablecoins or wrapped BTC into liquidity pools on Curve to earn fees and governance token rewards. These assets are also lent out on platforms offering high yield and token rewards, adding to the yield earned. + +Vaults offer a more automated and managed experience. Users deposit assets such as LINK, Curve liquidity provider tokens, or stablecoins and the Vault pools these assets together and deploys the highest earning yield farming strategy as deemed safe by the community and Andre Cronje. Governance tokens earned as rewards are sold off for the original asset deposited and combined with other fees and automatically rolled into the Vault to compound yield. Strategies can be changed frequently and pooling assets together saves gas costs for users. + +Yearn is governed by YFI, an ERC-20 governance token. YFI holders can vote on protocol changes after agreeing to lock up their YFI for 3 days. YFI can also be staked for yield in the governance portal. This yield comes from fees charged to users on Yearn products. YFI was distributed entirely to liquidity providers on Curve and Balancer. There was no allocation for team members or investors. + +Yearn's total value locked \(TVL\) has quickly grown to over $800 million, making it one of the largest DeFi platforms. YFI has a circulating market cap of over $400 million. + +Yearn has undergone multiple security and smart contract audits by CertiK, Quantstamp, HackMD, and CryptoManiacs. Yearn has a reputation for launching experimental products very quickly and warns users that their products are in beta. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://yearn.finance/](https://yearn.finance/) | +| Developer docs | [https://docs.yearn.finance/](https://docs.yearn.finance/) | +| GitHub | [https://github.com/iearn-finance](https://github.com/iearn-finance) | +| Discord | [https://discord.gg/uTmHe8r](https://discord.gg/uTmHe8r) | + diff --git a/ja/core-concepts/supported-platforms/README.md b/ja/core-concepts/supported-platforms/README.md new file mode 100644 index 000000000..aa4b89181 --- /dev/null +++ b/ja/core-concepts/supported-platforms/README.md @@ -0,0 +1,32 @@ +# Supported Platforms + +**Supported Platforms** + +OUSD generates yield by depositing stablecoins into lending platforms and market maker liquidity pools. It is important to understand that these platforms do carry technological risk and funds can be lost if there is a major security event. We are choosing to work with the platforms that have had their smart contracts audited and that we feel are most secure. + +Currently, we plan to earn yields from the following platforms: + +{% page-ref page="compound.md" %} + +Integrations are currently planned for the following platforms: + +{% page-ref page="yearn.finance.md" %} + +{% page-ref page="compound.md" %} + +{% page-ref page="aave.md" %} + +{% page-ref page="dydx.md" %} + +{% page-ref page="uniswap.md" %} + +{% page-ref page="curve.md" %} + +{% page-ref page="balancer.md" %} + +Although DeFi has grown very quickly and there are now billions of dollars worth of value deposited on these platforms, several of these projects are still in beta and are highly experimental. There may be hidden vulnerabilities in the smart contracts that power these platforms, and there have been multi-million dollar losses caused by vulnerabilities in Ethereum applications in the past. + +We closely monitor security events on the platforms we support and will immediately move to secure OUSD holder funds if we identify any threats. + + + diff --git a/ja/core-concepts/supported-platforms/aave.md b/ja/core-concepts/supported-platforms/aave.md new file mode 100644 index 000000000..df02edab3 --- /dev/null +++ b/ja/core-concepts/supported-platforms/aave.md @@ -0,0 +1,25 @@ +# Aave + +{% hint style="info" %} +Coming soon. Aave has not yet been integrated. +{% endhint %} + +Aave is a lending protocol and platform built on Ethereum and launched in January 2020 by the creators of ETHLend. Users on Aave can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and users can choose between a variable interest rate based on supply and demand or a fixed interest rate. + +Collateral balances are represented by ERC-20 aTokens at a 1:1 ratio to the underlying assets they represent. Interest is compounded automatically and paid to lenders with aTokens, meaning lenders will steadily see their aToken balance increase over time. Users can borrow assets against their aTokens. aTokens are freely transferable and can be used on many other DeFi protocols. aTokens can be redeemed for their underlying collateral at any time. + +Aave supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +Aave is currently governed by LEND, an ERC-20 token that was formerly the utility token for ETHLend. Aave has announced a transition to fully decentralized governance that includes a token swap where users exchange LEND for AAVE, a new ERC-20 governance token with staking rewards. Some AAVE will be distributed to users of the platform in a liquidity mining campaign. + +Aave's total value locked \(TVL\) has quickly grown to over $1.2 billion, making it one of the largest DeFi protocols. LEND has a circulating market cap of over $700 million. + +Aave has undergone security audits by OpenZeppelin, Trail of Bits, and Consensys Diligence. Aave maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------------ | +| Official site | [https://aave.com/](https://aave.com/) | +| Developer docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/aave/aave-protocol](https://github.com/aave/aave-protocol) | +| Discord | [https://discordapp.com/invite/AnSqnvV](https://discordapp.com/invite/AnSqnvV) | + diff --git a/ja/core-concepts/supported-platforms/balancer.md b/ja/core-concepts/supported-platforms/balancer.md new file mode 100644 index 000000000..f8d9e3c0a --- /dev/null +++ b/ja/core-concepts/supported-platforms/balancer.md @@ -0,0 +1,27 @@ +# Balancer + +{% hint style="info" %} +Coming soon. Balancer has not yet been integrated. +{% endhint %} + +Balancer is a decentralized liquidity protocol and exchange on Ethereum, launched in March 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Balancer is an Automated Market Maker \(AMM\) that allows for liquidity pools of up to 8 different assets with custom weights. Liquidity pools on Balancer can be thought of as similar to Exchange Traded Funds \(ETFs\) or portfolios with weight targets for specific assets. If trading causes the pool to shift from its target weight distribution, exchange rates between assets in the pool change. Arbitrageurs can execute trades to take advantage of this and act to rebalance the pool back to its target weight distribution. Liquidity can also be shared across pools, unlike other AMMs. + +Balancer supports private pools, where only the owner of the pool can contribute liquidity, shared pools, which are completely public, and smart pools, which are shared pools controlled by a smart contract that can implement automated rules and logic. Liquidity providers are given Balancer Pool Tokens \(BPTs\) that represent their share of a given pool and fees. These tokens are freely transferable and can be redeemed for the assets provided and accrued fees. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Balancer pools. + +Balancer is governed by BAL, an ERC-20 governance token. BAL holders can vote on protocol changes. BAL is continuously awarded to liquidity providers and a large portion of the total supply of BAL was allocated to the team and investors on a continuous vesting schedule. + +Trading volumes on Balancer are often over $25 million daily. Balancer has a Total Value Locked \(TVL\) of over $250 million by liquidity providers at the time of writing. + +Balancer has undergone a security audit by Trail of Bits and has a bug bounty program. However, Balancer has suffered a major exploit in June 2020. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://balancer.finance/](https://balancer.finance/) | +| Developer docs | [https://docs.balancer.finance/](https://docs.balancer.finance/) | +| GitHub | [https://github.com/balancer-labs](https://github.com/balancer-labs) | +| Discord | [https://discord.gg/ARJWaeF](https://discord.gg/ARJWaeF) | + diff --git a/ja/core-concepts/supported-platforms/compound.md b/ja/core-concepts/supported-platforms/compound.md new file mode 100644 index 000000000..a4d2660a1 --- /dev/null +++ b/ja/core-concepts/supported-platforms/compound.md @@ -0,0 +1,19 @@ +# Compound + +Compound is a lending protocol and platform built on Ethereum and launched in September 2018. Users can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and interest rates are adjusted automatically based on supply and demand. + +Collateral balances are represented by ERC-20 cTokens, which automatically accrue interest and increase in value over time relative to the underlying asset they represent. Users can borrow assets against the value of their cTokens. cTokens are freely transferable and can be used on many other DeFi protocols. cTokens can be redeemed for their underlying collateral at any time. + +Compound is governed by COMP, an ERC-20 governance token. COMP holders can propose and vote on protocol changes or delegate their votes to someone else. COMP tokens are awarded pro rata to users of the protocol daily, split equally between borrowers and lenders. A large portion of the COMP token supply was retained by the Compound team, investors, and advisors. + +Compound's total value locked \(TVL\) has quickly grown to nearly $800 million, making it one of the largest DeFi protocols. COMP has a circulating market cap of over $500 million. + +Compound has undergone multiple security audits by OpenZeppelin and Trail of Bits. The Compound protocol was formally verified by CertiK and has undergone economic stress testing by Gauntlet. Compound maintains a bug bounty program. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------------------------------------------------- | +| Official site | [https://compound.finance/](https://compound.finance/) | +| Developer docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/compound-finance/compound-protocol](https://github.com/compound-finance/compound-protocol) | +| Discord | [https://discord.com/invite/cU7vmVW](https://discord.com/invite/cU7vmVW) | + diff --git a/ja/core-concepts/supported-platforms/curve.md b/ja/core-concepts/supported-platforms/curve.md new file mode 100644 index 000000000..021d0041b --- /dev/null +++ b/ja/core-concepts/supported-platforms/curve.md @@ -0,0 +1,25 @@ +# Curve + +{% hint style="info" %} +Coming soon. Curve has not yet been integrated. +{% endhint %} + +Curve is a decentralized liquidity protocol and exchange on Ethereum for stablecoins and wrapped BTC, launched in January 2020. Users can swap between popular ERC-20 stablecoins or between ERC-20 representations of bitcoin. Liquidity providers facilitate trading and earn fees. + +Curve is an Automated Market Maker \(AMM\) where each market has an associated liquidity pool with two or more assets that should have the same value, like USDT, USDC, DAI and TUSD, which are all US dollar pegged stablecoins. The exchange rate between each stablecoin and their relative weights are determined by an algorithm based on supply and demand. Arbitrageurs act to normalize these exchange rates. + +Some of Curve's liquidity pools earn extra fees for liquidity providers on top of the exchange fees from traders. Curve offers stablecoin pools integrated with Compound, yearn.finance, and Synthetix. The assets in each liquidity pool are provided to those platforms to generate additional yield which is passed on to each pool's liquidity providers. Liquidity Provider \(LP\) tokens are given to pool participants and can be redeemed for their initial liquidity supplied plus accrued fees and yield. LP tokens can also transferred for use in other protocols. + +Curve is governed by CRV, an ERC-20 governance token. CRV holders can vote on protocol changes. CRV holders can stake their tokens for additional voting power proportional to time staked. CRV is continuously awarded to liquidity providers and a large portion of the total supply of CRV was allocated to the team and investors on a continuous vesting schedule. + +Trading volumes on Curve are often over $50 million daily. Curve has a Total Value Locked \(TVL\) of over $1 billion by liquidity providers at the time of writing. + +Curve has undergone two audits by Trail of Bits and maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------ | +| Official site | [https://uniswap.org/](https://uniswap.org/) | +| Developer docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/ja/core-concepts/supported-platforms/dydx.md b/ja/core-concepts/supported-platforms/dydx.md new file mode 100644 index 000000000..24f1a895e --- /dev/null +++ b/ja/core-concepts/supported-platforms/dydx.md @@ -0,0 +1,27 @@ +# dYdX + +{% hint style="info" %} +Coming soon. DyDx has not yet been integrated. +{% endhint %} + +dYdX is a trading and lending protocol and platform built on Ethereum and launched in May 2019. Users can trade assets on dYdX's non-custodial, decentralized exchange or participate in borrowing and lending. The lending protocol enables margin and futures trading. Interest rates are adjusted based on supply and demand and only short term loans are offered. + +Liquidity for assets available for borrowing and lending are pooled together by asset type. Interest paid to lenders is accrued automatically and borrowers must put up collateral to take out a loan. + +dYdX also supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +dYdX has around $40 million in total value locked \(TVL\) at the time of this writing. dYdX does not have a native token. + +dYdX has undergone security audits by OpenZeppelin and Bramah Systems. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://dydx.exchange/](https://dydx.exchange/) | +| Developer docs | [https://docs.dydx.exchange/](https://docs.dydx.exchange/) | +| GitHub | [https://github.com/dydxprotocol/](https://github.com/dydxprotocol/) | +| Discord | [https://discord.gg/yah42Rb](https://discord.gg/yah42Rb) | + + + + + diff --git a/ja/core-concepts/supported-platforms/uniswap.md b/ja/core-concepts/supported-platforms/uniswap.md new file mode 100644 index 000000000..012e25e93 --- /dev/null +++ b/ja/core-concepts/supported-platforms/uniswap.md @@ -0,0 +1,27 @@ +# Uniswap + +{% hint style="info" %} +Coming soon. Uniswap has not yet been integrated. +{% endhint %} + +Uniswap is a decentralized liquidity protocol and exchange on Ethereum, launched in November 2018. Uniswap v2 launched in May 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Markets on Uniswap operate as liquidity pools rather than order books. This type of exchange is called an Automated Market Maker \(AMM\). The exchange rate between the two assets is determined by a constant product formula and moves along a price curve depending on the relative weight of each asset in the pool. This encourages arbitrageurs to enter liquidity pools to rebalance the relative weights and normalize the exchange rate. + +Traders can suffer from slippage if there is not enough liquidity in a given pool and may not be protected from unfavorable exchange rates. Liquidity providers may suffer impermanent loss when the pool exchange rate does not match market realities and arbitrageurs execute trades along the pricing curve. + +Pool participants are given Uniswap Liquidity Provider \(LP\) tokens that correspond to their share of liquidity provided in a given pool. These LP tokens are freely transferable. Participants can exit pools at any time by redeeming these tokens for the assets provided and fees accrued. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Uniswap pools. + +Trading volumes on Uniswap now eclipse that of many traditional exchanges and regularly surpass $200 million daily. Uniswap has over $170 million in Total Value Locked \(TVL\) by liquidity providers. Uniswap does not have a native platform or governance token. + +Uniswap has had its smart contracts audited and formally verfied by dapp.org. Uniswap maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------ | +| Official site | [https://uniswap.org/](https://uniswap.org/) | +| Developer docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/ja/core-concepts/supported-platforms/yearn.finance.md b/ja/core-concepts/supported-platforms/yearn.finance.md new file mode 100644 index 000000000..3f23b9fdb --- /dev/null +++ b/ja/core-concepts/supported-platforms/yearn.finance.md @@ -0,0 +1,25 @@ +# Yearn.finance + +{% hint style="info" %} +Coming soon. Yearn.finance has not yet been integrated. +{% endhint %} + +Yearn.finance, formerly iEarn.finance, is a yield aggregation platform built on Ethereum and launched in January 2020 by Andre Cronje. Yearn manages yield farming and rebalancing strategies using a combination of automation and human decision making on behalf of users who have deposited capital. + +Yearn has two yield aggregation products, Earn and Vaults. Earn allows users to deposit stablecoins or wrapped BTC into liquidity pools on Curve to earn fees and governance token rewards. These assets are also lent out on platforms offering high yield and token rewards, adding to the yield earned. + +Vaults offer a more automated and managed experience. Users deposit assets such as LINK, Curve liquidity provider tokens, or stablecoins and the Vault pools these assets together and deploys the highest earning yield farming strategy as deemed safe by the community and Andre Cronje. Governance tokens earned as rewards are sold off for the original asset deposited and combined with other fees and automatically rolled into the Vault to compound yield. Strategies can be changed frequently and pooling assets together saves gas costs for users. + +Yearn is governed by YFI, an ERC-20 governance token. YFI holders can vote on protocol changes after agreeing to lock up their YFI for 3 days. YFI can also be staked for yield in the governance portal. This yield comes from fees charged to users on Yearn products. YFI was distributed entirely to liquidity providers on Curve and Balancer. There was no allocation for team members or investors. + +Yearn's total value locked \(TVL\) has quickly grown to over $800 million, making it one of the largest DeFi platforms. YFI has a circulating market cap of over $400 million. + +Yearn has undergone multiple security and smart contract audits by CertiK, Quantstamp, HackMD, and CryptoManiacs. Yearn has a reputation for launching experimental products very quickly and warns users that their products are in beta. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://yearn.finance/](https://yearn.finance/) | +| Developer docs | [https://docs.yearn.finance/](https://docs.yearn.finance/) | +| GitHub | [https://github.com/iearn-finance](https://github.com/iearn-finance) | +| Discord | [https://discord.gg/uTmHe8r](https://discord.gg/uTmHe8r) | + diff --git a/ja/core-concepts/supported-stablecoins/README.md b/ja/core-concepts/supported-stablecoins/README.md new file mode 100644 index 000000000..1c4b60eb5 --- /dev/null +++ b/ja/core-concepts/supported-stablecoins/README.md @@ -0,0 +1,25 @@ +# Supported Stablecoins + +**Supported Stablecoins** + +It is important to understand that OUSD is only as strong as the stablecoins that are backing it. Any loss to the underlying assets will cause a similar loss to the value of OUSD. + +Currently, OUSD supports the following stablecoins: + +{% content-ref url="usdt.md" %} +[usdt.md](usdt.md) +{% endcontent-ref %} + +{% content-ref url="usdc.md" %} +[usdc.md](usdc.md) +{% endcontent-ref %} + +{% content-ref url="dai.md" %} +[dai.md](dai.md) +{% endcontent-ref %} + +None of these stablecoins are perfect, but we selected them because of their widespread usage. While these stablecoins have lost their USD peg on multiple occasions, they have demonstrated resiliency in eventually getting back to their 1 USD targets. + +It is important to note that all these stablecoins introduce non-trivial counter-party risk. Tether, in particular, has had well-documented banking troubles and regulatory challenges. In addition, both USDT and USDC have backdoors that grant their issuers the power to freeze money in their holder's wallets. While DAI does not have any direct backdoors, its assets can also be negatively impacted since USDC and USDT are accepted as collateral for minting DAI. + +Despite these concerns, there are already billions of dollars betting on the security of these stablecoins. It is possible that additional stablecoins will be added to the protocol over time. Support may also be removed if any of these stablecoins prove to be too unreliable or put OUSD holder's funds in jeopardy. diff --git a/ja/core-concepts/supported-stablecoins/dai.md b/ja/core-concepts/supported-stablecoins/dai.md new file mode 100644 index 000000000..b80269d11 --- /dev/null +++ b/ja/core-concepts/supported-stablecoins/dai.md @@ -0,0 +1,19 @@ +# DAI + +![](../../.gitbook/assets/dai.png) + +Dai is a fiat-pegged stablecoin launched as a ERC-20 token on the Ethereum blockchain in December 2017. A major upgrade from single-collateral Dai (SAI) to multi-collateral Dai (DAI) was completed in November 2019. Dai is pegged to the US dollar. + +Dai is minted by users locking up crypto assets such as ETH or USDC as collateral in a collateralized debt position (CDP) called a vault. Previously, only ETH was accepted as collateral. The reserves and status of each vault can be viewed on the blockchain in real-time. The health of these vaults and the Dai stablecoin are closely monitored. + +Dai is the world's third-largest stablecoin with over $400 million in circulation. In addition, cDAI and aDAI, synthetic versions of Dai on the lending platforms Compound and Aave, combine for over $600 million in circulation. + +| Key Facts | | +| ------------- | ------------------------------------------------------------------------------------------------------------------- | +| Issued by | MakerDAO | +| Name | Dai | +| Symbol | DAI | +| Address | [0x6b175474e89094c44da98b954eedeac495271d0f](https://etherscan.io/token/0x6b175474e89094c44da98b954eedeac495271d0f) | +| Decimals | 18 | +| Official site | [https://makerdao.com/](https://makerdao.com) | +| Holders | Over 380k addresses | diff --git a/ja/core-concepts/supported-stablecoins/usdc.md b/ja/core-concepts/supported-stablecoins/usdc.md new file mode 100644 index 000000000..e47385909 --- /dev/null +++ b/ja/core-concepts/supported-stablecoins/usdc.md @@ -0,0 +1,20 @@ +# USDC + +![](../../.gitbook/assets/usdc-coin-bd351fb779 (1).png) + +USD Coin (USDC) is a fiat-pegged stablecoin launched as a ERC-20 token on the Ethereum blockchain in October 2018. USDC is pegged to the US dollar and can easily be redeemed for US dollars. + +Each USDC is backed by a 1:1 ratio with the equivalent amount of fiat currency held in custodial accounts by members of Centre, a consortium founded by Circle and Coinbase. Members of Centre are regulated financial institutions based in the US. Monthly audits of reserves are published by Grant Thornton LLP. + +USDC is the world's second-largest stablecoin after USDT and has quickly grown to over $1 billion in circulation. However, USDC remains far behind USDT's $12+ billion in circulation. + +| Key Facts | | +| ------------- | ------------------------------------------------------------------------------------------------------------------- | +| Issued by | Centre | +| Name | USD Coin | +| Symbol | USDC | +| Address | [0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48](https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48) | +| Decimals | 6 | +| Official site | [https://www.centre.io/usdc](https://www.centre.io/usdc) | +| Holders | Over 1M addresses | + diff --git a/ja/core-concepts/supported-stablecoins/usdt.md b/ja/core-concepts/supported-stablecoins/usdt.md new file mode 100644 index 000000000..4f07af957 --- /dev/null +++ b/ja/core-concepts/supported-stablecoins/usdt.md @@ -0,0 +1,20 @@ +# USDT + +![](../../.gitbook/assets/image (1).png) + +Tether (USDT) is a fiat-pegged stablecoin that was initially built on top of Bitcoin via the Omni Layer Protocol. In September 2017, Tether announced they would be launching additional ERC-20 tokens for United States dollars on the Ethereum blockchain. + +Each Tether issued into circulation is said to be backed by a one-to-one ratio with the equivalent amount of fiat currency held in a custodial account by Tether Limited, a Hong Kong-based company with close ties to the cryptocurrency exchange, Bitfinex. + +Despite the controversy **** around **** the company's failure to provide a promised audit showing adequate reserves backing tether, USDT is still the world's largest stablecoin by market cap and currently the fourth-largest cryptocurrency after BTC, ETH and XRP. + +| Key Facts | | +| ------------- | ---------------------------------------------------------------------------------------------------------------- | +| Issued by | Tether Limited | +| Name | Tether | +| Symbol | USDT | +| Address | [0xdac17f958d2ee523a2206206994597c13d831](https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7) | +| Decimals | 6 | +| Official site | [https://tether.to/ ](https://tether.to) | +| Holders | Over 3.4M addresses | + diff --git a/ja/core-concepts/supported-strategies/README.md b/ja/core-concepts/supported-strategies/README.md new file mode 100644 index 000000000..b1bb5828c --- /dev/null +++ b/ja/core-concepts/supported-strategies/README.md @@ -0,0 +1,27 @@ +# Supported Strategies + +**Supported DeFi Platforms** + +OUSD generates yield by depositing stablecoins into lending platforms and market maker liquidity pools. It is important to understand that these platforms do carry technological risk and funds can be lost if there is a major security event. We are choosing to work with the platforms that have had their smart contracts audited and that we feel are most secure. + +Currently, OUSD earns yield from the following platform(s): + +{% content-ref url="compound.md" %} +[compound.md](compound.md) +{% endcontent-ref %} + +{% content-ref url="aave.md" %} +[aave.md](aave.md) +{% endcontent-ref %} + +{% content-ref url="curve.md" %} +[curve.md](curve.md) +{% endcontent-ref %} + +{% content-ref url="convex.md" %} +[convex.md](convex.md) +{% endcontent-ref %} + +Although DeFi has grown very quickly and there are now billions of dollars worth of value deposited on these platforms, several of these projects are still in beta and are highly experimental. There may be hidden vulnerabilities in the smart contracts that power these platforms, and there have been multi-million dollar losses caused by vulnerabilities in Ethereum applications in the past. + +We closely monitor security events on the platforms we support and will immediately move to secure OUSD holder funds if we identify any threats. diff --git a/ja/core-concepts/supported-strategies/aave.md b/ja/core-concepts/supported-strategies/aave.md new file mode 100644 index 000000000..cf77e0ffb --- /dev/null +++ b/ja/core-concepts/supported-strategies/aave.md @@ -0,0 +1,20 @@ +# Aave + +Aave is a lending protocol and platform built on Ethereum and launched in January 2020 by the creators of ETHLend. Users on Aave can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and users can choose between a variable interest rate based on supply and demand or a fixed interest rate. + +Collateral balances are represented by ERC-20 aTokens at a 1:1 ratio to the underlying assets they represent. Interest is compounded automatically and paid to lenders with aTokens, meaning lenders will steadily see their aToken balance increase over time. Users can borrow assets against their aTokens. aTokens are freely transferable and can be used on many other DeFi protocols. aTokens can be redeemed for their underlying collateral at any time. + +Aave supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +Aave's governance token was formerly called LEND which was the utility token for ETHLend. As part of their transition to fully decentralized governance, LEND holders were able to exchange LEND for AAVE, a new ERC-20 governance token with staking rewards. Some AAVE tokens have been distributed to users of the platform in a liquidity mining campaign. + +Aave's total value locked (TVL) has quickly grown to over $15.5 billion, making it the largest DeFi protocol at the time of writing. LEND has a circulating market cap of over $5.3 billion. + +Aave has undergone security audits by OpenZeppelin, Trail of Bits, and Consensys Diligence. Aave maintains a bug bounty program. + +| Resources | | +| -------------- | ------------------------------------------------------------------------------ | +| Official site | [https://aave.com/](https://aave.com) | +| Developer docs | [http://docs.aave.com/](http://docs.aave.com) | +| GitHub | [https://github.com/aave/aave-protocol](https://github.com/aave/aave-protocol) | +| Discord | [https://aave.com/discord](https://aave.com/discord) | diff --git a/ja/core-concepts/supported-strategies/balancer.md b/ja/core-concepts/supported-strategies/balancer.md new file mode 100644 index 000000000..f8d9e3c0a --- /dev/null +++ b/ja/core-concepts/supported-strategies/balancer.md @@ -0,0 +1,27 @@ +# Balancer + +{% hint style="info" %} +Coming soon. Balancer has not yet been integrated. +{% endhint %} + +Balancer is a decentralized liquidity protocol and exchange on Ethereum, launched in March 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Balancer is an Automated Market Maker \(AMM\) that allows for liquidity pools of up to 8 different assets with custom weights. Liquidity pools on Balancer can be thought of as similar to Exchange Traded Funds \(ETFs\) or portfolios with weight targets for specific assets. If trading causes the pool to shift from its target weight distribution, exchange rates between assets in the pool change. Arbitrageurs can execute trades to take advantage of this and act to rebalance the pool back to its target weight distribution. Liquidity can also be shared across pools, unlike other AMMs. + +Balancer supports private pools, where only the owner of the pool can contribute liquidity, shared pools, which are completely public, and smart pools, which are shared pools controlled by a smart contract that can implement automated rules and logic. Liquidity providers are given Balancer Pool Tokens \(BPTs\) that represent their share of a given pool and fees. These tokens are freely transferable and can be redeemed for the assets provided and accrued fees. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Balancer pools. + +Balancer is governed by BAL, an ERC-20 governance token. BAL holders can vote on protocol changes. BAL is continuously awarded to liquidity providers and a large portion of the total supply of BAL was allocated to the team and investors on a continuous vesting schedule. + +Trading volumes on Balancer are often over $25 million daily. Balancer has a Total Value Locked \(TVL\) of over $250 million by liquidity providers at the time of writing. + +Balancer has undergone a security audit by Trail of Bits and has a bug bounty program. However, Balancer has suffered a major exploit in June 2020. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://balancer.finance/](https://balancer.finance/) | +| Developer docs | [https://docs.balancer.finance/](https://docs.balancer.finance/) | +| GitHub | [https://github.com/balancer-labs](https://github.com/balancer-labs) | +| Discord | [https://discord.gg/ARJWaeF](https://discord.gg/ARJWaeF) | + diff --git a/ja/core-concepts/supported-strategies/compound.md b/ja/core-concepts/supported-strategies/compound.md new file mode 100644 index 000000000..77e40733e --- /dev/null +++ b/ja/core-concepts/supported-strategies/compound.md @@ -0,0 +1,18 @@ +# Compound + +Compound is a lending protocol and platform built on Ethereum and launched in September 2018. Users can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and interest rates are adjusted automatically based on supply and demand. + +Collateral balances are represented by ERC-20 cTokens, which automatically accrue interest and increase in value over time relative to the underlying asset they represent. Users can borrow assets against the value of their cTokens. cTokens are freely transferable and can be used on many other DeFi protocols. cTokens can be redeemed for their underlying collateral at any time. + +Compound is governed by COMP, an ERC-20 governance token. COMP holders can propose and vote on protocol changes or delegate their votes to someone else. COMP tokens are awarded pro-rata to users of the protocol daily, split equally between borrowers and lenders. A large portion of the COMP token supply was retained by the Compound team, investors, and advisors. + +Compound's total value locked (TVL) has quickly grown to over $10 billion, making it one of the largest DeFi protocols. COMP has a circulating market cap of over $2.5 billion. + +Compound has undergone multiple security audits by OpenZeppelin and Trail of Bits. The Compound protocol was formally verified by CertiK and has undergone economic stress testing by Gauntlet. Compound maintains a bug bounty program. + +| Resources | | +| -------------- | -------------------------------------------------------------------------------------------------------------- | +| Official site | [https://compound.finance/](https://compound.finance) | +| Developer docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/compound-finance/compound-protocol](https://github.com/compound-finance/compound-protocol) | +| Discord | [https://discord.com/invite/cU7vmVW](https://discord.com/invite/cU7vmVW) | diff --git a/ja/core-concepts/supported-strategies/convex.md b/ja/core-concepts/supported-strategies/convex.md new file mode 100644 index 000000000..771280a68 --- /dev/null +++ b/ja/core-concepts/supported-strategies/convex.md @@ -0,0 +1,18 @@ +# Convex + +Convex is an aggregation platform for Curve that launched in May 2021. Convex allows liquidity providers on Curve to earn boosted CRV rewards without having to vote-lock CRV. Convex vote-locks CRV on behalf of users and distributes boosted CRV rewards to them. Convex passes on trading fees earned on Curve to users as well. + +Convex also rewards users with their own ERC-20 governance token, CVX. Convex supports both CRV and CVX staking for additional rewards. Vote-locking CVX is required to participate in Convex governance. + +Convex is one of the few protocols whitelisted to participate in Curve governance and controls a huge amount of vote-locked CRV, making them one of the biggest players in Curve governance. A large proportion of liquidity provided on Curve is now done through Convex. Convex has a Total Value Locked (TVL) of over $15.4 billion in deposits at the time of writing. + +Convex has been audited by MixBytes. + +| | | +| -------------- | ---------------------------------------------------------------- | +| Resources | | +| Official site | [https://www.convexfinance.com](https://www.convexfinance.com) | +| Developer docs | [https://docs.convexfinance.com](https://docs.convexfinance.com) | +| GitHub | [https://github.com/convex-eth](https://github.com/convex-eth) | +| Discord | [https://discord.gg/uAwvZfs9qU](https://discord.gg/uAwvZfs9qU) | + diff --git a/ja/core-concepts/supported-strategies/curve.md b/ja/core-concepts/supported-strategies/curve.md new file mode 100644 index 000000000..40d2aade6 --- /dev/null +++ b/ja/core-concepts/supported-strategies/curve.md @@ -0,0 +1,20 @@ +# Curve + +Curve is a decentralized liquidity protocol and exchange on Ethereum for stablecoins and wrapped BTC, launched in January 2020. Users can swap between popular ERC-20 stablecoins or between ERC-20 representations of bitcoin. Liquidity providers facilitate trading and earn fees. + +Curve is an Automated Market Maker (AMM) where each market has an associated liquidity pool with two or more assets that should have the same value, like USDT, USDC, DAI and TUSD, which are all US dollar pegged stablecoins. The exchange rate between each stablecoin and their relative weights are determined by an algorithm based on supply and demand. Arbitrageurs act to normalize these exchange rates. + +Some of Curve's liquidity pools earn extra fees for liquidity providers on top of the exchange fees from traders. Curve offers stablecoin pools integrated with Compound, yearn.finance, and Synthetix. The assets in each liquidity pool are provided to those platforms to generate additional yield which is passed on to each pool's liquidity providers. Liquidity Provider (LP) tokens are given to pool participants and can be redeemed for their initial liquidity supplied plus accrued fees and yield. LP tokens can also transferred for use in other protocols. + +Curve is governed by CRV, an ERC-20 governance token. CRV holders can vote on protocol changes. CRV holders can stake or "vote-lock" their tokens for additional voting power proportional to time staked. Vote-locking CRV also significantly boosts liquidity provider rewards. CRV is continuously awarded to liquidity providers and a large portion of the total supply of CRV was allocated to the team and investors on a continuous vesting schedule. + +Curve has a Total Value Locked (TVL) of over $20.4 billion by liquidity providers at the time of writing. Hundreds of millions of dollars of trading volume are generated on Curve every day. + +Curve has undergone two audits by Trail of Bits and maintains a bug bounty program. + +| Resources | | +| -------------- | ------------------------------------------------------------------------ | +| Official site | [https://www.curve.fi/](https://www.curve.fi) | +| Developer docs | [https://www.curve.fi/devdocs](https://www.curve.fi/devdocs) | +| GitHub | [https://github.com/curvefi](https://github.com/curvefi) | +| Discord | [https://discord.com/invite/9uEHakc](https://discord.com/invite/9uEHakc) | diff --git a/ja/core-concepts/supported-strategies/dydx.md b/ja/core-concepts/supported-strategies/dydx.md new file mode 100644 index 000000000..24f1a895e --- /dev/null +++ b/ja/core-concepts/supported-strategies/dydx.md @@ -0,0 +1,27 @@ +# dYdX + +{% hint style="info" %} +Coming soon. DyDx has not yet been integrated. +{% endhint %} + +dYdX is a trading and lending protocol and platform built on Ethereum and launched in May 2019. Users can trade assets on dYdX's non-custodial, decentralized exchange or participate in borrowing and lending. The lending protocol enables margin and futures trading. Interest rates are adjusted based on supply and demand and only short term loans are offered. + +Liquidity for assets available for borrowing and lending are pooled together by asset type. Interest paid to lenders is accrued automatically and borrowers must put up collateral to take out a loan. + +dYdX also supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +dYdX has around $40 million in total value locked \(TVL\) at the time of this writing. dYdX does not have a native token. + +dYdX has undergone security audits by OpenZeppelin and Bramah Systems. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://dydx.exchange/](https://dydx.exchange/) | +| Developer docs | [https://docs.dydx.exchange/](https://docs.dydx.exchange/) | +| GitHub | [https://github.com/dydxprotocol/](https://github.com/dydxprotocol/) | +| Discord | [https://discord.gg/yah42Rb](https://discord.gg/yah42Rb) | + + + + + diff --git a/ja/core-concepts/supported-strategies/uniswap.md b/ja/core-concepts/supported-strategies/uniswap.md new file mode 100644 index 000000000..012e25e93 --- /dev/null +++ b/ja/core-concepts/supported-strategies/uniswap.md @@ -0,0 +1,27 @@ +# Uniswap + +{% hint style="info" %} +Coming soon. Uniswap has not yet been integrated. +{% endhint %} + +Uniswap is a decentralized liquidity protocol and exchange on Ethereum, launched in November 2018. Uniswap v2 launched in May 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Markets on Uniswap operate as liquidity pools rather than order books. This type of exchange is called an Automated Market Maker \(AMM\). The exchange rate between the two assets is determined by a constant product formula and moves along a price curve depending on the relative weight of each asset in the pool. This encourages arbitrageurs to enter liquidity pools to rebalance the relative weights and normalize the exchange rate. + +Traders can suffer from slippage if there is not enough liquidity in a given pool and may not be protected from unfavorable exchange rates. Liquidity providers may suffer impermanent loss when the pool exchange rate does not match market realities and arbitrageurs execute trades along the pricing curve. + +Pool participants are given Uniswap Liquidity Provider \(LP\) tokens that correspond to their share of liquidity provided in a given pool. These LP tokens are freely transferable. Participants can exit pools at any time by redeeming these tokens for the assets provided and fees accrued. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Uniswap pools. + +Trading volumes on Uniswap now eclipse that of many traditional exchanges and regularly surpass $200 million daily. Uniswap has over $170 million in Total Value Locked \(TVL\) by liquidity providers. Uniswap does not have a native platform or governance token. + +Uniswap has had its smart contracts audited and formally verfied by dapp.org. Uniswap maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------ | +| Official site | [https://uniswap.org/](https://uniswap.org/) | +| Developer docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/ja/core-concepts/supported-strategies/yearn.finance.md b/ja/core-concepts/supported-strategies/yearn.finance.md new file mode 100644 index 000000000..3f23b9fdb --- /dev/null +++ b/ja/core-concepts/supported-strategies/yearn.finance.md @@ -0,0 +1,25 @@ +# Yearn.finance + +{% hint style="info" %} +Coming soon. Yearn.finance has not yet been integrated. +{% endhint %} + +Yearn.finance, formerly iEarn.finance, is a yield aggregation platform built on Ethereum and launched in January 2020 by Andre Cronje. Yearn manages yield farming and rebalancing strategies using a combination of automation and human decision making on behalf of users who have deposited capital. + +Yearn has two yield aggregation products, Earn and Vaults. Earn allows users to deposit stablecoins or wrapped BTC into liquidity pools on Curve to earn fees and governance token rewards. These assets are also lent out on platforms offering high yield and token rewards, adding to the yield earned. + +Vaults offer a more automated and managed experience. Users deposit assets such as LINK, Curve liquidity provider tokens, or stablecoins and the Vault pools these assets together and deploys the highest earning yield farming strategy as deemed safe by the community and Andre Cronje. Governance tokens earned as rewards are sold off for the original asset deposited and combined with other fees and automatically rolled into the Vault to compound yield. Strategies can be changed frequently and pooling assets together saves gas costs for users. + +Yearn is governed by YFI, an ERC-20 governance token. YFI holders can vote on protocol changes after agreeing to lock up their YFI for 3 days. YFI can also be staked for yield in the governance portal. This yield comes from fees charged to users on Yearn products. YFI was distributed entirely to liquidity providers on Curve and Balancer. There was no allocation for team members or investors. + +Yearn's total value locked \(TVL\) has quickly grown to over $800 million, making it one of the largest DeFi platforms. YFI has a circulating market cap of over $400 million. + +Yearn has undergone multiple security and smart contract audits by CertiK, Quantstamp, HackMD, and CryptoManiacs. Yearn has a reputation for launching experimental products very quickly and warns users that their products are in beta. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://yearn.finance/](https://yearn.finance/) | +| Developer docs | [https://docs.yearn.finance/](https://docs.yearn.finance/) | +| GitHub | [https://github.com/iearn-finance](https://github.com/iearn-finance) | +| Discord | [https://discord.gg/uTmHe8r](https://discord.gg/uTmHe8r) | + diff --git a/ja/core-concepts/wrapped-ousd.md b/ja/core-concepts/wrapped-ousd.md new file mode 100644 index 000000000..bea00ee4b --- /dev/null +++ b/ja/core-concepts/wrapped-ousd.md @@ -0,0 +1,31 @@ +# Wrapped OUSD + +Wrapped OUSD provides a non-rebasing version of OUSD that still earns yield. This makes it easier to use OUSD as a building block for other contracts and it may provide tax benefits in some jurisdictions. + +![Two flavors, up only](https://cdn-images-1.medium.com/max/1600/1\*cqRG-8-64XYx9QChoMxk3g.png) + +### How wrapped OUSD works + +When you wrap OUSD, you get back a fixed number of wOUSD tokens. This number will not go up - you will have the same number of wOUSD tokens tomorrow as you have today. However, the number of OUSD tokens that you can unwrap will go up over time. + +For example, if you wrap 10,000 OUSD, you might receive 9,423 wOUSD. If you hold for a while, you will still have 9,423 wOUSD, but when you unwrap the wOUSD, you receive 11,500 OUSD. + +Both OUSD and wOUSD earn at the same rate and can be transferred just like any other ERC-20 token. wOUSD is one of the first implementations of [EIP-4626](https://eips.ethereum.org/EIPS/eip-4626), which is an extension on ERC-20 that provides basic functionality for depositing and withdrawing tokens and reading balances on a tokenized vault. wOUSD was independently [audited by Solidified](https://github.com/OriginProtocol/security/blob/3dc8c1dec2f6fbf4f7d0bdf92408f79262624647/audits/Solidified%20-%20OGV,%20wOUSD,%20and%20ERC721a%20-%20May%202022.pdf) in May 2022 and is ready for production use. + +### Wrapping + +If you don’t already have OUSD, you can buy it from Gate.io, KuCoin, Curve, Uniswap, or [get it directly from the OUSD DApp](https://www.youtube.com/watch?v=UabjvL-7iu4). + +Once you have OUSD in your wallet, visit [ousd.com/wrap](https://ousd.com/wrap) and follow these steps: + +1. Connect your wallet +2. Enter the amount of OUSD that you want to wrap +3. Submit the allowance for the wOUSD contract to use your OUSD +4. Submit the transaction to wrap your OUSD + +![ousd.com/wrap](https://cdn-images-1.medium.com/max/1600/1\*57fSZSSlzebhpIl8R4UqUQ.png) + +### Unwrapping + +Unwrapping your OUSD does not require any approvals since you already hold the wOUSD in your wallet. There's also no minimum term or lock-up period. You can use the same form shown above and just click the arrow to flip it to unwrap mode. This form calls the `redeem` function to unwrap a spcific amount of wOUSD. You can also [use Etherscan](https://etherscan.io/address/0xd2af830e8cbdfed6cc11bab697bb25496ed6fa62#writeProxyContract) to call the `withdraw` function if you prefer to specify the amount of OUSD that you want to be taken out. + diff --git a/ja/core-concepts/yield-generation/README.md b/ja/core-concepts/yield-generation/README.md new file mode 100644 index 000000000..b1d3861bc --- /dev/null +++ b/ja/core-concepts/yield-generation/README.md @@ -0,0 +1,30 @@ +# Yield Generation + +**Automated Yield Farming** + +While the Cambrian explosion of new lending and automated market maker pools has fueled total value locked (TVL), it has also made it increasingly challenging for yield farmers to manually allocate capital in efficient and optimal ways. + +[Yearn](https://yearn.finance) has demonstrated that smart contracts can automate the rebalancing of funds across various strategies to optimally earn lending interest, market-making fees, and rewards tokens. Over time, new strategies will be deployed that maximize returns while minimizing risk and dependencies. + +![Automated yield farming on the OUSD protocol](../../.gitbook/assets/ousd_earnings_graphic.png) + +OUSD uses the following high-level strategies for generating yield: + +{% content-ref url="lending.md" %} +[lending.md](lending.md) +{% endcontent-ref %} + +{% content-ref url="market-making.md" %} +[market-making.md](market-making.md) +{% endcontent-ref %} + +{% content-ref url="rewards.md" %} +[rewards.md](rewards.md) +{% endcontent-ref %} + +OUSD is able to generate higher yields than competing protocols due to a combination of important design decisions that amplify the rewards that are returned to OUSD holders: + +* Exit fees are returned to the pool, rewarding long term holders +* Price oracles favor the collective over the individual, again rewarding long term holders +* Smart contracts must manually opt-in to earn yield. This allows the protocol to put more capital to work than would be otherwise possible. +* Smart strategies balance risk and reward more effectively than deploying capital in any single underlying strategy. diff --git a/ja/core-concepts/yield-generation/lending.md b/ja/core-concepts/yield-generation/lending.md new file mode 100644 index 000000000..fa7607781 --- /dev/null +++ b/ja/core-concepts/yield-generation/lending.md @@ -0,0 +1,26 @@ +# Lending + +**Unbank the Banked** + +DeFi lending platforms let users lend and borrow crypto assets without any middlemen. Both lenders and borrowers get more value from their crypto. Lenders earn interest, while borrowers deposit crypto as collateral to gain access to credit without traditional banking headaches. DeFi lending platforms currently provide far superior returns for lenders than are generally available in the traditional markets. + +OUSD integrates with DeFi lending platforms that provide over-collateralized loans. Over-collateralization, combined with smart rules around liquidations, provide a reasonable level of security for lenders. Aave also additionally secures their lending pools with AAVE tokens respectively, further lowering risk. + +OUSD integrates with leading lending providers that have a proven track record, audited smart contracts, and have successfully lent hundreds of millions of dollars without issue. We are currently integrated with the following lending platforms: + +{% content-ref url="../supported-strategies/compound.md" %} +[compound.md](../supported-strategies/compound.md) +{% endcontent-ref %} + +{% content-ref url="../supported-strategies/aave.md" %} +[aave.md](../supported-strategies/aave.md) +{% endcontent-ref %} + + + + + + + + + diff --git a/ja/core-concepts/yield-generation/market-making.md b/ja/core-concepts/yield-generation/market-making.md new file mode 100644 index 000000000..464b5f13e --- /dev/null +++ b/ja/core-concepts/yield-generation/market-making.md @@ -0,0 +1,22 @@ +# Market Making + +**Own your Stake in Decentralized Exchanges** + +Automated market makers (AMMs) have quickly risen as the preferred form of decentralized exchange on the Ethereum network. This is in part due to the difficulty of supporting order book DEXes on Ethereum 1.0 that can rival the instant and low-slippage experiences on centralized exchanges. Further, AMMs like Uniswap are relatively user-friendly and gas-efficient to use. + +AMMs can only enable new markets when liquidity providers supply liquidity (e.g. multiple tokens for given trading pairs or pools). In return for providing liquidity, liquidity providers are rewarded with trading fees when other users swap tokens. For example, when traders swap two tokens on Uniswap v3, they are currently charged anywhere between 0.05% and 1% on top of the gas fees. These fees are distributed pro-rata to liquidity providers of the pair based on the percentage of total liquidity that they have provided. + +{% hint style="info" %} +[Impermanent loss](https://medium.com/@pintail/uniswap-a-good-deal-for-liquidity-providers-104c0b6816f2) is an important risk factor to understand, but this concern is largely mitigated by OUSD only providing liquidity for stablecoins of approximately equal value. +{% endhint %} + +The OUSD protocol routes USDT, USDC, and DAI to highly-performing liquidity pools as determined by trading volume and rewards tokens (e.g. Curve rewards CRV tokens to liquidity providers). Yields are then passed on to OUSD holders. + +We are currently integrated with the following automated market maker: + +{% content-ref url="../supported-strategies/curve.md" %} +[curve.md](../supported-strategies/curve.md) +{% endcontent-ref %} + + + diff --git a/ja/core-concepts/yield-generation/rewards.md b/ja/core-concepts/yield-generation/rewards.md new file mode 100644 index 000000000..f598afe7c --- /dev/null +++ b/ja/core-concepts/yield-generation/rewards.md @@ -0,0 +1,12 @@ +# Rewards + +**Collecting Rewards** + +In addition to collecting interest from lending and fees from market making, we intend to automatically claim and convert the bonus incentives that are being distributed by many of the DeFi protocols. For example, Compound gives away COMP tokens and Curve gives away CRV tokens. These bonus rewards will be regularly converted into stablecoins, deployed in the market, and distributed to OUSD holders in the form of additional yield. + +{% hint style="info" %} +While the vault safely stores any unexpected rewards that it receives, custom strategies will need to be written and deployed to decide when and how the protocol should convert them to stablecoins. +{% endhint %} + +Today, rewards are a significant factor for yield farmers as they represent a large percentage of their returns. We anticipate that the OUSD protocol will be upgraded over time to take advantage of the most attractive yields available across the DeFi landscape. The protocol will factor in the market value of the various rewards being offered when deciding how to best allocate resources. + diff --git a/ja/faq.md b/ja/faq.md new file mode 100644 index 000000000..6d47859ae --- /dev/null +++ b/ja/faq.md @@ -0,0 +1,33 @@ +# FAQ + +**Where can I buy OUSD?** + +Check out [Getting Started](https://docs.ousd.com/getting-started) to see a variety of options. + +**What are the costs to mint and redeem OUSD?** + +As with any Ethereum transaction, you will need Ether to interact with the OUSD smart contract. We have taken measures to reduce gas usage where possible, but these costs can vary. + +Anytime you mint or redeem OUSD, there will be an exchange rate applied to your stablecoins deposited or withdrawn. You can read more about this in [Price Oracles](https://docs.ousd.com/core-concepts/price-oracles). + +To encourage long-term holding of OUSD and to protect the protocol from attackers, an exit fee of 0.25% is charged on all redeems. You can read more about this in [How It Works](https://docs.ousd.com/how-it-works). + +**How soon will my balance increase once I have OUSD?** + +The amount of OUSD in your wallet will grow each time there is a positive rebase event. You can read more about this in [Elastic Supply](https://docs.ousd.com/core-concepts/elastic-supply). The supply is currently rebased several times per day and is usually correlated with how many people are minting and redeeming OUSD. + +**Why does OUSD not grow when it's held in Uniswap, SushiSwap, etc?** + +By default, rebase events don't affect the supply of OUSD that is sitting in smart contracts. These contracts can opt in to receiving additional OUSD if they are capable of handling elastic supply tokens. You can read more about this in [Rebasing & Smart Contracts](https://docs.ousd.com/core-concepts/elastic-supply/rebasing-and-smart-contracts). + +**How is it possible for the APY to be so high?** + +You can read about our various strategies in [Yield Generation](https://docs.ousd.com/core-concepts/yield-generation). We currently get most of the yield from harvesting rewards tokens (namely COMP and CRV). Additionally, the yield increases as more OUSD is held in smart contracts that do not opt into rebasing since the underlying collateral continues to earn for the average OUSD holder. + +**Why is my balance increasing at a slower rate than the advertised APY?** + +OUSD balances increase when the supply is rebased. But the size of each rebase varies wildly depending on how much the vault has earned since the last rebase. And while most rebases collect a small amount earnings from lending strategies, other rebases involve liquidating rewards tokens or collecting fees. As a result, the yield will vary significantly during short time periods. + +**What about the hack? Is OUSD safe?** + +On November 7th 2020, OUSD was exploited for 7M USD due to a previously undetected reentrancy bug. You can read more [details about the hack](https://medium.com/originprotocol/urgent-ousd-has-hacked-and-there-has-been-a-loss-of-funds-7b8c4a7d534c) on our blog as well as the [detailed compensation plan](https://medium.com/originprotocol/origin-dollar-ousd-detailed-compensation-plan-faa73f87442e) for taking care of the affected users. Origin Dollar was relaunched in December after completing multiple audits and security upgrades. You can learn more about the steps taken to secure the protocol in our [relaunch announcement](https://medium.com/originprotocol/origin-dollar-ousd-is-back-b8ee0c601dad). diff --git a/ja/getting-started.md b/ja/getting-started.md new file mode 100644 index 000000000..a02770326 --- /dev/null +++ b/ja/getting-started.md @@ -0,0 +1,71 @@ +# Getting Started + +These docs are intended to explain how OUSD works, communicate the potential risks and benefits, and provide a guide for developers who wish to contribute to our codebase or integrate OUSD into their products. Here are a few ways for you to dive in and get started. + +**Buying OUSD** + +{% hint style="info" %} +The [Origin Dollar DApp](https://ousd.com/swap) will intelligently route your transaction to get you the best rate. +{% endhint %} + +The [Origin Dollar DApp](https://ousd.com/swap) allows anyone to buy or sell OUSD using a web-3 enabled cryptocurrency wallet like [Metamask](https://www.metamask.io), [Ledger](https://www.ledger.com), or [Gnosis Safe](https://gnosis-safe.io). This is the native way to get OUSD, especially if you want a large amount that could risk moving the market on other exchanges. The DApp will intelligently decide whether to create or trade-in OUSD tokens using the vault or help you complete the trade on whichever AMM is currently offering the best rate. + +**Decentralized Exchanges** + +OUSD is currently available on the following decentralized exchanges. These are listed here for reference only. We recommend using the [Origin Dollar DApp](https://ousd.com/swap) to ensure you always get the best rate. + +* [Buy OUSD on 1inch](https://app.1inch.io/#/1/swap/USDT/OUSD) +* [Buy OUSD on Curve](https://curve.fi/factory/9) +* [Buy OUSD on Uniswap v3](https://app.uniswap.org/#/swap?inputCurrency=0xdac17f958d2ee523a2206206994597c13d831ec7\&outputCurrency=0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86) +* [Buy OUSD on Uniswap v2](https://app.uniswap.org/#/swap?inputCurrency=0xdac17f958d2ee523a2206206994597c13d831ec7\&outputCurrency=0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86\&use=v2) +* [Buy OUSD on Sushiswap](https://exchange.sushiswapclassic.org/#/swap?inputCurrency=0xdac17f958d2ee523a2206206994597c13d831ec7\&outputCurrency=0x2a8e1e676ec238d8a992307b495b45b3feaa5e86) + +**Centralized Exchanges** + +OUSD is currently available on the following centralized exchanges. Be sure to check on how they are handling the yield that is being generated by the protocol. Depending on the exchange, there may be additional steps you need to take to participate in the yield while it's being held in their custody. + +* Buy OUSD on KuCoin + * [OUSD/USDT](https://trade.kucoin.com/OUSD-USDT) + * [OUSD/BTC](https://trade.kucoin.com/OUSD-BTC) +* Buy OUSD on Gate.io + * [OUSD/USDT](https://www.gate.io/trade/OUSD\_USDT) +* Buy OUSD on Virgox + * [OUSD/USDT](https://virgox.com/exchange/141) +* [Buy OUSD on Dharma App](https://www.dharma.io) (US only) + +We're continuing to work on making OUSD available on additional centralized exchanges. + +**Adding OUSD to Your Wallet** + +{% hint style="success" %} +The main ERC20 address for Origin Dollar (OUSD) is: \ +**0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +If your OUSD does not automatically show up in your wallet, you should be able to add it manually using the address above. If you are planning on [storing your OUSD in a multi-sig wallet](core-concepts/elastic-supply/rebasing-and-smart-contracts.md), be sure to opt-in to receive yield. We want to have OUSD supported by as many wallets as possible and included on all the various lists of well-known tokens. We would greatly appreciate any help you can offer in this area. + +**Integrating OUSD** + +OUSD is a non-standard ERC-20 token that requires custom integration work for most applications that wish to support it. In particular, it is important for developers to understand how our elastic supply works as this can easily cause unexpected behavior. + +If you are a wallet provider or crypto exchange that is interested in supporting OUSD, please refer to the following guides: + +{% content-ref url="core-concepts/elastic-supply/rebasing-and-smart-contracts.md" %} +[rebasing-and-smart-contracts.md](core-concepts/elastic-supply/rebasing-and-smart-contracts.md) +{% endcontent-ref %} + +{% content-ref url="smart-contracts/architecture.md" %} +[architecture.md](smart-contracts/architecture.md) +{% endcontent-ref %} + +{% content-ref url="smart-contracts/api/" %} +[api](smart-contracts/api/) +{% endcontent-ref %} + +**Developer Analytics** + +Our internal developer dashboard is available at [analytics.ousd.com](https://analytics.ousd.com). The dashboard shows the current circulating supply, the assets under management in the vault, and the current allocations between each of the stablecoins and strategies. + +**Getting Help** + +Please join the Origin Dollar #engineering room in Origin's [Discord](https://www.originprotocol.com/discord) server. Our team and members of our community look forward to helping you build. Your questions help us improve, so please don't hesitate to ask if you can't find what you are looking for here. diff --git a/ja/governance/admin-privileges.md b/ja/governance/admin-privileges.md new file mode 100644 index 000000000..30ed8065a --- /dev/null +++ b/ja/governance/admin-privileges.md @@ -0,0 +1,32 @@ +# Admin Privileges + +The OUSD smart contracts are designed to be owner upgradable. The Origin team uses two different Gnosis multisig wallet contracts in order to make changes to the protocol. These multisig wallets have been [audited by OpenZeppelin](https://blog.openzeppelin.com/gnosis-multisig-wallet-audit-d702ff0e2b1e/), [ConsenSys Dilligence](https://blog.gnosis.pm/the-gnosis-multisig-wallet-and-our-commitment-to-security-ce9aca0d17f6), Origin’s team, and others. + +{% hint style="info" %} +Time-delayed admin actions gives users a chance to exit OUSD if its admins become malicious, are compromised, or make a change that the users do not like. +{% endhint %} + +### Admin + +The primary admin is a 5 of 8 multisig contract which is required to make any code changes to the protocol. OUSD can only be upgraded from this 5 of 8 multi-sig wallet. The keys to this multi-sig are held by individuals with close ties to the company, and not even the Origin founders acting together have enough control to execute owner functions on their own. In addition, the OUSD contracts are owned by a [timelock](../smart-contracts/api/timelock.md) which places a 48 hour time delay before any changes to the protocol can be made. + +### Strategist + +Some functionality, such as rebalancing funds between strategies or pausing deposits, can be triggered without the timelock and with far fewer signers. This allows the Origin team to react more quickly to market conditions or security threats. These signers, known as Strategists, have the ability to execute a limited number of functions __ with only 2 of 9 signers. + +The strategist multisig can do the following actions on the vault: + +* reallocate - move funds between strategies +* setVaultBuffer - adjust the amount of funds held outside strategies for cheaper redeems. +* setAssetDefaultStrategy - which strategy mints and redeems pull from for a particular strategy +* withdrawAllFromStrategy - remove funds from a single strategy and send them to the vault +* withdrawAllFromStrategies - remove funds from all active strategies and send them to the vault +* pauseRebase - pause all rebases +* pauseCapital - pause all mints and redeems +* unpauseCapital - allow all mints and redeems + +### Future + +Having these admin privileges is necessary in the early days to ensure that the protocol is secure and optimized for earning yields while minimizing risks. We expect to release multiple iterations of our smart contracts in the first several months of the protocol's existence. + +Once several upgrade cycles have been completed, we intend to transfer ownership from our company control to a decentralized governance contract, thereby allowing the community to vote and participate in future protocol updates. diff --git a/ja/governance/contributing.md b/ja/governance/contributing.md new file mode 100644 index 000000000..5b63d22c7 --- /dev/null +++ b/ja/governance/contributing.md @@ -0,0 +1,103 @@ +# Contributing + +**100% Open-source** + +OUSD is an entirely open-source project and we welcome contributions of all sorts. There are many ways to help, from reporting issues, contributing code, and helping us improve our community. + +{% content-ref url="broken-reference" %} +[Broken link](broken-reference) +{% endcontent-ref %} + +We work in public and our company Discord is open to all. If you have questions or need help getting started, our [Discord OUSD channels](https://discord.gg/jyxpUSe) are the best place to get assistance from our team and community. + +{% content-ref url="broken-reference" %} +[Broken link](broken-reference) +{% endcontent-ref %} + +**Developer Analytics** + +Our internal developer dashboard is available at [analytics.ousd.com](https://analytics.ousd.com). The dashboard shows the current circulating supply, the assets under management in the vault, and the current allocations between each of the stablecoins and strategies. Various other developer tools can be found at [ousd.com/dashboard](https://ousd.com/dashboard). + +#### Development Process + +Our branching strategy is similar to [GitFlow](http://nvie.com/posts/a-successful-git-branching-model/), but we do all of our development in the `master` branch and have a `stable` branch for code that has been released. + +Your development flow should look like: + +1. Find an interesting issue and communicate! Please let the `#engineering` [Discord](https://discord.gg/jyxpUSe) channel know what you want to work on. +2. Ping a [core team member](https://github.com/orgs/OriginProtocol/teams/core/members) member on Discord and ask to be added to our [contributors team](https://github.com/orgs/OriginProtocol/teams/contributors). Otherwise, you’ll need to fork the relevant repository and push feature branches to your own fork. +3. Add a comment to the issue or self-assign so we don’t have multiple contributors unintentionally working on the same task. +4. Start with the `master` branch and check out a new feature branch unless you’re contributing to an existing feature. +5. Write some awesome code. +6. Pull the latest commits from `master` and confirm that your code works with any other work that has been merged since you started. +7. Push your branch to the upstream repository (i.e. https://github.com/OriginProtocol/\[repo]) so that other contributors can easily work off of it if necessary. +8. Please request a review in the PR by clicking on the gear icon next to “Reviewers” in the right column. + +For critical smart contract code to be merged it must pass the following checklist: + +* Code reviewed by 2 reviewers +* Unit tests pass +* Slither tests pass with no warning +* Echidna tests pass + +The `master` branch is locked so that only members of the [core team](https://github.com/orgs/OriginProtocol/teams/core) are able to merge your pull requests. Pull requests that are peer-reviewed by other trusted contributors will be fast-tracked and merged faster! Check in the `#engineering` Discord channel for appropriate reviewers. + +#### Coding Style + +We use a variety of programming languages in our repositories. When contributing, please follow existing coding conventions and refer to the CONTRIBUTING.md file in the repository, if one exists. + +For JavaScript, we use [NPM’s style](https://docs.npmjs.com/misc/coding-style), which is automatically enforced via [prettier](https://prettier.io). + +For Solidity, we use two-space indents. + +#### Protocol Design + +When considering protocol or implementation design proposals, we are looking for: + +* A description of the problem this design proposal solves +* Discussion of the trade-offs involved +* Review of other existing solutions +* Links to relevant literature (RFCs, papers, etc) +* Discussion of the proposed solution + +Please note that protocol design is hard and meticulous work. You may need to review existing literature and think through generalized use cases. + +#### Community Guidelines + +We want to keep the Origin community awesome, growing and collaborative. We need your help to keep it that way. To help with this we’ve come up with some general guidelines for the community as a whole: + +* Be nice: Be courteous, respectful and polite to fellow community members: no regional, racial, gender, or other abuse will be tolerated. We like nice people way better than mean ones! +* Encourage diversity and participation: Make everyone in our community feel welcome, regardless of their background and the extent of their contributions, and do everything possible to encourage participation in our community. +* Keep it legal: Basically, don’t get anybody in trouble. Share only content that you own, do not share private or sensitive information, and don’t break laws. +* Stay on topic: Make sure that you are posting to the correct channel and avoid off-topic discussions. Remember when you update an issue or respond to an email you are potentially sending to a large number of people. Please consider this before you update. Also remember that nobody likes spam. + +#### Reporting Issues + +If you find bugs, mistakes or inconsistencies in Origin’s code or documents, please let us know by filing a GitHub issue. No issue is too small. Help us fix our tpyos! + +#### Security Issues + +OUSD is still in early development, which means there may be problems with the protocol or in our implementations. We take security vulnerabilities very seriously. If you discover a security issue, please bring it to our attention right away! + +If you find a security vulnerability please send your report privately to [security@originprotocol.com](mailto:security@originprotocol.com) or send an encrypted message to [@joshfraser on Keybase](https://keybase.io/joshfraser). Please DO NOT file a public issue. Be sure to review our guidelines for responsible disclosure and eligibility for bug bounties. + +{% content-ref url="../security-and-risks/bug-bounties.md" %} +[bug-bounties.md](../security-and-risks/bug-bounties.md) +{% endcontent-ref %} + +#### **Community Improvement** + +Origin is just as much about community as it is about our technology. + +We need constant help in improving our documentation, building new tools to interface with our platform, spreading the word to new users, helping new users getting setup and much more. + +Please get in touch if you would like to help out. Our `discussion` channel on [Discord](https://www.originprotocol.com/discord) is a great place to share ideas and volunteer to help. + +#### Full-Time Positions + +Origin occasionally hires developers for part-time or full-time positions. + +We have a strong preference for hiring people who have already started contributing to the project. If you want a full-time position on our team, your best shot is to engage with our team and start contributing code. It is very unlikely that we would offer you a full-time position on our engineering team unless you’ve had at least a few pull requests merged. + +If you are interested, check out [the Origin Protocol job listings](https://angel.co/originprotocol/jobs). If you’d like to help in other ways, please propose your ideas in [our Discord channel](https://www.originprotocol.com/discord). + diff --git a/ja/governance/governance.md b/ja/governance/governance.md new file mode 100644 index 000000000..eea11a787 --- /dev/null +++ b/ja/governance/governance.md @@ -0,0 +1,26 @@ +# Principles + +**Progressive Decentralization** + +OUSD is designed to be a decentralized protocol governed by many stakeholders all over the world. We believe that the minters and holders of OUSD should collectively determine important protocol decisions as soon as possible. + +That being said, in the very early days, it is imperative that the core engineering team can act quickly and decisively to build the foundational parts of the protocol. + +Decentralization will progress across four phases rapidly over the next few months. It is our intent to relinquish control and governance to the community as soon as possible. + +![](../.gitbook/assets/ousd_docs_graphics_2%20%283%29.png) + +**Timelock** + +Prior to full decentralized governance, we will implement a [timelock](../smart-contracts/api/timelock-1.md) in front of all admin function calls, giving OUSD users time \(48 hours\) to withdraw their funds if they have objections to our proposed upgrades. This timelock will be added shortly after launch. + +**New and Existing Stakeholders** + +OUSD is a new project founded by Origin Protocol [team](www.originprotocol.com/team) and will be supported by the existing Origin community as well as many new stakeholders that choose to mint, hold, use, and provide liquidity for OUSD. + +In addition, we also want to ensure high participation from our existing Origin Token \(OGN\) holders, community of close to 500,000 members, and buyers/sellers on the Platform. Existing OGN holders will be able to stake their OGN to participate in governance and earn incentives for driving value to OUSD. More details will be provided in the near future. + +The strong connection between OUSD and the rest of the Origin commerce platform will fuel growth in both initiatives. + + + diff --git a/ja/governance/ogn-staking.md b/ja/governance/ogn-staking.md new file mode 100644 index 000000000..e7a3e0bc2 --- /dev/null +++ b/ja/governance/ogn-staking.md @@ -0,0 +1,18 @@ +# OGN Staking + +Origin Token (OGN) is intended as the governance token for OUSD and OGN will play an increasingly important role as the Origin Platform becomes more decentralized. Today, users can stake their OGN tokens to earn additional OGN after a chosen staking period has elapsed. + +{% hint style="info" %} +Visit the [OUSD DApp](https://www.ousd.com/stake) in a web3-enabled browser to stake your OGN. +{% endhint %} + +The initial staking program offers three staking periods and respective yields: + +* 30-day staking period: Earn 7.5% annualized interest +* 90-day staking period: Earn 12.5% annualized interest +* 365-day staking period: Earn 25% annualized interest + +Staked tokens will be locked for the duration of the staking period. After each staking period ends, you will be able to claim both your initial OGN (principal) and yield. + +OGN is currently trading on top exchanges like [Coinbase](https://www.coinbase.com/price/origin-token), [Binance](https://www.binance.com/en/register?ref=NPPYAEAE), [Huobi](https://www.huobi.com/en-us/exchange/ogn_usdt/), [Upbit](https://upbit.com/exchange?code=CRIX.UPBIT.BTC-OGN), [Bittrex Global](https://global.bittrex.com/Market/Index?MarketName=BTC-OGN), and [dozens more](https://coinmarketcap.com/currencies/origin-protocol/markets/). Visit the Origin website to [learn more about OGN](https://www.originprotocol.com/ogn-token) or check out the [OGN Dashboard](https://www.originprotocol.com/dashboard) to track important token metrics. + diff --git a/ja/governance/phases.md b/ja/governance/phases.md new file mode 100644 index 000000000..4b45be826 --- /dev/null +++ b/ja/governance/phases.md @@ -0,0 +1,6 @@ +# Phases + +Progressive decentralization will follow four phases as outlined below. + +![](../.gitbook/assets/ousd_docs_graphics_2%20%282%29.png) + diff --git a/ja/governance/principles.md b/ja/governance/principles.md new file mode 100644 index 000000000..b809ce66f --- /dev/null +++ b/ja/governance/principles.md @@ -0,0 +1,30 @@ +# Principles + +**Governance Portal** + +OGN holders are encouraged to participate in creating and voting on proposals that impact the protocol in the [OGN governance portal](https://vote.originprotocol.com). Anyone with at least 1,000 OGN in their wallet or staked in our OGN Staking contract can create a new proposal using Snapshot. All OGN holders are able to vote for proposals. Our desire is for our community to have a strong impact on the direction of Origin’s products, open-source codebase, and to have a voice in key business decisions and the overall direction of the project. + +OGN holders can also [delegate votes](vote-delegation.md) to another account. + +**Progressive Decentralization** + +OUSD is designed to be a decentralized protocol governed by many stakeholders all over the world. We believe that the holders of OUSD should collectively determine important protocol decisions as soon as possible. + +That being said, in the very early days, it is imperative that the core engineering team can act quickly and decisively to build the foundational parts of the protocol. + +Decentralization will progress across four phases rapidly over the next few months. It is our intent to relinquish control and governance to the community as soon as possible. + +![](../.gitbook/assets/ousd\_docs\_graphics\_2 (2).png) + +**Timelock** + +Prior to full decentralized governance, we will implement a [timelock](../smart-contracts/api/timelock.md) in front of all admin function calls, giving OUSD users time to withdraw their funds if they have objections to our proposed upgrades. + +**New and Existing Stakeholders** + +OUSD is a new project founded by Origin Protocol [team](https://www.originprotocol.com/team) and will be supported by the existing Origin community as well as many new stakeholders that choose to mint, hold, use, and provide liquidity for OUSD. + +In addition, we also want to ensure high participation from our existing Origin Token (OGN) holders and the millions of people in our community. Existing OGN holders are able to [stake their OGN](ogn-staking.md) to participate in governance and earn incentives for driving value to OUSD. + +The strong connection between OUSD and the rest of the Origin commerce platform will fuel growth in both initiatives. + diff --git a/ja/governance/vote-delegation.md b/ja/governance/vote-delegation.md new file mode 100644 index 000000000..9a8149d2f --- /dev/null +++ b/ja/governance/vote-delegation.md @@ -0,0 +1,18 @@ +# Vote Delegation + +OGN holders can forward their voting power on the [Governance Portal](https://vote.originprotocol.com/#/) to another Ethereum address. Choosing this option does not strip the delegator of their voting power. The delegatee receives the extra voting power only on proposals the delegator has not voted on. + +This is convenient when users want someone they trust or even one of Origin's team members to make governance decisions regarding Origin's ecosystem. It is also useful when users have OGN stored more safely in a hardware wallet and don’t want to go through the hassle of connecting it to the computer. A more accessible Ethereum wallet e.g. Metamask can be used to vote by having voting power delegated to it from the hardware wallet.\ + + +**How to Delegate** + +* Go to: [https://snapshot.org/#/delegate](https://snapshot.org/#/delegate). +* Type in the address or ENS name you want to delegate to. +* There is an option to limit the delegation power to only Origin’s products by selecting _Limit delegation to a specific space_ and typing in “origingov.eth”. +* Click confirm to save your delegation.\ + + +![](../.gitbook/assets/Screenshot 2022-03-20 at 10.47.43.png) + +After completing these steps, the OGN voting power is successfully delegated to the address specified. diff --git a/ja/guides/incentivized-harvesting-guide.md b/ja/guides/incentivized-harvesting-guide.md new file mode 100644 index 000000000..a24597e9c --- /dev/null +++ b/ja/guides/incentivized-harvesting-guide.md @@ -0,0 +1,46 @@ +# Incentivized Harvesting Guide + +The OUSD Harvester contract collects reward tokens earned by the OUSD strategies, sells them, and sends them on to increase protocol yield. **Anyone can call the harvest and earn 1% of the resulting USDT** for doing so. This creates a self-incentivizing system that operates at a known cost to the protocol. + +### When to call + +You'll want to call this contract when it is profitable to do so. You gain the 1% harvest USDT given by the contract, and spend the gas cost to send the transaction. + +The simplest way to calculate both of these is to simulate the transaction. You can then look at the resulting transfers to know the income received, and you can look at the gas amount used, the current gas prices, and the current cost of ETH, to find out the cost. + +Alternatively you can precompute the gas used for a given strategy's harvest, look up the pending reward tokens using various online services, then do your calculations without using the blockchain. + +The amount of rewards increases at a fairly steady, predictable rate. The primary variation is in gas prices, which will make a much bigger minute to minute difference on when you should call this. + +When calculating profitability, remember to account for the cost to swap back to ETH from USDT. + +### How to call + +When you call the harvest, **you will want to use some form of MEV protection**. Otherwise bots will see that your transaction is profitable, and execute it ahead of you, leaving you no gain and only gas fees. + +To harvest, you call `harvester.harvestAndSwap(strategyAddress, rewardTo)`. + +The harvester address and strategyAddresses can be found in the strategy tab of the [contract registry](../smart-contracts/registry.md). The `rewardTo` address is the account that will receive the USDT funds as a reward for calling the function - use your own address for it. + +Below is the harvestAndSwap ABI: + +``` +[{ + "inputs": [ + { + "internalType": "address", + "name": "_strategyAddr", + "type": "address" + }, + { + "internalType": "address", + "name": "_rewardTo", + "type": "address" + } + ], + "name": "harvestAndSwap", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" +}] +``` diff --git a/ja/guides/integration-guide-for-exchanges.md b/ja/guides/integration-guide-for-exchanges.md new file mode 100644 index 000000000..cda6f2cd1 --- /dev/null +++ b/ja/guides/integration-guide-for-exchanges.md @@ -0,0 +1,34 @@ +# Integration Guide For Exchanges + +Centralized exchanges will play an important role in helping us reach our goal of making OUSD ubiquitous. We are happy to help any exchange that wants to make OUSD available to its users. We believe OUSD will make a great addition to any exchange that wants to offer both a superior stablecoin and a new high-yield opportunity for their users. + +These docs are a great starting point for understanding how OUSD works. Here are some important questions for exchanges that wish to integrate OUSD to consider: + +**Do you want to participate in the yield that is generated?** + +We're assuming the answer will be yes and we highly encourage this as well! However, there may be some instances where you would prefer to move fast and list OUSD without participating in the [rebasing nature of OUSD](../core-concepts/elastic-supply/rebasing-and-smart-contracts.md) since it's the fastest and simplest integration. For exchanges that want to list OUSD, but are strapped for engineering resources, you may want to launch the non-rebasing version first while your engineers make whatever changes are necessary. To make OUSD non-rebasing you can call `rebaseOptOut()` from each EOA wallet that holds OUSD, or do nothing if you are storing OUSD on smart contracts. Non-rebasing OUSD behaves just like any other ERC-20 token. + +**Are you storing customer balances on smart contracts (ie. multi-sigs) or EOA wallets?** + +Any smart contract that is holding OUSD needs to manually opt-in to receive the yield by calling `rebaseOptIn()`. This is due to the [elastic supply](../core-concepts/elastic-supply/) and the [rebasing nature of OUSD](../core-concepts/elastic-supply/rebasing-and-smart-contracts.md). Many exchanges sweep customer funds into a multi-sig wallet for cold storage. If you do this, you'll want to make sure that you opt-in to rebasing so that you are always earning. + +**Are you caching user balances?** + +OUSD dynamically updates the value returned by the `balanceOf()` function on our ERC20 contract. Users' balances will update at unpredictable times as new yield is generated by the protocol. As long as you aren't caching this value, users will always see the correct amount of OUSD that they are holding. + +It's important to note that while OUSD is a rebasing token, user balances will only rebase in a positive direction (your balance will never go down). This makes things a lot simpler than integrating with other rebasing coins like AMPL or other algo-stables. + +**Are you comingling user funds?** + +If you are comingling funds, you'll want to be sure that each user gets their pro-rata amount of the yield that is generated by the protocol. Probably the easiest way to do this is to track each user's balance as a percentage of a pool instead of as a fixed amount. + +**Are you planning to provide liquidity?** + +The Origin team is often willing to provide a market maker and initial liquidity for exchanges that wish to integrate OUSD. There are also 9 figures worth of liquidity available on decentralized exchanges like [Curve](https://curve.fi/factory/9). + +If you are interested in using OUSD to power your own staking or earning program, you will probably want to be able to access OUSD on demand. OUSD can always be minted or redeemed using the [Origin Dollar DApp](https://www.ousd.com), or directly from the OUSD [smart contracts](../smart-contracts/registry.md). If you are planning on providing liquidity yourself, you should be aware that the exact amount of OUSD you will receive in exchange for your USDT, USDC, or DAI depends on the current exchange rates as determined by the [oracles.](../core-concepts/price-oracles.md) If you are planning on redeeming OUSD for the underlying stablecoins, you should know there is a 0.25% exit fee and OUSD will return a basket of stable coins in proportion to the backing stablecoins in the pool. We encourage exchanges to leverage existing pools of liquidity to avoid those fees. If possible, mints or redeems should be done in large batches for maximum efficiency. + +#### Do you have other questions? + +The best way to get help from both our engineering and business teams is usually on [Discord](https://www.originprotocol.com/discord). + diff --git a/ja/how-it-works.md b/ja/how-it-works.md new file mode 100644 index 000000000..061ececf6 --- /dev/null +++ b/ja/how-it-works.md @@ -0,0 +1,39 @@ +# How It Works + +#### 100% Backed and Stable + +Origin Dollar (OUSD) is an ERC-20 compliant token for the Ethereum network. + +OUSD is a stable currency that is backed 1:1 by other stablecoins like USDT, USDC and DAI. As a result, 1 OUSD should always be very close to 1 USD in value. + +{% hint style="success" %} +1 OUSD = 1 USD +{% endhint %} + +#### Buying OUSD + +Users can convert their existing stablecoins (currently USDT, USDC, and DAI) to OUSD at the official [Origin Dollar DApp](https://www.ousd.com). Received OUSD begins accruing compounding yield immediately. + +The Origin DApp will intelligently route user's transactions to give them the best available price while taking slippage and gas costs into consideration. This means that the DApp will sometimes encourage users to buy OUSD that is already in circulation versus minting fresh OUSD from the vault. The OUSD DApp will choose from multiple sources of liquidity and will suggest the option that gives the user the best possible rate. + +**Selling OUSD** + +Users can convert their OUSD back into other stablecoins at any time using the [Origin Dollar DApp](https://www.ousd.com). The Origin DApp will intelligently route user's transactions to give them the best available price while taking slippage, gas costs, and the vault's exit fee into consideration. This means that the DApp will often help users sell their OUSD on AMM's instead of redeeming OUSD with the vault and incurring the protocol's exit fee. + +A 0.25% exit fee is charged upon redemption with the vault. This fee is distributed as additional yield to the remaining participants in the vault (ie. other OUSD holders). The fee serves as a security feature to make it difficult for attackers to take advantage of lagging oracles, preventing them from siphoning stablecoins from the vault in the event of mispriced underlying assets. The fee exists to incentivize long-term holders over short-term speculators. + +Upon redemption, the vault will determine which stablecoin(s) to return to the user. In the current implementation, the vault will return coins in the same ratio as the current holdings. This lack of user optionality also protects the vault as a whole in the event that any of the supported stablecoins loses its peg to the dollar. + +{% hint style="warning" %} +Redemptions on the OUSD vault incur a **0.25% exit fee** and the user doesn't get to pick which stablecoins they receive. Users can often avoid this fee by selling to an AMM instead. +{% endhint %} + +#### A**utomated Yield Farming** + +OUSD generates yields by deploying the underlying stablecoins that were deposited to the OUSD smart contract to other DeFi protocols such as Compound, Aave, and Curve. There may be new diversified strategies added to the vault in the future. Collected interest, trading fees, and rewards tokens are pooled and converted to stablecoins to produce OUSD-denominated yields. Over time, the protocol will move assets in and out of different liquidity pools in order to provide the best yield to the holders of OUSD. + +#### **Elastic Supply** + +The generated returns are passed on to the holders of OUSD via constant rebasing of the money supply. OUSD constantly adjusts the money supply in response to the yield the protocol has generated. This allows the price of OUSD to stay pegged at $1 while the balances in token holders' wallets adjust in real-time to reflect yields that have been earned by the protocol. + +The end result is a stablecoin that is easy to spend, earns outsized yields automatically, and is more desirable to hold than existing stablecoins. diff --git a/ja/security-and-risks/asset-risk.md b/ja/security-and-risks/asset-risk.md new file mode 100644 index 000000000..92140f5ed --- /dev/null +++ b/ja/security-and-risks/asset-risk.md @@ -0,0 +1,33 @@ +# Bug Bounties + +**Bug Bounties** + +Bug bounties are granted at the full discretion of Origin Protocol. The rewards range in size from **$100** for minor issues to **$250,000** for major vulnerabilities. Currently, the bounty program only applies to OUSD and not other products from Origin. + +{% hint style="warning" %} +In order to be eligible for a bug bounty, you must follow the rules of Responsible Disclosure outlined below. +{% endhint %} + +**Responsible Disclosure** + +Security is our top priority and we've taken every effort to make sure our code is secure and works as intended. However, it's completely possible that vulnerabilities both large and small may have gone undetected. + +In case you discover a vulnerability, we would like to know about it immediately so we can take steps to address it as quickly as possible. + +If you discover a vulnerability, please do the following: + +* Report your findings to [security@originprotocol.com](mailto:security@originprotcol.com) or contact [Josh Fraser on Keybase](https://keybase.io/joshfraser) +* Do not take advantage of the vulnerability or problem you have discovered +* Do not reveal the problem to others until it has been resolved +* Do not use attacks on physical security, social engineering, distributed denial of service, spam or applications of third parties +* Do provide sufficient information to reproduce the problem, so we will be able to resolve it as quickly as possible. Complex vulnerabilities may require further explanation so we might ask you for additional information. + +In return, we promise: + +* We will respond to your report within 3 business days with our evaluation of the report and an expected resolution date +* If you have followed the instructions above, we will not take any legal action against you in regard to the report +* We will handle your report with strict confidentiality, and not pass on your personal details to third parties without your permission +* If you so wish we will keep you informed of the progress towards resolving the problem +* In the public information concerning the problem reported, we will give your name as the discoverer of the problem \(unless you desire otherwise\) +* As a token of our gratitude for your assistance, we offer a reward for every report of a security problem that was not yet known to us. The amount of the reward will be determined based on the severity of the leak, the quality of the report, and any additional assistance you provide. + diff --git a/ja/security-and-risks/audits.md b/ja/security-and-risks/audits.md new file mode 100644 index 000000000..8d5402c70 --- /dev/null +++ b/ja/security-and-risks/audits.md @@ -0,0 +1,40 @@ +# Audits + +**The OUSD Vault, ERC-20, and Overall System** + +OUSD has been audited by multiple, well-respected security firms. We have worked with [OpenZeppelin](https://openzeppelin.com), [Trail of Bits](https://www.trailofbits.com), [Solidified](https://solidified.io), and [Certora](https://www.certora.com) to audit all of the code that powers Origin Dollar. Their findings are available below: + +* [Trail of Bits, OUSD Audit, December 2020](https://github.com/OriginProtocol/security/blob/master/audits/Trail%20of%20Bits%20-%20Origin%20Dollar%20-%20Dec%202020.pdf) +* [Solidified, OUSD Audit, December 2020](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20Origin%20Dollar%20-%20Dec%202020.pdf) +* [Solidified, OGN Staking Audit, December 2020](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20OGN%20Staking%20-%20Dec%202020.pdf) +* [Certora, OUSD Formal Verification Audit, January 2021](https://www.certora.com/pubs/OriginFeb2021.pdf) +* [OpenZeppelin, OUSD Audit, August 2021](https://github.com/OriginProtocol/security/blob/master/audits/OpenZeppelin%20-%20Origin%20Dollar%20-%20October%202021.pdf) +* [Solidified, wOUSD, ERC721a, Governance, Harvester & Dripper Audit, May 2022](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20OGV%2C%20wOUSD%2C%20and%20ERC721a%20-%20May%202022.pdf) + +Both our initial and future governance tokens have been audited as well: + +* [Trail of Bits, OGN Audit, November 2018](https://github.com/OriginProtocol/security/blob/master/audits/Trail%20of%20Bits%20-%20Origin%20Marketplace%20and%20OGN%20Token%20-%20Nov%202018.pdf) +* [Solidified, OGV Audit, May 2022](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20OGV%2C%20wOUSD%2C%20and%20ERC721a%20-%20May%202022.pdf) + +In addition, the underlying strategies and dependencies that OUSD utilizes have been thoroughly audited by various firms. + +{% hint style="info" %} +OUSD only integrates strategies that have been carefully audited and battle-tested with significant capital over an extended period of time. +{% endhint %} + +**Compound Strategy and Open Price Feed** + +Compound has been audited by [Trail of Bits](https://www.trailofbits.com) and [OpenZeppelin](https://openzeppelin.com) and formally verified by [Certora](https://www.certora.com). Visit the Compound website for their [full list of audits](https://compound.finance/docs/security#audits) including the original code for the modified [Timelock](../smart-contracts/api/timelock.md) that OUSD is using. + +**Aave Strategy** + +Aave has been audited by [Trail of Bits](https://www.trailofbits.com), [OpenZeppelin](https://openzeppelin.com), [ConsenSys Diligence](https://consensys.net/diligence/), [Certik](https://certik.io), [MixBytes](https://mixbytes.io), and [PeckShield](https://peckshield.com). They have also been formally verified by [Certora](https://www.certora.com). Visit the Aave website for [their full list of audits](https://docs.aave.com/developers/security-and-audits). + +**Curve Strategy** + +Curve has been audited by [Trail of Bits](https://www.trailofbits.com) and [Quantstamp](https://quantstamp.com). Visit the Curve website for [their full list of audits](https://www.curve.fi/audits). + +**Chainlink Oracles** + +Chainlink has been audited by [Quantstamp](https://github.com/smartcontractkit/chainlink/tree/bafa91c), [SigmaPrime](https://github.com/smartcontractkit/chainlink/tree/cee356), [Callisto](https://gist.github.com/yuriy77k/c3a70d212a7f9ecda715252e45073158), and [Nick Johnson](https://github.com/smartcontractkit/chainlink/tree/5327f9). + diff --git a/ja/security-and-risks/bug-bounties.md b/ja/security-and-risks/bug-bounties.md new file mode 100644 index 000000000..d6e21196f --- /dev/null +++ b/ja/security-and-risks/bug-bounties.md @@ -0,0 +1,32 @@ +# Bug Bounties + +**Bug Bounties** + +Bug bounties are granted at the full discretion of Origin Protocol. The rewards range in size from **$100 OUSD** for minor issues to **$250,000 OUSD** for major vulnerabilities. Currently, the bounty program only applies to OUSD and not other products from Origin. + +{% hint style="warning" %} +In order to be eligible for a bug bounty, you must follow the rules of Responsible Disclosure outlined below. +{% endhint %} + +**Responsible Disclosure** + +Security is our top priority and we've taken every effort to make sure our code is secure and works as intended. However, it's completely possible that vulnerabilities both large and small may have gone undetected. + +In case you discover a vulnerability, we would like to know about it immediately so we can take steps to address it as quickly as possible. + +If you discover a vulnerability, please do the following: + +* Report your findings to [security@originprotocol.com](mailto:security@originprotocol.com) or contact [Josh Fraser on Keybase](https://keybase.io/joshfraser). Here is an example of a [well written disclosure](https://gist.github.com/DanielVF/66f459da88804d1fd917c47576c68523). +* Do not take advantage of the vulnerability or problem you have discovered +* Do not reveal the problem to others until it has been resolved +* Do not use attacks on physical security, social engineering, distributed denial of service, spam or applications of third parties +* Do provide sufficient information to reproduce the problem, so we will be able to resolve it as quickly as possible. Complex vulnerabilities may require further explanation so we might ask you for additional information. + +In return, we promise: + +* We will respond to your report within 3 business days with our evaluation of the report and an expected resolution date +* If you have followed the instructions above, we will not take any legal action against you in regard to the report +* We will handle your report with strict confidentiality, and not pass on your personal details to third parties without your permission +* If you so wish we will keep you informed of the progress towards resolving the problem +* In the public information concerning the problem reported, we will give your name as the discoverer of the problem (unless you desire otherwise) +* As a token of our gratitude for your assistance, we offer a reward for every report of a security problem that was not yet known to us. The amount of the reward will be determined based on the severity of the leak, the quality of the report, and any additional assistance you provide. diff --git a/ja/security-and-risks/contributing.md b/ja/security-and-risks/contributing.md new file mode 100644 index 000000000..6937c347d --- /dev/null +++ b/ja/security-and-risks/contributing.md @@ -0,0 +1,95 @@ +# Contributing + +**100% Open-source** + +OUSD is an entirely open-source project and we welcome contributions of all sorts. There are many ways to help, from reporting issues, contributing code, and helping us improve our community. + +We work in public and our company Discord is open to all. If you have questions or need help getting started, our Discord OUSD channels are the best place to get assistance from our team and community. + +**Developer Analytics** + +Our internal developer dashboard is available at [analytics.ousd.com](https://analytics.ousd.com). The dashboard shows the current circulating supply, the assets under management in the vault, and the current allocations between each of the stablecoins and strategies. + +#### Development Process + +Our branching strategy is similar to [GitFlow](http://nvie.com/posts/a-successful-git-branching-model/), but we do all of our development in the `master` branch and have a `stable` branch for code that has been released. + +Your development flow should look like: + +1. Find an interesting issue and communicate! Please let the `#engineering` [Discord](https://discord.gg/jyxpUSe) channel know what you want to work on. +2. Ping a [core team member](https://github.com/orgs/OriginProtocol/teams/core/members) member on Discord and ask to be added to our [contributors team](https://github.com/orgs/OriginProtocol/teams/contributors). Otherwise, you’ll need to fork the relevant repository and push feature branches to your own fork. +3. Add a comment to the issue or self-assign so we don’t have multiple contributors unintentionally working on the same task. +4. Start with the `master` branch and check out a new feature branch unless you’re contributing to an existing feature. +5. Follow the appropriate [coding style](https://docs.originprotocol.com/guides/getting_started/contributing.html#contributing-email-coding-style) and write some awesome code. +6. Pull the latest commits from `master` and confirm that your code works with any other work that has been merged since you started. +7. Push your branch to the upstream repository \(i.e. https://github.com/OriginProtocol/\[repo\]\) so that other contributors can easily work off of it if necessary. +8. Please request a review in the PR by clicking on the gear icon next to “Reviewers” in the right column. + +For critical smart contract code to be merged it must pass the following checklist: + +* Code reviewed by 2 reviewers +* Unit tests pass +* Slither tests pass with no warning +* Echidna tests pass + +The `master` branch is locked so that only members of the [core team](https://github.com/orgs/OriginProtocol/teams/core) are able to merge your pull requests. Pull requests that are peer-reviewed by other trusted contributors will be fast-tracked and merged faster! Check in the `#engineering` Discord channel for appropriate reviewers. + +#### Coding Style + +We use a variety of programming languages in our repositories. When contributing, please follow existing coding conventions and refer to the CONTRIBUTING.md file in the repository, if one exists. + +For JavaScript, we use [NPM’s style](https://docs.npmjs.com/misc/coding-style), which is automatically enforced via [prettier](https://prettier.io/). + +For Solidity, we use two-space indents. + +#### Protocol Design + +When considering protocol or implementation design proposals, we are looking for: + +* A description of the problem this design proposal solves +* Discussion of the trade-offs involved +* Review of other existing solutions +* Links to relevant literature \(RFCs, papers, etc\) +* Discussion of the proposed solution + +Please note that protocol design is hard and meticulous work. You may need to review existing literature and think through generalized use cases. + +#### Community Guidelines + +We want to keep the Origin community awesome, growing and collaborative. We need your help to keep it that way. To help with this we’ve come up with some general guidelines for the community as a whole: + +* Be nice: Be courteous, respectful and polite to fellow community members: no regional, racial, gender, or other abuse will be tolerated. We like nice people way better than mean ones! +* Encourage diversity and participation: Make everyone in our community feel welcome, regardless of their background and the extent of their contributions, and do everything possible to encourage participation in our community. +* Keep it legal: Basically, don’t get anybody in trouble. Share only content that you own, do not share private or sensitive information, and don’t break laws. +* Stay on topic: Make sure that you are posting to the correct channel and avoid off-topic discussions. Remember when you update an issue or respond to an email you are potentially sending to a large number of people. Please consider this before you update. Also remember that nobody likes spam. + +#### Reporting Issues + +If you find bugs, mistakes or inconsistencies in Origin’s code or documents, please let us know by filing a GitHub issue. No issue is too small. Help us fix our tpyos! + +#### Security Issues + +OUSD is still in early development, which means there may be problems with the protocol or in our implementations. We take security vulnerabilities very seriously. If you discover a security issue, please bring it to our attention right away! + +If you find a security vulnerability please send your report privately to [security@originprotocol.com](mailto:security@originprotocol.com) or send an encrypted message to [@joshfraser on Keybase](https://keybase.io/joshfraser). Please DO NOT file a public issue. Be sure to review our guidelines for responsible disclosure and eligibility for bug bounties. + +{% page-ref page="bug-bounties.md" %} + +#### **Community Improvement** + +Origin is just as much about community as it is about our technology. + +We need constant help in improving our documentation, building new tools to interface with our platform, spreading the word to new users, helping new users getting setup and much more. + +Please get in touch if you would like to help out. Our `general` channel on [Discord](https://www.originprotocol.com/discord) is a great place to share ideas and volunteer to help. + +#### Full-Time Positions + +Origin occasionally hires developers for part-time or full-time positions. + +We have a strong preference for hiring people who have already started contributing to the project. If you want a full time position on our team, your best shot is to engage with our team and start contributing code. It is very unlikely that we would offer you a full-time position on our engineering team unless you’ve had at least a few pull requests merged. + +If you are interested, check out [the Origin Protocol job listings](https://angel.co/originprotocol/jobs). If you’d like to help in other ways, please propose your ideas in [our Discord channel](https://www.originprotocol.com/discord). + + + diff --git a/ja/security-and-risks/insurance.md b/ja/security-and-risks/insurance.md new file mode 100644 index 000000000..f805d14f1 --- /dev/null +++ b/ja/security-and-risks/insurance.md @@ -0,0 +1,15 @@ +# Insurance + +OUSD holders can buy smart contract insurance to cover any losses that might result from any bugs or vulnerabilities in the OUSD contracts, including economic exploits (such as flash loans attacks). In addition, anyone who wants to make a financial bet on the security of our contracts can earn a yield by providing coverage. + +DeFi coverage for OUSD is currently available via[ Nexus Mutual](https://nexusmutual.io) and [InsurAce Protocol](https://www.insurace.io). These partnerships allow for more effective risk management by OUSD holders while creating new opportunities for coverage providers to profit. + +Read our [announcement post](https://medium.com/originprotocol/origin-partners-with-nexus-mutual-to-offer-defi-insurance-for-origin-dollar-ousd-6eb3432ee042) to learn how to [buy coverage](https://app.nexusmutual.io/cover/buy/get-quote?address=0xE75D77B1865Ae93c7eaa3040B038D7aA7BC02F70), [provide coverage](https://app.nexusmutual.io/staking), or [participate in shield mining campaigns](https://app.nexusmutual.io/rewards) with Nexus Mutual. You can learn more about InsurAce and how to buy coverage on their [user guide](https://docs.insurace.io/landing-page/documentation-1/user-guide) or [documentation](https://docs.insurace.io/landing-page/). + +**Nexus Mutual Coverage** + +Read our[ announcement post](https://medium.com/originprotocol/origin-partners-with-nexus-mutual-to-offer-defi-insurance-for-origin-dollar-ousd-6eb3432ee042) to learn how to[ buy coverage](https://app.nexusmutual.io/cover/buy/get-quote?address=0x0000000000000000000000000000000000000016),[ provide coverage](https://app.nexusmutual.io/staking), and[ participate in shield mining campaigns](https://app.nexusmutual.io/rewards) with Nexus Mutual. + +**InsurAce Protocol Coverage** + +Read InsurAce Protocol’s [User Guide](https://docs.insurace.io/landing-page/documentation-1/user-guide) to learn how to [buy coverage](https://docs.insurace.io/landing-page/documentation-1/user-guide/dashboard) and participate in [underwriting mining](https://docs.insurace.io/landing-page/documentation-1/user-guide/how-to-stake) for OUSD. diff --git a/ja/security-and-risks/risks.md b/ja/security-and-risks/risks.md new file mode 100644 index 000000000..64dc13dc0 --- /dev/null +++ b/ja/security-and-risks/risks.md @@ -0,0 +1,44 @@ +# Risks + +{% hint style="danger" %} +Use at your own risk. Do not deploy more capital than you are willing to lose. +{% endhint %} + +As with any yield-generating DeFi product, there are associated risks with holding OUSD that are important to understand. These risks can be broadly classified into 3 categories: + +* OUSD smart contract risk +* Underlying third-party platform risk +* Underlying stablecoin risk + +**OUSD smart contract risk** + +Our smart contracts have been [audited](audits.md) by multiple, well-respected security firms. However, it is important to note that even with formal audits, it is still possible for there to be logic errors that could lead to the loss of funds for OUSD holders. The contracts involve complex math and logic. While we have taken every precaution to ensure the safety and security of our smart contracts, users are reminded to use at their own risk. Origin Protocol will not be held responsible for any loss of funds, regardless of who is at fault. + +**Third-party platform risk** + +OUSD is built on top of other DeFi platforms like Aave, Compound, and Curve that add additional smart contract risk. We are choosing to work with platforms that have literally billions of dollars of assets under management and have made a reasonable efforts to ensure the security of their protocols. However, there are no guarantees that the underlying third-party platforms will continue to work as intended, and any failure in an underlying strategy would potentially lead to a loss of funds for OUSD holders. + +**Stablecoin risks** + +It is important to understand that OUSD is only as strong as the stablecoins that are backing it. Any loss of value to an underlying stablecoin asset will cause a similar loss to the value of OUSD. While OUSD is designed to maintain a 1:1 relationship between supply and number of backing stablecoins, it does not guarantee which stablecoins will make up that backing nor the value of those coins. + +It is important to note that each of the supported stablecoins introduces non-trivial counter-party risk. Tether, in particular, has had well-documented banking troubles and regulatory challenges. In addition, both USDT and USDC have backdoors that grant their issuers the power to freeze money in their holder's wallets. While DAI does not have any direct backdoors, its assets can also be negatively impacted since USDC and USDT are accepted as collateral for minting DAI. + +**Risk mitigation** + +While it's impossible to guarantee our contracts are 100% safe, we have taken every step possible to mitigate the chance of losing funds: + +We regularly have our work [audited ](audits.md)by the top auditors in the industry. + +[DeFi insurance](insurance.md) is availble to offer smart contract coverage as an optional add-on service for OUSD holders. + +We have retained [Certora](https://www.certora.com) to formally verify the various security properties of our contracts. They helped us establish automated verifications that will run anytime we update our contract code. We have automated checking for common errors with [Slither](https://github.com/crytic/slither) and [Echidna](https://github.com/crytic/echidna) tests. Together, these alert our team to common security issues in addition to our own test suite. + +Code reviews involving our smart contracts are incredibly rigorous. We require at least two engineers to review each change with a detailed checklist and we prioritize security reviews over new feature development. + +Finally, we have formalized an engineering [rotation](https://github.com/OriginProtocol/security/blob/master/incidents/ROTATION.md) for reviewing [attacks on other projects](https://github.com/OriginProtocol/security/tree/master/incidents) as well as ensuring we deep dive into each of these reviews, including reviewing the affected contracts' source code ourselves. We've observed that attackers often exploit the same fundamental vulnerability on multiple different projects. By reviewing other project's vulnerabilities, we force ourselves to stay up to date on the latest security threats in our industry and are constantly learning from their mistakes. + +**Actions speak louder than words** + +You should also know that many members of the Origin team, including both founders, are holding a significant portion of their personal wealth in OUSD. Origin Protocol's corporate treasury is also holding millions of dollars in OUSD. We have skin in the game and are willing to put our own money at risk with the code we have written. + diff --git a/ja/security-and-risks/untitled.md b/ja/security-and-risks/untitled.md new file mode 100644 index 000000000..21b692090 --- /dev/null +++ b/ja/security-and-risks/untitled.md @@ -0,0 +1,20 @@ +# Audits + +{% hint style="danger" %} +The OUSD smart contracts have not yet been audited. We strongly recommend reviewing our smart contracts before depositing significant amounts of capital. +{% endhint %} + +**OUSD** + +Audits have already been scheduled with the respected security firm, [Trail of Bits](https://www.trailofbits.com/), for early October 2020. Their audit results will be publicly released as soon as they are available. + +**Supported Strategies** + +Multiple audits for Compound have already been completed and are available on their website. This includes the original code for the modified [Timelock](../smart-contracts/api/timelock-1.md) that OUSD is using. + +{% page-ref page="untitled.md" %} + + + + + diff --git a/ja/smart-contracts/api/README.md b/ja/smart-contracts/api/README.md new file mode 100644 index 000000000..ff400f20f --- /dev/null +++ b/ja/smart-contracts/api/README.md @@ -0,0 +1,9 @@ +# API + +Documentation of contracts API used by the protocol: + +* [Vault](vault.md) +* [ERC-20](erc-20-1.md) +* [Timelock](timelock.md) +* [Stategies](strategies.md) + diff --git a/ja/smart-contracts/api/erc-20-1.md b/ja/smart-contracts/api/erc-20-1.md new file mode 100644 index 000000000..164343cc0 --- /dev/null +++ b/ja/smart-contracts/api/erc-20-1.md @@ -0,0 +1,16 @@ +# ERC-20 + +{% hint style="success" %} +The main ERC20 address for Origin Dollar (OUSD) is: \ **0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +OUSD is an ERC-20 compliant token with one novel property (elastic supply) that is important to understand. + +{% hint style="warning" %} +Wallets and exchanges that wish to integrate OUSD should not cache token balances for OUSD as this value will change frequently as yield is accrued to token holders. +{% endhint %} + +The biggest difference separating OUSD from your average ERC-20 token is the way OUSD's`balanceOf()` function will return a variable amount based on the total value of the vault multiplied by the holder's stake in the vault. This difference is vital to understand, particularly for wallets and exchanges that wish to integrate the OUSD token. This value should be fetched in real-time instead of being cached since OUSD rebases frequently. + + + diff --git a/ja/smart-contracts/api/oracle.md b/ja/smart-contracts/api/oracle.md new file mode 100644 index 000000000..362749de7 --- /dev/null +++ b/ja/smart-contracts/api/oracle.md @@ -0,0 +1,7 @@ +# Oracles + +{% hint style="info" %} +Documentation coming soon. +{% endhint %} + +OUSD uses Chainlink [oracles](../../core-concepts/price-oracles.md) to secure the protocol from pricing attacks. You can [read more about our decision to work with Chainlink](https://blog.originprotocol.com/how-origin-uses-chainlink-oracles-to-secure-ousd-bff5601e840e) on the Origin blog. diff --git a/ja/smart-contracts/api/ousd.md b/ja/smart-contracts/api/ousd.md new file mode 100644 index 000000000..8d6981144 --- /dev/null +++ b/ja/smart-contracts/api/ousd.md @@ -0,0 +1,8 @@ +# OUSD + +{% hint style="info" %} +Documentation coming soon. +{% endhint %} + + + diff --git a/ja/smart-contracts/api/strategies.md b/ja/smart-contracts/api/strategies.md new file mode 100644 index 000000000..a275b76e6 --- /dev/null +++ b/ja/smart-contracts/api/strategies.md @@ -0,0 +1,14 @@ +# Strategies + +{% hint style="info" %} +Documentation coming soon. +{% endhint %} + +New strategies can be added or removed at any time to respond to new market realities and diversify risk. + +Once we migrate to decentralized governance, it is our intent for the community to propose new strategies and to vote on the appropriate weight for each strategy in the pool. We anticipate that most OUSD holders will value having some exposure to higher yield opportunities while maintaining more conservative positions for a portion of the funds. + + + + + diff --git a/ja/smart-contracts/api/timelock-1.md b/ja/smart-contracts/api/timelock-1.md new file mode 100644 index 000000000..88954aca7 --- /dev/null +++ b/ja/smart-contracts/api/timelock-1.md @@ -0,0 +1,22 @@ +# Timelock + +{% hint style="danger" %} +The timelock will be added soon after everything is verified as working. Until then, the contracts will be governed by Origin's 5 of 8 multi-sig. This allows for a faster response if any critical issues are discovered. +{% endhint %} + +The timelock contract enforces a 48 hour wait period before any changes to the OUSD contracts can be executed. The timelock can be called by our multi-sig and is the owner of our [ERC-20](../architecture.md), [Vault](vault.md), and [Strategies](strategies.md) contracts. Time-delaying admin actions gives users a chance to exit OUSD if its admins become malicious, are compromised, or make a change that the users do not like. + +{% hint style="info" %} +The timelock is a safety measure that gives OUSD holders 48 hours to withdraw their funds if they have objections to any proposed upgrades to the protocol. +{% endhint %} + +OUSD is using a slightly modified version of the [Compound Timelock](https://compound.finance/docs/governance) which has been [audited by OpenZeppelin](https://blog.openzeppelin.com/compound-finance-patch-audit/). The 3 notable differences are: + +1. OUSD will initially use a shorter wait period \(48 hours\) than Compound \(72 hours\) to allow for a faster response if any issues are discovered. +2. Once the 48 hours have passed, anyone is free to execute the call, not just the owner of the contract. +3. Deposits \(but not withdrawals or transfers\) can be immediately frozen without requiring the 48 waiting period. This is in case a major vulnerability is discovered. + + + + + diff --git a/ja/smart-contracts/api/timelock.md b/ja/smart-contracts/api/timelock.md new file mode 100644 index 000000000..2273ddad7 --- /dev/null +++ b/ja/smart-contracts/api/timelock.md @@ -0,0 +1,15 @@ +# Timelock + +The timelock contract enforces a 48 hour wait period before any changes to the OUSD contracts can be executed. The timelock can be called by our multi-sig and is the owner of our [ERC-20](../architecture.md), [Vault](vault.md), and [Strategies](strategies.md) contracts. Time-delaying admin actions gives users a chance to exit OUSD if its admins become malicious, are compromised, or make a change that the users do not like. + +{% hint style="info" %} +The timelock is a safety measure that gives OUSD holders 48 hours to withdraw their funds if they have objections to any proposed upgrades to the protocol. +{% endhint %} + +OUSD is using a slightly modified version of the [Compound Timelock](https://compound.finance/docs/governance) which has been [audited by OpenZeppelin](https://blog.openzeppelin.com/compound-finance-patch-audit/). The two notable differences are: + +1. OUSD will initially use a shorter wait period (48 hours) than Compound (72 hours) to allow for a faster response if any issues are discovered. +2. Some actions, such as reallocating funds between existing strategies and freezing deposits can be called immediately by a multisig wallet without requiring the 48 waiting period. This is in case a major vulnerability is discovered. + + + diff --git a/ja/smart-contracts/api/vault.md b/ja/smart-contracts/api/vault.md new file mode 100644 index 000000000..13a7a8601 --- /dev/null +++ b/ja/smart-contracts/api/vault.md @@ -0,0 +1,184 @@ +--- +description: >- + The vault is the main contract of the protocol. The vault is responsible for minting/redeeming OUSD tokens, rebalancing funds between the various supported strategies, and liquidating rewards tokens. +--- + +# Vault + +## Units + +All OUSD amounts passed or returned by the Vault methods use 18 decimal places. For example, 1 OUSD is expressed as 1000000000000000000. + +For other stable coins, the number of decimal places varies. DAI uses 18 decimal places while USDC and USDT use only 6. + +The protocol was updated in November are [currently underway](https://github.com/OriginProtocol/origin-dollar/issues/590) to increase the resolution of rebasing calculations from 18 decimals to 27 decimals. The OUSD token itself will still retain 18 decimals of precision and user balances should not change. + +## Methods‌ + +### mint() + +**`function mint(address _asset, uint256 _amount, uint256 _minimumOusdAmount)`**‌ + +Mints OUSD in exchange for a deposit of a certain `_amount` of stablecoin specified by the `_asset` parameter. The caller receives a certain amount of OUSD depending on the **exchange rate**. + +| Parameter Name | Type | Description | +| --------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | +| \_asset | address | Address of the [supported](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/core-concepts/supported-assets) stablecoin | +| \_amount | uint256 | Amount deposited, expressed in decimal units | +| \_minimumOusdAmount | uint256 | Minimum amount of OUSD the caller is willing to receive. The call to mint() reverts if the minimum is not met. | + +### mintMultiple() + +**`function mintMultiple(address[] _assets, uint256[] _amounts, uint256 _minimumOusdAmount)`**‌ + +Mints OUSD in exchange for a deposit of multiple stablecoins in a single call. Stablecoins are specified by the `_assets` array parameter and the amounts by the `_amounts` array parameter. The caller receives a certain amount of OUSD depending on the **exchange rate**. + +| Parameter Name | Type | Description | +| --------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| \_assets | address\[] | Addresses of the [supported](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/core-concepts/supported-assets) stablecoins | +| \_amounts | uint256\[] | Amounts deposited, expressed in decimal units | +| \_minimumOusdAmount | uint256 | Minimum amount of OUSD the caller is willing to receive. The call to mint() reverts if the minimum is not met. | + +{% hint style="warning" %} +On redemptions, it is the protocol and not the user that decides which stablecoin(s) are returned to the user. This decision of which coin(s) to return is based on the internal ratios of the assets that are being held in the vault.‌ +{% endhint %} + +### redeem() + +**`function redeem(uint256 _amount)`**‌ + +OUSD specified by the `_amount` parameter is redeemed in exchange for one or multiple supported stablecoins. Amount of stablecoins received depends on the **exchange rate**. + +| Parameter Name | Type | Description | +| -------------- | ------- | ----------------------------------------- | +| \_amount | uint256 | amount of OUSD expressed in decimal units | + +### redeemAll()‌ + +**`function redeemAll()`**‌ + +All OUSD in user's possession is redeemed in exchange for one or multiple supported stablecoins. Amount of stablecoins received depends on the **exchange rate**. + +### rebase() + +**`function rebase()`**‌ + +Updates the balances for all users based on the value of the assets currently stored in the vault. Returns total value of the underlying assets and strategies represented by `uint256` type.‌ + +### allocate() + +**`function allocate()`**‌ + +Moves the assets under management into their prescribed [Stategies](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/architecture/strategies) to maximize yield and diversify risk.‌ + +### totalValue() + +**`function totalValue()`**‌ + +Returns total value of underlying assets and strategies. + +| `return` name | Type | Description | +| ------------- | ------- | ------------------------------------------------ | +| value | uint256 | total value of underlying assets and strategies. | + +### checkBalance() + +**`function checkBalance(address _asset)`**‌ + +Returns the balance of an asset specified by the`_asset` parameter held in Vault and all strategies represented by `uint256` type. + +| Parameter Name | Type | Description | +| -------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | +| \_asset | address | Address of the [supported](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/core-concepts/supported-assets) stablecoin | + +### calculateRedeemOutputs() + +**`function calculateRedeemOutputs(uint256 _amount)`**‌ + +Calculate the mix of stablecoins that a `redeem` function would return when redeeming certain amount of OUSD specified by the `_amount` parameter. Returns an array of stablecoin values. + +To attribute the stablecoin values to the correct stablecoin currency this call should be used in conjunction with `getAllAssets` function that returns an array of stablecoin addresses. + +The index of an array that is returned by the `calculateRedeemOutputs` corresponds to the stablecoin address with the same index in an array returned by the `getAllAssets` function. + +| Parameter Name | Type | Description | +| -------------- | ------- | ----------------------------------------- | +| \_amount | uint256 | amount of OUSD expressed in decimal units | + +| `return` name | Type | Description | +| ------------- | ----------- | --------------------------------------------------------------------------- | +| outputs | uint256\[] | array of the amount of the stablecoin assets `redeem` function would return | + +### getAssetCount() + +**`function getAssetCount()`**‌ + +Return the number of supported stablecoin assets represented by `uint256` type.‌ + +### getAllAssets() + +**`function getAllAssets()`**‌ + +Return all assets addresses of supported stablecoin assets in order represented by `uint256` type.‌ + +### getStrategyCount()‌ + +**`function getStrategyCount()`**‌ + +Return the number of strategies active on the Vault represented by `uint256` type.‌ + +### getAPR() + +**`function getAPR()`**‌ + +Return the total annual percentage yield (APR) of the Vault and all Strategies represented by `uint256` type. Resulting number has 18 decimal places.‌ + +### isSupportedAsset() + +**`function isSupportedAsset(address _asset)`**‌ + +Return the boolean that is true if the asset specified by the `_asset` parameter is supported by the Vault. + +| Parameter Name | Type | Description | +| -------------- | ------- | ------------------------- | +| \_asset | address | Address of the stablecoin | + +### priceUSDMint() + +**`function priceUSDMint(string symbol)`**‌‌ + +Returns the exchange rate price of a stable coin specified by the `symbol` parameters used when minting OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Parameter Name | Type | Description | +| -------------- | ------ | ------------------------ | +| symbol | string | Symbol of the stablecoin | + +### priceUSDRedeem() + +**`function priceUSDRedeem(string symbol)`**‌‌ + +Returns the exchange rate price of a stable coin specified by the `symbol` parameters used when redeeming OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Parameter Name | Type | Description | +| -------------- | ------ | ------------------------ | +| symbol | string | Symbol of the stablecoin | + +### priceAssetUSDMint()‌ + +**`function priceAssetUSDMint(address _asset)`**‌‌ + +Returns the exchange rate price of a stable coin specified by the `_asset` parameters used when minting OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Parameter Name | Type | Description | +| -------------- | ------- | -------------------------- | +| \_asset | address | Address of the stablecoin‌ | + +### priceAssetUSDRedeem()‌ + +**`function priceAssetUSDRedeem(address _asset)`**‌‌‌ + +Returns the exchange rate price of a stable coin specified by the `_asset` parameters used when redeeming OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Parameter Name | Type | Description | +| -------------- | ------- | ------------------------- | +| \_asset | address | Address of the stablecoin | diff --git a/ja/smart-contracts/architecture.md b/ja/smart-contracts/architecture.md new file mode 100644 index 000000000..f53eacf24 --- /dev/null +++ b/ja/smart-contracts/architecture.md @@ -0,0 +1,18 @@ +# Architecture + +![](../.gitbook/assets/ousd\_docs\_graphics\_3.png) + +OUSD is made up of a series of smart contracts. Each of these contracts is wrapped in a proxy contract that can be upgraded via the governance protocols. + +Internally, ownership in the vault is tracked using a credits system that represents the percent ownership of the vault for each holder. The [ERC-20](api/erc-20-1.md) contract handles the conversion to USD terms when viewing a balance or initiating a transfer between wallets. + +The [Vault](api/vault.md) is responsible for minting and burning OUSD. It also enforces the percentage of assets that are deployed to each of the supported [Strategies](../core-concepts/supported-strategies/). To optimize gas costs, the vault may maintain a buffer to allow most deposits and redemptions to occur without winding/unwinding assets from strategies. + +The Flipper is a smart contract for users to swap in and out of OUSD cheaply for any of DAI, USDC, or USDT at a fixed 1:1 rate. This contract is used as an alternative way to route user transactions originating from the web app. It's important to note that this contract may be empty on one side (e.g., contain 0 OUSD balance), and thus sometimes provides limited swap routes. While limited in functionality, Flipper uses around 45% less gas than Uniswap v3 due to its simplicity. + +The Harvester contract collects reward tokens earned by the strategies, sells them, and sends the resulting stablecoins to the Dripper to be released to the vault. Anyone can call the harvest and earn 1% of the resulting USDT for doing so. This creates a self-incentivizing system that operates at a known fixed cost. See our [incentivized-harvesting-guide.md](../guides/incentivized-harvesting-guide.md "mention") for details. + +The Dripper contract buffers aproximately one week of reward token sales proceeds and makes it avaiable at a smooth rate to the vault. This keeps OUSD yield from being extremely spiky when harvests come in. The rate is recalculated at least once per day and is the rate that it would take to distribute the current dripper holdings out over a one week period. + + + diff --git a/ja/smart-contracts/erc-20.md b/ja/smart-contracts/erc-20.md new file mode 100644 index 000000000..c3a21d407 --- /dev/null +++ b/ja/smart-contracts/erc-20.md @@ -0,0 +1,12 @@ +# Architecture + +![](../.gitbook/assets/ousd_docs_graphics_3.png) + +OUSD is made up of a series of smart contracts. Each of these contracts is wrapped in a proxy contract that can be upgraded via the governance protocols. + +Internally, ownership in the pool is tracked using a credits system that represents the percent ownership of the pool for each holder. The [ERC-20](api/erc-20-1.md) contract handles the conversion to USD terms when viewing a balance or initiating a transfer between wallets. + +The [Vault](api/vault.md) is responsible for minting and burning OUSD. It also enforces the percentage of assets that are deployed to each of the supported [Strategies](../core-concepts/supported-strategies/). To optimize gas costs, the vault maintains a buffer to allow most deposits and redemptions to occur without winding/unwinding assets from strategies. + + + diff --git a/ja/smart-contracts/registry.md b/ja/smart-contracts/registry.md new file mode 100644 index 000000000..f2d45b7dd --- /dev/null +++ b/ja/smart-contracts/registry.md @@ -0,0 +1,156 @@ +# Registry + +Here is the full registry of OUSD smart contracts that have been deployed to the Ethereum mainnet. + +{% hint style="success" %} +The main ERC20 address for Origin Dollar (OUSD) is: \ +**0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +{% tabs %} +{% tab title="Core" %} +Well-known addresses (proxy wrappers): + + + +| Contract | Address | ENS | +| -------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------- | +| OUSD | [0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86](https://etherscan.io/address/0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86) |

ousd.eth

origindollar.eth

| +| Vault | [0xE75D77B1865Ae93c7eaa3040B038D7aA7BC02F70](https://etherscan.io/address/0xe75d77b1865ae93c7eaa3040b038d7aa7bc02f70) | [originvault.eth](https://etherscan.io/address/originvault.eth) | + + + +Internal implementation contracts. The Vault is split into VaultAdmin and VaultCore to work around the maximum contract size limit on Ethereum: + + + +| Contract | Address | +| ---------- | --------------------------------------------------------------------------------------------------------------------- | +| OUSD | [0x33db8d52d65F75E4cdDA1b02463760c9561A2aa1](https://etherscan.io/address/0x33db8d52d65F75E4cdDA1b02463760c9561A2aa1) | +| VaultAdmin | [0x3EB68D8f4992A0e34aA58cc3dF86A40814078cF6](https://etherscan.io/address/0x3EB68D8f4992A0e34aA58cc3dF86A40814078cF6) | +| VaultCore | [0x226de75867B2f785BA19600e2a7e6eFccD57157B](https://etherscan.io/address/0x226de75867B2f785BA19600e2a7e6eFccD57157B) | +{% endtab %} + +{% tab title="Strategies" %} +Well-known addresses (proxy wrappers): + + + +| Strategy | Address | Auto-Allocation | +| -------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------- | +| Aave | [0x5e3646A1Db86993f73E6b74A57D8640B69F7e259](https://etherscan.io/address/0x5e3646A1Db86993f73E6b74A57D8640B69F7e259) | Manual allocation | +| Compound | [0x9c459eeb3FA179a40329b81C1635525e9A0Ef094](https://etherscan.io/address/0x9c459eeb3FA179a40329b81C1635525e9A0Ef094) | 100% of USDC, USDT and DAI | +| Convex | [0xEA2Ef2e2E5A749D4A66b41Db9aD85a38Aa264cb3](https://etherscan.io/address/0xEA2Ef2e2E5A749D4A66b41Db9aD85a38Aa264cb3#code) | Manual allocation | + + + +Internal implementation contracts: + + + +| Strategy | Address | +| -------- | -------------------------------------------------------------------------------------------------------------------------- | +| Aave | [0xA050eBE34Be464902F7E0F7F451f4B5253d57114](https://etherscan.io/address/0xA050eBE34Be464902F7E0F7F451f4B5253d57114) | +| Compound | [0x47f3eb71b5507df5ab6ac7f8660ef282ab0e560f](https://etherscan.io/address/0x47f3eb71b5507dF5Ab6aC7F8660Ef282Ab0E560f) | +| Convex | [0x08f3a0637851aA1B0E0750aA3d46E0E356f349aC](https://etherscan.io/address/0x08f3a0637851aa1b0e0750aa3d46e0e356f349ac#code) | + + + +Yield harvesting and collection: + + + +| | | +| --------- | -------------------------------------------------------------------------------------------------------------------------- | +| Contract | Address | +| Harvester | [0x21fb5812d70b3396880d30e90d9e5c1202266c89](https://etherscan.io/address/0x21fb5812d70b3396880d30e90d9e5c1202266c89#code) | +| Dripper | [0x80c898ae5e56f888365e235ceb8cea3eb726cb58](https://etherscan.io/address/0x80c898ae5e56f888365e235ceb8cea3eb726cb58#code) | +{% endtab %} + +{% tab title="Oracles" %} +The following Chainlink oracles are used to protect the vault in case a backing stablecoin loses value. They also offer slippage protection when harvesting rewards tokens or executing the OGN buyback. + + + +| Pair | Contract | +| ------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| [USDT/USD](https://data.chain.link/ethereum/mainnet/stablecoins/usdt-usd) | [0x3E7d1eAB13ad0104d2750B8863b489D65364e32D](https://etherscan.io/address/0x3E7d1eAB13ad0104d2750B8863b489D65364e32D) | +| [USDC/USD](https://data.chain.link/ethereum/mainnet/stablecoins/usdc-usd) | [0x8fFfFfd4AfB6115b954Bd326cbe7B4BA576818f6](https://etherscan.io/address/0x8fFfFfd4AfB6115b954Bd326cbe7B4BA576818f6) | +| [DAI/USD](https://data.chain.link/ethereum/mainnet/stablecoins/dai-usd) | [0xAed0c38402a5d19df6E4c03F4E2DceD6e29c1ee9](https://etherscan.io/address/0xAed0c38402a5d19df6E4c03F4E2DceD6e29c1ee9) | +| [COMP/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/comp-usd) | [0xdbd020caef83efd542f4de03e3cf0c28a4428bd5](https://etherscan.io/address/0xdbd020caef83efd542f4de03e3cf0c28a4428bd5) | +| [AAVE/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/aave-usd) | [0x547a514d5e3769680Ce22B2361c10Ea13619e8a9](https://etherscan.io/address/0x547a514d5e3769680Ce22B2361c10Ea13619e8a9) | +| [CRV/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/crv-usd) | [0xcd627aa160a6fa45eb793d19ef54f5062f20f33f](https://etherscan.io/address/0xcd627aa160a6fa45eb793d19ef54f5062f20f33f) | +| [CVX/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/cvx-usd) | [0xd962fC30A72A84cE50161031391756Bf2876Af5D](https://etherscan.io/address/0xd962fC30A72A84cE50161031391756Bf2876Af5D) | +| [OGN/ETH](https://data.chain.link/ethereum/mainnet/crypto-eth/ogn-eth) | [0x2c881b6f3f6b5ff6c975813f87a4dad0b241c15b](https://etherscan.io/address/0x2c881b6f3f6b5ff6c975813f87a4dad0b241c15b) | +{% endtab %} + +{% tab title="Governance" %} + + +| Contract | Address | ENS | +| ------------------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------- | +| 5 of 8 Multisig | [0xbe2AB3d3d8F6a32b96414ebbd865dBD276d3d899](https://etherscan.io/address/0xbe2AB3d3d8F6a32b96414ebbd865dBD276d3d899) | [originprotocol.eth](https://etherscan.io/address/originprotocol.eth) | +| 2 of 9 Multisig | [0xF14BBdf064E3F67f51cd9BD646aE3716aD938FDC](https://etherscan.io/address/0xF14BBdf064E3F67f51cd9BD646aE3716aD938FDC) | [originstrategist.eth](https://etherscan.io/address/originstrategist.eth) | +| Governor / Timelock | [0x72426BA137DEC62657306b12B1E869d43FeC6eC7](https://etherscan.io/address/0x72426BA137DEC62657306b12B1E869d43FeC6eC7) |

origingovernor.eth

origintimelock.eth

| +| OGN Buyback | [0x77314EB392b2be47C014cde0706908b3307Ad6a9](https://etherscan.io/address/0x77314EB392b2be47C014cde0706908b3307Ad6a9) | [originbuyback.eth](https://etherscan.io/address/originbuyback.eth) | +{% endtab %} + +{% tab title="Stablecoins" %} +| Contract | Address | +| ------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| [USDT](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | [0xdac17f958d2ee523a2206206994597c13d831ec7](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | +| [USDC](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | [0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | +| [DAI](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | [0x6b175474e89094c44da98b954eedeac495271d0f](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | +{% endtab %} + +{% tab title="Staking" %} +| Contract | Address | ENS | +| ----------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- | +| OGN Staking | [0x501804B374EF06fa9C427476147ac09F1551B9A0](https://etherscan.io/address/0x501804B374EF06fa9C427476147ac09F1551B9A0) | [originstaking.eth](https://etherscan.io/address/originstaking.eth) | + + + +Internal implementation contracts: + + + +| Contract | Address | +| ----------- | --------------------------------------------------------------------------------------------------------------------- | +| OGN Staking | [0x8cd68a1e0b79150455c5498882d5d5d3df2dde08](https://etherscan.io/address/0x8cd68a1e0b79150455c5498882d5d5d3df2dde08) | + + + +OUSD compensation contract ([details](https://medium.com/originprotocol/origin-delivers-on-compensation-promise-claim-your-ousd-and-ogn-now-a9fa9b840476)): + + + +| Contract | Address | +| ----------------- | --------------------------------------------------------------------------------------------------------------------- | +| OUSD Compensation | [0x9C94df9d594BA1eb94430C006c269C314B1A8281](https://etherscan.io/address/0x9C94df9d594BA1eb94430C006c269C314B1A8281) | +{% endtab %} + +{% tab title="Flipper" %} +Flipper is a gas-optimized way for users to swap in and out of OUSD at a fixed 1:1 rate with other stablecoins. This contract may become empty on one side (e.g., contain 0 OUSD balance), and thus sometimes provides limited swap routes. + + + +| Contract | Address | ENS | +| -------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- | +| Flipper | [0xcecaD69d7D4Ed6D52eFcFA028aF8732F27e08F70](https://etherscan.io/address/0xcecaD69d7D4Ed6D52eFcFA028aF8732F27e08F70) | [originflipper.eth](https://etherscan.io/address/originflipper.eth) | +{% endtab %} + +{% tab title="Wrapped" %} +Wrapped OUSD\ +\ **Well known proxy address:** - [0xD2af830E8CBdFed6CC11Bab697bB25496ed6FA62](https://etherscan.io/address/0xD2af830E8CBdFed6CC11Bab697bB25496ed6FA62) + +Internal implementation address - [0xbf3b9b141cb3629f5bb8f721cba9265c92494539](https://etherscan.io/address/0xbf3b9b141cb3629f5bb8f721cba9265c92494539) +{% endtab %} +{% endtabs %} + + + + + + + + diff --git a/ko/README.md b/ko/README.md new file mode 100644 index 000000000..e199541d7 --- /dev/null +++ b/ko/README.md @@ -0,0 +1,31 @@ +--- +description: 지갑에 있는동안 수익을 만들어 내는 최초의 스테이블코인 +--- + +# 소개 + +## **더 나은 형태의 돈** + +Origin Dollar (OUSD) is a new stablecoin that was initially launched in September 2020 on the Ethereum network. OUSD는 단순히 지갑에 코인을 보관하기만 해도 경쟁력있는 수익률을 확보하기 때문에 기존 스테이블 코인보다 우수합니다. + +![](.gitbook /assets/origin-dollar-summary.jpeg) + +**배경** + +In 1999, Yu Pan, Origin’s R\&D engineer, and his fellow PayPal co-founders [conceived](https://www.cnbc.com/2017/08/14/david-sacks-cryptocurrency-interview.html) of creating “the new world currency”, complete with interest yielding strategies and debit cards without having to connect to traditional banking systems. 몇 차례의 피벗(pivot) 과 eBay 인수후, PayPal은 이 야망에서 멀어져 갔습니다. + +거의 20 년 후 Tether는 2014 년에 USD로 표시된 스테이블 코인 개념을 도입했습니다. 그 이후로 스테이블 코인은 사용자에게 자유 유동성 통화의 가격 변동성에 노출되지 않고 가치를 이전하는 이상적인 방법으로 입증되었습니다. 오늘날 비트코인보다 Tether을 통해 전송되는 가치가 + +더 높습니다. Meanwhile, Decentralized Finance (DeFi) has experienced an explosion of growth with [billions of dollars](https://defipulse.com) of capital now locked up in smart contracts that generate yields from lending and trading protocols.

+ +기존 스테이블코인의 문제점 중 하나는 사용자가 쉽게 사용할 수있는 코인을 보유하는 것과 스마트 컨트랙트에 토큰을 락(lock) 해 수익을 얻는 것 중에서 항상 선택해야한다는 것입니다. 예를 들어 Aave에서 USDC를 락(lock) 하는 사용자는 해당 USDC의 일부를 동시에 사용할 수 없습니다. 비싼 이더리움 가스 요금은 사용자가 지출 모드와 수입 모드 사이를 전환 할 때마다 생기는 "전환 비용" 역할을 합니다. + +설상가상으로 대출 및 거래 활동으로 인한 수익률은 빠르게 변합니다. 정교한 DeFi 수익 창출자는 여러 경쟁 플랫폼에서 자산 포트폴리오를 지속적으로 재조정 하는것에 익숙합니다. 가스 요금은 다시 수확량을 낮추므로 시간과 비용이 많이 듭니다. 또한 APY가 불안정하고 지속적으로 변동하므로 실제 ROI를 계산하는데 시간이 많이 걸립니다. 쉬운 계정 단위(unit of account) 는 없습니다. 결과적으로 DeFi는 매우 빠르게 성장하고 있지만 여전히 많은 암호화폐 사용자가 참여하기 어렵습니다. + +OUSD를 사용하려고 할 때 복잡한 포지션을 풀 필요가 없습니다. 지출 가능한 자본의 잠금(lock) 을 해제하기 위해 가스를 지불하지 않고도 자유롭게 전송할 수 있습니다. 또한 OUSD는 번거로움없이 DeFi에서 가장 높은 수익을 올릴 수있는 기회를 제공합니다. OUSD 스마트 컨트랙트는 알고리즘 방식으로 기본 자본을 다양한 수익 창출 전략 세트로 라우팅(routing) 하여 시간이 지남에 따라 재조정하며 리스크(risk) 를 다양화 하면서 큰 수익을 달성합니다. 수익은 지갑에 자동으로 누적되고 OUSD를 보유하는 동안 지속적으로 복리가 붙습니다. 다시 말하지만, 스테이킹(staking) 이나 락업(lockup) 이 필요하지 않습니다. OUSD는 이상적인 계정 단위(unit of account) 역할도 합니다. DeFi 투자자는 수익을 계산하기 위해 더 이상 복잡한 스프레드시트(spreadsheet) 가 필요하지 않습니다. 복리 이자가 자동으로 붙으면서 지속적으로 업데이트되는 OUSD 잔액을 실시간으로 쉽게 볼 수 있기 때문입니다. OUSD는 DeFi 이자 농부(yield farmer) 와 초보 암호화폐 사용자 모두에게 이상적인 스테이블 코인 입니다. + +암호화폐 및 핀테크 베테랑이 만든 오리진 달러(Origin Dollar)는 연쇄 창업가, 초기 암호 화폐 투자자, 유투브(YouTube)의 초기 직원, 구글/드랍박스(Google / Dropbox)의 개발 및 관리자, 페이팔(Paypal)의 공동 창립자, 유 팬(Yu Pan)이 소속되어 있는 [오리진 프로토콜(Origin Protocol)](https://www.originprotocol.com) [팀](https://www.originprotocol.com/team)이 지원하고 있습니다. + +이 문서는 작동 방식에 대한 기술적 세부사항에 관심있는 사람들이 시작하기에 좋은 곳입니다. We encourage developers to audit and contribute to our [Github](http://www.github.com/OriginProtocol) (100% open-source). 질문이 있거나 시작하는 데 도움이 필요한 경우 저희 팀이 많은 시간을 보내는 [Discord](https://www.originprotocol.com/discord)를 찾아주세요. + +'미래의 돈'에 오신 것을 환영합니다. diff --git a/ko/SUMMARY.md b/ko/SUMMARY.md new file mode 100644 index 000000000..e34fabeca --- /dev/null +++ b/ko/SUMMARY.md @@ -0,0 +1,64 @@ +# 목차 + +* [Introducing OUSD](README.md) +* [작동 방법](how-it-works.md) +* [시작](getting-started.md) +* [Analytics Dashboard](analytics-dashboard.md) +* [FAQ](faq.md) + +## 핵심 개념 + +* [공급 탄력성](core-concepts/elastic-supply/README.md) + * [Rebasing & Smart Contracts](core-concepts/elastic-supply/rebasing-and-smart-contracts.md) +* [이자 생산](core-concepts/yield-generation/README.md) + * [대출](core-concepts/yield-generation/lending.md) + * [마켓메이킹](core-concepts/yield-generation/market-making.md) + * [보상](core-concepts/yield-generation/rewards.md) +* [Wrapped OUSD](core-concepts/wrapped-ousd.md) +* [Supported Stablecoins](core-concepts/supported-stablecoins/README.md) + * [USDT](core-concepts/supported-stablecoins/usdt.md) + * [USDC](core-concepts/supported-stablecoins/usdc.md) + * [DAI](core-concepts/supported-stablecoins/dai.md) +* [Supported Strategies](core-concepts/supported-strategies/README.md) + * [Compound](core-concepts/supported-strategies/compound.md) + * [Aave](core-concepts/supported-strategies/aave.md) + * [Curve](core-concepts/supported-strategies/curve.md) + * [Convex](core-concepts/supported-strategies/convex.md) +* [Fund Management](core-concepts/fund-management.md) +* [Price Oracles](core-concepts/price-oracles.md) + +## 거버넌스(Governance) + +* [원리](governance/principles.md) +* [관리자 권한](governance/admin-privileges.md) +* [OGN Staking](governance/ogn-staking.md) +* [Contributing](governance/contributing.md) +* [Vote Delegation](governance/vote-delegation.md) + +## 스마트 컨트랙트 + +* [아키텍처(Architecture)](smart-contracts/architecture.md) +* [레지스트리(Registry)](smart-contracts/registry.md) +* [API](smart-contracts/api/README.md) + * [금고(Vault)](smart-contracts/api/vault.md) + * [ERC-20](smart-contracts/api/erc-20-1.md) + * [타임락(TimeLock)](smart-contracts/api/timelock.md) + * [Strategies](smart-contracts/api/strategies.md) + +## 보안 & 위험 + +* [위험](security-and-risks/risks.md) +* [감사](security-and-risks/audits.md) +* [Insurance](security-and-risks/insurance.md) +* [Bug Bounties](security-and-risks/bug-bounties.md) + +## Guides + +* [Integration Guide For Exchanges](guides/integration-guide-for-exchanges.md) +* [Incentivized Harvesting Guide](guides/incentivized-harvesting-guide.md) + +## Links + +* [Github](https://www.github.com/originprotocol/origin-dollar) +* [Discord](https://www.originprotocol.com/discord) +* [originprotocol.com](https://www.originprotocol.com) diff --git a/ko/analytics-dashboard.md b/ko/analytics-dashboard.md new file mode 100644 index 000000000..9c3e6a577 --- /dev/null +++ b/ko/analytics-dashboard.md @@ -0,0 +1,31 @@ +# Analytics Dashboard + +{% hint style="info" %} +Visit [analytics.ousd.com](https://analytics.ousd.com) to see how funds are allocated, view historical performance data, and track your personal gains. +{% endhint %} + +The [APY dashboard](https://analytics.ousd.com/apy) is primarily intended for consumption by our engineering team, but we went ahead and deployed it since our ethos is "public by default" and everything that we do is [open-source](http://github.com/OriginProtocol). Unfortunately, that often means erring on the side of transparency and not necessarily the side of taking the time to explain things clearly. + +Before diving into the yield calculation, it's important to understand how OUSD works both in terms of [yield generation](https://docs.ousd.com/core-concepts/yield-generation) and [rebasing](https://docs.ousd.com/core-concepts/elastic-supply). You can read all about that in these [docs](https://docs.ousd.com), including [the part about smart contracts being excluded from yield](https://docs.ousd.com/core-concepts/elastic-supply/rebasing-and-smart-contracts). + +To summarize how APY is calculated, it's the annualized rate of change in OUSD's internal accounting of users' balances between two points in time. To understand that, let's break down the columns in the historical APY table (in reverse order). + +**Ratio** + +There are two types of OUSD balances: rebasing (most accounts) and non-rebasing (smart contracts that have not opted in). The OUSD token contract maintains a separate internal accounting for each type of balance using what it calls "credits". The ratio shown here is the rebasing supply of OUSD divided by the rebasing credits, which gives us the exchange rate between the two. + +**Credits** + +Some smart contracts holding OUSD have unique credit balances because their rebasing status has changed at some point in the past (by opting in or out). Here we show the sum of all rebasing credits and non-rebasing credits. When multiplied by the ratio, it gives the difference between backing supply and non-rebasing supply. + +**Non-rebasing** + +This is the portion of supply held in other smart contracts that have not opted in to rebasing. When added to (credits \* ratio), this equals backing supply. Note also that the **%** column shows the percentage of OUSD that is non-rebasing. + +**Boost** + +The APY is effectively "boosted" for rebasing accounts thanks to the fact that some OUSD is non-rebasing. Think about all of the stablecoins that were used as collateral to mint the non-rebasing OUSD. Those stablecoins are still earning through our yield farming strategies, but the gains are accruing only to the rebasing accounts. The result is that the effective APY is higher than it would be without this mechanism. The boost is the measure of this difference. If boost is 100%, then regular OUSD holders are enjoying double the APY that they otherwise would. + +**APR/APY calculation** + +Bringing this full circle, we currently measure yield by measuring the change in the [rebasing credits per token](https://github.com/OriginProtocol/origin-dollar/blob/master/contracts/contracts/token/OUSD.sol#L45) between two points in time. But there are a few other considerations to note. First, we have to make an assumption about how many Ethereum blocks are mined on an average day. We use a [fixed 6,500](https://github.com/OriginProtocol/ousd-analytics/blob/master/eagleproject/core/views.py#L43), but the actual number of blocks per day is variable. Second, we need a reasonable time horizon to measure. We focus on 30 days, which has proven to be a relatively consistent window of time during which a complete sample of yield-generating activities has occurred. Third, we convert APR into APY by assuming [constant daily compounding](https://github.com/OriginProtocol/ousd-analytics/blob/master/eagleproject/core/views.py#L449-L451). In other words, yield is constantly being reinvested into the same strategies. Finally, there is one notable drawback to using the rebase ratio to measure yield. Since rebase events currently occur sporadically (and not very frequently in a world of high gas prices), the APY won't reflect earnings that have not yet been translated to account balances. For example, there could be an interest rate spike in Compound or a volume spike in the Curve 3pool strategy, which would cause OUSD to earn more than it does on an average day. Until [the rebase method](https://github.com/OriginProtocol/origin-dollar/blob/master/contracts/contracts/vault/VaultCore.sol#L365-L370) gets called, the APY will underreport these earnings. In fact, anyone who sells OUSD during that time would be missing out on the "[next rebase](https://analytics.ousd.com)". The good news is that you should be able to observe the change in your balance over one week and it (annualized) should approximately equal our advertised APY. diff --git a/ko/architecture/erc-20-1.md b/ko/architecture/erc-20-1.md new file mode 100644 index 000000000..06ea61402 --- /dev/null +++ b/ko/architecture/erc-20-1.md @@ -0,0 +1,19 @@ +# ERC-20 + +{% hint style="success" %} +오리진달러\(OUSD\) 의 대표 ERC20 주소: +**0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +OUSD는 ERC-20를 따르는 토큰이며, OUSD가 가진 새로운 특성을 이해하는 것은 중요합니다. + +{% hint style="warning" %} +OUSD를 통합하고자 하는 지갑과 거래소는 OUSD에 대한 토큰 잔액을 캐시(cache) 하지 말아야 합니다. 이 값은 토큰 홀더에 수익률이 발생함에 따라 자주 변경되기 때문입니다. +{% endhint %} + +보통의 ERC-20 토큰과 OUSD를 구분하는 가장 큰 차이점은 OUSD의 balanceOf() 함수가 풀의 총 값에 홀더 지분을 곱한 값을 기준으로 가변 금액을 반환한다는 점입니다. OUSD 토큰을 통합하고자하는 지갑 그리고 거래소의 경우 이 차이를 이해하는 것이 굉장히 중요합니다. OUSD는 자주 다시 생성되므로 캐시되지 않고 실시간으로 해당 값을 가져와야 합니다.

+ + + + + diff --git a/ko/architecture/erc-20.md b/ko/architecture/erc-20.md new file mode 100644 index 000000000..927459772 --- /dev/null +++ b/ko/architecture/erc-20.md @@ -0,0 +1,12 @@ +# 개요 + +![](../.gitbook/assets/ousd_docs_graphics_3.png) + +OUSD는 일련의 스마트 컨트렉트로 구성됩니다. 이러한 각 계약은 거버넌스 프로토콜을 통해 업그레이드할 수 있는 프록시 계약으로 포장됩니다. + +내부적으로 풀의 소유권은 각 홀더에 대한 풀의 소유권 비율을 나타내는 크레딧 시스템을 사용하여 추적됩니다. ERC-20 컨트렉트는 잔액을 확인하거나 지갑 간 송금을 시작할 때 USD 조건에서 변환을 처리합니다. + +금고(Vault) 는 OUSD의 채굴 및 소각를 담당합니다. 또한 지원되는 각 [전략 ](../core-concepts/supported-strategies/)에 배포되는 자산의 비율도 적용합니다. 가스 비용 최적화를 위해, 금고(Vault) 는 대부분의 예금 및 상환이 전략에서 자산을 감거나 풀지 않고 발생할 수 있도록 버퍼를 유지합니다. + + + diff --git a/ko/architecture/strategies.md b/ko/architecture/strategies.md new file mode 100644 index 000000000..6412a4709 --- /dev/null +++ b/ko/architecture/strategies.md @@ -0,0 +1,14 @@ +# 전략 + +새로운 시장 현실에 대응하고 리스크를 다양화하기 위해 언제든지 새로운 전략을 추가하거나 제거할 수 있습니다. + +출시 당시, OUSD는 단일 전략을 활용하고 컴파운드(Compound) 에 예치된 자본을 배치합니다. 우리는 곧 다른 많은 전략들을 배치할 예정입니다. + +해당 시스템이 탈 중앙화 된 거버넌스로 넘어간 후에는 커뮤니티에서 새로운 전략을 제안하고, 풀의 각 전략에 적절한 가중치를 두고 투표할 수 있도록 하는 것을 목표로 하고 있습니다. 오리진은 대부분의 OUSD 보유자들이 높은 수익률 기회에 어느 정도 노출되는 것을 가치 있게 여기는 동시에, 자금의 일부에 대해 보다 보수적인 입장을 유지할 것으로 예상합니다. + + + + + + + diff --git a/ko/architecture/timelock.md b/ko/architecture/timelock.md new file mode 100644 index 000000000..27bddaa5d --- /dev/null +++ b/ko/architecture/timelock.md @@ -0,0 +1,23 @@ +# 타임락(TimeLock) + +{% hint style="danger" %} +타임락(TimeLock) 은 모든 기능이 잘 작동하는 것들이 확인 된 후, 곧 추가됩니다. 그때 까지 컨트렉트는, 오리진(Origin) 의 5/8 다중 서명에 의해 관리됩니다. 이를 통해 중요한 문제가 발견될 경우 더 빠른 대응이 가능합니다. +{% endhint %} + +타임락 컨트렉트는 OUSD 컨트렉트에 대한 변경이 실행되기 전에 48 시간의 대기 기간을 적용합니다. 타임락은 다중서명(multi-sig) 으로 호출 할 수 있으며 [ERC-20](erc-20.md), [금고(Vault)](vault.md) 및 [전략](strategies.md) 컨트렉트들의 소유자입니다. 시간 지연(time-delaying) 관리 작업은 관리자가 손상되거나 악의적인 행동 또는 사용자가 원하지 않는 변경을 수행하는 경우, 사용자에게 OUSD를 출금(exit) 할 수있는 기회를 제공하는 것입니다. + +{% hint style="info" %} +타임락은 OUSD 보유자가 제안된 프로토콜 업그레이드에 대해 이의가있는 경우 48 시간 동안 자금을 인출할 수 있는 안전 조치입니다. +{% endhint %} + +OUSD는 오픈제플린(OpenZeppelin)에서 +감사를받은 [컴파운드 타임락(Compound Timelock)](https://compound.finance/docs/governance)에서 약간 수정 된 버전을 사용하고 있습니다. 3 가지 주목 할만한 차이점은 다음과 같습니다:

+ +1. OUSD는 처음에 컴파운드(Compound) \ (72 시간 \) 보다 짧은 대기 시간 \ (48 시간 \) 을 사용하여 문제가 발견될 경우 더 빠른 응답을 제공합니다. +2. 48 시간이 지나면 컨트렉트 소유자뿐만 아니라 누구나 자유롭게 콜(call) 을 실행(execute) 할 수 있습니다. +3. 입금 \ (인출 또는 이체 불가) 는 48 개의 대기 기간없이 즉시 동결(frozen) 될 수 있습니다. 이것은 주요 취약점이 발견 된 경우입니다. + + + + + diff --git a/ko/architecture/vault.md b/ko/architecture/vault.md new file mode 100644 index 000000000..bd3729c10 --- /dev/null +++ b/ko/architecture/vault.md @@ -0,0 +1,17 @@ +# 금고(Vault) + +금고(vault) 는 프로토콜의 핵심입니다. 금고는 OUSD 토큰의 채굴 / 교환, 다양한 지원 전략 간의 자금 재조정, 보상 토큰 청산을 담당합니다. + +금고에서 공개적으로 사용할 수 있는 가장 중요한 기능은 다음과 같습니다. + +* `mint()`에서 지원되는 스테이블 코인 하나를 OUSD로 변환할 수 있습니다. +* `mintMultiple()`을 사용하면, 지원되는 여러 스테이블 코인을 한 번의 호출로 OUSD로 변환할 수 있습니다. +* `redeem ()`은 지정된 양의 OUSD를 지원되는 다른 스테이블 코인에 상환 할 수 있도록 합니다. +* `redeemAll ()`은 사용자가 지원되는 다른 스테이블 코인을 위해 OUSD의 전체 잔액을 상환 할 수 있도록 합니다. 이는 수익이 발생함에 따라 사용자 잔액이 지속적으로 증가하기 때문에 특히 유용한 기능입니다. +* `rebase ()`은 현재 풀에 저장된 자산의 값을 기반으로 모든 사용자의 잔액을 업데이트 합니다. +* `allocate ()`은 관리중인 자산을 규정 된 [Stategies](strategies.md) 으로 이동하여 수익을 극대화하고 위험을 다각화 합니다. + +상환 시, 사용자에게 반환 할 스테이블 코인을 결정하는 것은 사용자가 아닌 프로토콜 입니다. 반환할 코인\(s\) 에 대한 결정은 풀에 보관 중인 자산의 내부 비율을 기반으로 합니다. + + + diff --git a/ko/core-concepts/elastic-supply.md b/ko/core-concepts/elastic-supply.md new file mode 100644 index 000000000..b1985afb0 --- /dev/null +++ b/ko/core-concepts/elastic-supply.md @@ -0,0 +1,18 @@ +# 공급 탄력성(Elastic Supply) + +**공급 탄력성. 안정적 가격.** + +OUSD는 대부분의 토큰과 다르게 작동합니다. 관리 대상 자산의 가치가 증가함에 따라 가격이 상승하는 대신 \ (컴파운드의 c토큰 또는 와이언의 y토큰 \) 1 개의 OUSD의 가치는 약 $ 1로 일정하게 유지됩니다. 대신, 컨트랙트는 지속적으로 화폐 공급을 조정하고 모든 토큰 보유자의 지갑에있는 잔액을 자동으로 업데이트하여 프로토콜로 얻은 수익률을 반영합니다. + +{% hint style="info" %} +은행 계좌에서 발생하는 이자로 생각하면 됩니다. 미국 달러의 계정 단위와 가치는 변경되지 않습니다. 이자를 받으면 시간이 지남에 따라 더 많은 미국 달러를 받게됩니다. +{% endhint %} + +![](../.gitbook/assets/ousd_docs_graphics_4.png) + +이 메커니즘은 [앰플포스(Ampleforth)](https://www.ampleforth.org/)의해 취해진 새로운 접근 방식에서 영감을 얻었지만 강조 할 가치가있는 몇 가지 주요 차이점이 있습니다. + +1. OUSD는 100 % 다른 스테이블 코인에 의해 뒷받침되며 달러에 대한 페그(peg) 를 유지하는 것과 같은 문제가 없습니다. OUSD를 쉽게 채굴하고 상환 할 수 있다는 점을 감안할 때, 우리는 페그가 유지되도록 중재자를 의지할 수 있습니다. +2. OUSD rebasing should only increase supply since the amount of OUSD minted is tied to the realized gains earned by the underlying strategies. Your principal is protected as long as nothing goes wrong with the underlying lending/AMM and stablecoin protocols. Any decrease in your balance would be an indication of trouble in the system. +3. 하루에 한 번 리베이스하는 앰플포스와 달리, OUSD의 통화 공급은 수익률이 생성됨에 따라 실시간으로 지속적으로 업데이트됩니다. + diff --git a/ko/core-concepts/elastic-supply/README.md b/ko/core-concepts/elastic-supply/README.md new file mode 100644 index 000000000..580557af9 --- /dev/null +++ b/ko/core-concepts/elastic-supply/README.md @@ -0,0 +1,21 @@ +# 공급 탄력성(Elastic Supply) + +**공급 탄력성. 안정적 가격.** + +OUSD는 대부분의 토큰과 다르게 작동합니다. Instead of the price increasing as the value of the assets under management increase (as with Compound cTokens or Yearn yTokens), the value of one OUSD remains constant at approximately $1. Instead, the contracts constantly adjust the monetary supply and automatically updates the balance in every token holder’s wallet to reflect the yield that has been earned by the protocol. + +{% hint style="info" %} +은행 계좌에서 발생하는 이자로 생각하면 됩니다. 미국 달러의 계정 단위와 가치는 변경되지 않습니다. 이자를 받으면 시간이 지남에 따라 더 많은 미국 달러를 받게됩니다. +{% endhint %} + +![](../../.gitbook/assets/ousd\_docs\_graphics\_4.png) + +This mechanism was inspired by the novel approach taken by [Ampleforth](https://www.ampleforth.org), but there are some key differences that are worth highlighting: + +1. OUSD is 100% backed by other stablecoins and does not have the same challenge maintaining the peg to the dollar. Given the ease of minting and redeeming OUSD, we can count on arbitrageurs to ensure the peg is maintained. +2. OUSD rebasing will only increase supply since the amount of OUSD minted is tied to the realized gains earned by the underlying strategies. Your principal is protected as long as nothing goes wrong with the underlying lending/AMM and stablecoin protocols. Your OUSD balance will never decrease, but the value could drop if there's a failure in the underlying systems. +3. Unlike Ampleforth, which only rebases once a day, the monetary supply of OUSD is constantly being updated in real-time as yield is generated. Rebases are triggered regularly as users interact with the OUSD contracts. Chainlink Keepers ensure at least one rebase occurs every day. + +**Manually triggering a rebase** + +Anyone can trigger a rebase at any time by [calling the rebase function on the vault](https://etherscan.io/address/originvault.eth#writeProxyContract). You can do this on Etherscan by connecting a web3 wallet. diff --git a/ko/core-concepts/elastic-supply/rebasing-and-smart-contracts.md b/ko/core-concepts/elastic-supply/rebasing-and-smart-contracts.md new file mode 100644 index 000000000..cdebbc4bf --- /dev/null +++ b/ko/core-concepts/elastic-supply/rebasing-and-smart-contracts.md @@ -0,0 +1,22 @@ +# Rebasing & Smart Contracts + +If you are using a multi-sig wallet or another smart contract that wishes to participate in the rebasing aspect of OUSD you must call OUSD’s`rebaseOptIn()` function. This only applies to smart contracts as standard EOA wallets are enrolled automatically. + +{% hint style="info" %} +Multi-sig wallets or other smart contracts must call`rebaseOptIn()`to earn yield. +{% endhint %} + +By default, OUSD that is held on smart contracts will not participate in the rebasing nature of the token and will forfeit any yield unless the smart contract explicitly opts-in. This increases the composability of OUSD within DeFi as many protocols weren't designed with the expectation that balances might change. To other DeFi protocols, OUSD works just like any other normal, well-behaved ERC-20 until you ask it to change. This is a particularly useful attribute for automated market makers (AMM’s) like Uniswap which break when the number of tokens they are holding changes unexpectedly. + +![The Gnosis Safe OUSD app will prompt you to opt in to yield](../../.gitbook/assets/ousd-app-in-gnosis-safe.png) + +Smart contracts must explicitly opt-in to receiving yield via the rebasing mechanism. This fixes the issue with the expanding supply on AMM’s while still allowing multi-sig wallets and other smart contracts the opportunity to still participate and earn yield. + +{% hint style="warning" %} +If you are deploying a contract and intend to call`rebaseOptIn()`to earn yield you cannot call it from the contract's constructor. The contract must be deployed before it can be called. +{% endhint %} + +[Gnosis Safe](https://gnosis-safe.io) users are encouraged to use the Origin Dollar app which will prompt you to opt in to receiving yield. If you are using the "Old" [Gnosis Wallet](https://github.com/gnosis/MultiSigWallet) or another contract-based wallet, you will need the [proxy contract address for OUSD](../../smart-contracts/registry.md) and the corresponding [ABI](https://api.etherscan.io/api?module=contract\&action=getabi\&address=0x1ae95dd4eeae7ed03da79856c2d44ffa3318f805). Once you add those, you will be able to call the `rebaseOptIn()` function to opt into receiving yield via rebasing or`rebaseOptOut()` to turn it off again. + + + diff --git a/ko/core-concepts/fund-management.md b/ko/core-concepts/fund-management.md new file mode 100644 index 000000000..d6b1920c5 --- /dev/null +++ b/ko/core-concepts/fund-management.md @@ -0,0 +1,23 @@ +# Fund Management + +The OUSD smart contract aggregates all users' stablecoin deposits into a single pool of assets that are then deployed into earning strategies based on preset allocations. In contrast to Yearn Vaults, TokenSets, or Zapper opportunities, users do not select individual strategies. All deposited stablecoins and consequently all OUSD tokens are fungible. + +The weighting of how assets are distributed between the supported strategies is decided by OGN holders using weekly snapshot voting. These votes happen offchain and do not cost any gas. The results of the weekly poll will then be executed onchain by members of the [Strategist multi-sig](https://etherscan.io/address/0xF14BBdf064E3F67f51cd9BD646aE3716aD938FDC) (known as "Strategists"). + +Ultimately, we believe it should be up to the community to decide what the right balance of risk/reward is appropriate for OUSD. We encourage the community to favor high-yield strategies while still maintaining diversification across multiple strategies to remove single points of failure and minimize risk. + +**How strategy allocation voting works:** + +* New snapshot proposals will open for voting on the [OGN governance portal ](http://vote.originprotocol.com)at midnight Tuesday UTC (7pm eastern Monday). The poll will be open for 48 hours, ending at midnight Thursday UTC (7pm eastern on Wednesday). +* During this time, those interested can discuss allocation changes in a thread in the #governance channel on [Origin's Discord](https://www.originprotocol.com/discord). +* Each proposal will use "weighted voting", with options for each coin/strategy combination and an option to keep the existing allocation unchanged. OGN holders can spread their votes among different listed strategies or the existing allocation. +* After the voting time has ended, Strategists will submit, verify, and execute transactions to change OUSD to the determined allocation percentages for the week. If more than 50% of the weighted votes are cast for the existing allocation, Strategists will take no action. +* Allocations will be executed for strategies that use all stablecoins first (like Convex), then each stablecoin will be allocated to the remaining strategies according to the ratio of votes for that stablecoin / strategy combination. +* If the Strategists deem any of the allocations unsafe to the funds behind OUSD, they may choose to not execute those. In addition, Strategists may decline to execute minor adjustments where the gas costs would be greater than the expected benefits. +* Like all governance proposals, Strategist allocations must meet the minimum quorum requirements (currently 1M OGN) to be considered valid. +* From a security standpoint, it is important to know that while Strategists have the ability to move funds between approved strategies or instantly pause rebasing in the case of an emergency, Strategists do not have the power to add new strategies or withdraw funds without going through the timelock. Community members can use the Strategy Validator tools to more easily [create](https://analytics.ousd.com/strategist/creator) and [decode](https://analytics.ousd.com/strategist) which actions are being performed by the Strategists. +* When voting, please remember it is inefficient to move in and out of the Convex strategy frequently and some funds need to always remain outside of Convex in order to accommodate withdrawals. + + + +**** diff --git a/ko/core-concepts/fund-management/README.md b/ko/core-concepts/fund-management/README.md new file mode 100644 index 000000000..0b73cfdf0 --- /dev/null +++ b/ko/core-concepts/fund-management/README.md @@ -0,0 +1,8 @@ +# 자금 관리 + +OUSD 스마트 컨트랙트는 모든 사용자의 스테이블 코인 예금을 단일 투자 가능한 자산 풀로 집계합니다. 그 후, 해당 기금은 특정 시점에 하나 이상의 + + 수익 전략<0>에 걸쳐 할당됩니다. 금고(Vault) 는 고수익 전략을 선호하지만, 여러 전략에서의 다양성을 유지하려고합니다. 다양성은 단일 장애 지점(single points of failures) 을 제거하고 위험을 완화합니다.

+ +와이언 볼트(Yearn Vaults), 토큰 셋 (TokenSets), 또는 재회 기회(Zapper opportunities) 와는 달리 사용자는 개별 전략을 선택하지 않습니다. 예치된 모든 스테이블 코인들은 결과적으로 모든 OUSD 토큰으로 대체 가능합니다. + diff --git a/ko/core-concepts/fund-management/diversification.md b/ko/core-concepts/fund-management/diversification.md new file mode 100644 index 000000000..01ba7909f --- /dev/null +++ b/ko/core-concepts/fund-management/diversification.md @@ -0,0 +1,10 @@ +# 다각화 + +OUSD 금고(Vault) 스마트 컨트랙트의 초기 버전은 각각의 유효한 전략에 간단한 자산 할당을 수행하는 데 0% ~ 100%의 가중치를 부여합니다. 이러한 가중치는 오리진(Origin) 의 단기 업데이트와 장기적으로 분산 된 거버넌스를 통해 자주 변경됩니다. + +여러 기본 디파이(DeFi) + + 플랫폼으로의 다각화를 진행하면 스마트 컨트랙트 및 기타 시스템의 리스크를 줄일 수 있습니다. 스마트 컨트렉트는 OUSD 보유자에게 경쟁력있는 수익 제공을 위해 현재 및 예상 APY를 계산합니다. 시간이 지남에 따라, 금고(Vault) 컨트렉트는 수동 개입없이 지능적이고 자율적으로 전략 간에 전환 되도록 업그레이드됩니다. 예를 들면, 금고는 수익을 최적화하기 위해 다양한 대출 전략 간에 자본을 자동으로 이동합니다.

+ +그러나 특정 위험 매개 변수 또는 특정 전략이 자동화 된 의사 결정 엔진에 포함 될지 여부에 대한 결정은 거버넌스 투표를 통해 이루어질 것으로 예상됩니다. + diff --git a/ko/core-concepts/fund-management/earning-strategies.md b/ko/core-concepts/fund-management/earning-strategies.md new file mode 100644 index 000000000..e22d6fa42 --- /dev/null +++ b/ko/core-concepts/fund-management/earning-strategies.md @@ -0,0 +1,6 @@ +# 수익 전략 + +수익 전략은 배치 된 자본을 다양한 디파이(DeFi) 플랫폼 상에서 작동하도록 하는 것입니다. 금고(Vault) 는 어떤 전략이 활성화되어 있고, 어떤 비율로 배치 된 자본을 받을 것인지 결정합니다. + +또한 전략은 시간이 지남에 따라 업그레이드됩니다. 예를 들어, 출시 당시, 초기에는 [컴파운드(Compound) 전략](../supported-strategies/compound.md)이 있습니다. 시간이 지남에 따라 v2 또는 v3 복합 전략으로 대체 될 수 있습니다. + diff --git a/ko/core-concepts/price-oracles.md b/ko/core-concepts/price-oracles.md new file mode 100644 index 000000000..1b08c685f --- /dev/null +++ b/ko/core-concepts/price-oracles.md @@ -0,0 +1,38 @@ +- - - +description: OUSD uses Chainlink to secure the protocol from pricing attacks +- - - + +# Price Oracles + +### Stablecoin Pricing + +OUSD is designed to stay pegged at 1 USD and be 1:1 backed with its underlying stablecoins. This is trickier than it sounds because these underlying stablecoins are constantly deviating from their own desired 1 USD pegs. While the majority of daily fluctuations are minor, there have been major swings in price that have occurred in the past and are likely to occur again in the future. + +| Coin | **Low** | **High** | **Delta** | **Source** | +| ---- | ---------------------------------------------------- | ---------------------------------------------------- | --------- | --------------------------------------------------------------------------- | +| USDC |

$0.929222

Mar 13, 2020

|

$1.11

Oct 15, 2018

| $0.180778 | [CoinMarketCap](https://coinmarketcap.com/currencies/usd-coin/) | +| USDC |

$0.924188

Aug 02, 2020

|

$1.17

May 08, 2019

| $0.245812 | [CoinGecko](https://www.coingecko.com/en/coins/usd-coin) | +| DAI |

$0.945505

May 10, 2020

|

$1.11

Mar 13, 2020

| $0.164495 | [CoinMarketCap](https://coinmarketcap.com/currencies/multi-collateral-dai/) | +| DAI |

$0.903243

Nov 25, 2019

|

$1.22

Mar 13, 2020

| $0.316757 | [CoinGecko](https://www.coingecko.com/en/coins/dai) | +| USDT |

$0.849809

Feb 02, 2017

|

$1.21

May 27, 2017

| $0.360191 | [CoinGecko](https://www.coingecko.com/en/coins/tether) | +| USDT |

$0.572521

Mar 02, 2015

|

$1.32

Jul 24, 2018

| $0.747479 | [CoinMarketCap](https://coinmarketcap.com/currencies/tether/) | + +The rebasing function treats 1 stablecoin as 1 OUSD for simplicity and to protect OUSD balances from being affected by the daily fluctuations in the price of the underlying stablecoins. Since the rebase function only counts coins, OUSD balances should only increase. + +In order to mint and redeem the appropriate number of OUSD on entry and exit, the smart contracts need to accurately price the USDT, USDC, and DAI that is entering and exiting the system. + +As an added precaution, OUSD never pays more than a dollar for a stablecoin, nor sells a stablecoin for less than a dollar. Oracles giving wrong prices will not result in a reduction of the number of stablecoins held. Gains that are collected as a result of stablecoins slipping from their peg are redistributed to the remaining holders of OUSD in the form of additional yield. + +As a decentralized protocol, OUSD must rely on non-centralized sources for these prices. OUSD uses Chainlink oracles for pricing data for DAI, USDC and USDT. You can read more about [our decision to work with Chainlink](https://blog.originprotocol.com/how-origin-uses-chainlink-oracles-to-secure-ousd-bff5601e840e) on our blog. Here are the Chainlink oracles we are currently using for stablecoin pricing: + +{% embed url="https://data.chain.link/usdt-usd" %} + +{% embed url="https://data.chain.link/usdc-usd" %} + +{% embed url="https://data.chain.link/dai-usd" %} + +### Reward Token Oracles & Front Running Protection + +When reward tokens from OUSD strategies are sold for additional yield, Chainlink oracles are checked to ensure that the sale price slippage has not exceeded normal bounds. These oracles are listed on our [registry](../smart-contracts/registry.md) page under the "Oracles" tab. + +The same is also true for OGN buybacks from OUSD yield.\ \ When minting and redeeming OUSD, a miniumun required amount can be passed into the contract call to ensure that the entire transaction fails if not enough OUSD or stablecoins would be returned to the user due to changing prices. diff --git a/ko/core-concepts/price-oracles/README.md b/ko/core-concepts/price-oracles/README.md new file mode 100644 index 000000000..2721c7d18 --- /dev/null +++ b/ko/core-concepts/price-oracles/README.md @@ -0,0 +1,126 @@ +# 가격 오라클(Price Oracles) + +OUSD는 1 USD로 고정되고 기본 스테이블 코인과 1: 1로 지원되도록 설계되었습니다. 이러한 기본 스테이블 코인은 자신이 원하는 1 USD 페그에서 지속적으로 벗어나기 때문에 생각보다 까다롭습니다. 일일 변동의 대부분은 사소한 것이지만, 과거에 발생했던 주요 가격 변동이 있었다는 것을 보면 앞으로 다시 발생할 가능성을 배제할 수는 없습니다. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
코인종류낮은 + 높은 + 델타 + 출처 +
USDC +

$ 0.929222

+

2020 년 3 월 13 일

+
+

$ 1.11

+

2018 년 10 월 15 일

+
$ 0.180778CoinMarketCap +
USDC +

$ 0.924188

+

2020 년 08 월 02 일

+
+

$ 1.17

+

2019 년 05 월 08 일

+
$ 0.245812CoinGecko +
DAI +

$0.945505

+

2020 년 05 월 10 일

+
+

$ 1.11

+

2020 년 3 월 13 일

+
$ 0.164495CoinMarketCap +
DAI +

$ 0.903243

+

2019 년 11 월 25 일

+
+

$ 1.22

+

2020 년 3 월 13 일

+
$ 0.316757CoinGecko +
USDT +

$ 0.849809

+

2017 년 2 월 02 일

+
+

$ 1.21

+

2017 년 05 월 27 일

+
$ 0.360191CoinGecko +
USDT +

$ 0.572521

+

2015 년 3 월 02 일

+
+

$ 1.32

+

2018 년 7 월 24 일

+
$ 0.747479CoinMarketCap +
+ +리베이스 기능은 단순성을 위해 1개의 스테이블 코인을 1개의 OUSD로 취급하고 기본 스테이블 코인 가격의 일일 변동에 의해 영향을 받는 OUSD 잔액을 보호합니다. Since the rebase function only counts coins, OUSD balances should only increase. + +In order to mint and redeem the appropriate number of OUSD on entry and exit, the smart contracts need to accurately price the USDT, USDC, and DAI that is entering and exiting the system. As a decentralized protocol, OUSD must rely on non-centralized sources for these prices. + +{% hint style="info" %} +OUSD fetches the price from multiple on-chain oracles and uses the exchange rate that is most advantageous for the vault when minting or redeeming. +{% endhint %} + +In order to prevent malicious attacks and to encourage long-term investors over short-term speculators, the OUSD contract compares price feeds from multiple sources and will use whichever exchange rate benefits the entire vault over the individual. This mechanism protects the vault funds from arbitrageurs and prevents any individual from being able to take advantage of any temporary inefficiencies caused by mispriced oracles to deplete the shared pool of assets. + +This protects the funds in the vault while rewarding long-term holders. Since the safest price depends on the direction of the trade, the Origin oracle exposes both a `priceUSDMint()` and a `priceUSDRedeem()`. + +OUSD uses Chainlink as oracle for DAI, USDC and USDT. + +{% embed url="https://feeds.chain.link/eth-usd" caption="" %} + +The specific smart contract address for each oracle being used are listed on our [registry](../../smart-contracts/registry.md) page. + +It is possible that additional oracles will be added to the protocol over time. Support may also be removed if any of these oracles become unreliable. + diff --git a/ko/core-concepts/price-oracles/untitled.md b/ko/core-concepts/price-oracles/untitled.md new file mode 100644 index 000000000..7a413944b --- /dev/null +++ b/ko/core-concepts/price-oracles/untitled.md @@ -0,0 +1,25 @@ +# Untitled + +## Getting Super Powers + +Becoming a super hero is a fairly straight forward process: + +``` +$ give me super-powers +``` + +{% hint style="info" %} + Super-powers are granted randomly so please submit an issue if you're not happy with yours. +{% endhint %} + +Once you're strong enough, save the world: + +{% code title="hello.sh" %} +```bash +# Ain't no code for that yet, sorry +echo 'You got to trust me on this, I saved the world' +``` +{% endcode %} + + + diff --git a/ko/core-concepts/supported-assets/README.md b/ko/core-concepts/supported-assets/README.md new file mode 100644 index 000000000..fa3cdebe0 --- /dev/null +++ b/ko/core-concepts/supported-assets/README.md @@ -0,0 +1,20 @@ +# 지원되는 스테이블 코인 + +**지원되는 스테이블 코인** + +OUSD는 이를 뒷받침하는 스테이블 코인 만큼 강하다는 점을 이해하는 것이 중요합니다. 기초 자산에 대한 손실은 OUSD의 가치와 비슷한 손실을 야기합니다. + +현재 OUSD는 다음과 같은 스테이블 코인을 지원합니다: + +{% page-ref page="usdt.md" %} + +{% page-ref page="usdc.md" %} + +{% page-ref page="dai.md" %} + +그 어떠한 스테이블 코인도 완벽하지는 않지만, 그것들은 보편적으로 널리 사용되고 있기 때문에 오리진(Origin)은 그것들을 선택했습니다. 이러한 스테이블 코인들은 여러 번 USD 페그(peg) 를 손실하기도 하였지만, 결국 1 USD 목표를 달성하는 데 탄력성을 보여주었습니다. + +이러한 모든 스테이블 코인은 서로 다른 상대방에 대한 위험을 초래할 수 있다는 점에 유의해야 합니다. 특히 테더(Tether) 는 잘 문서화된 은행 문제 및 규제 문제를 안고 있습니다. 또한 USDT와 USDC는 발행인이 보유자의 지갑에있는 돈을 동결(freeze) 할 수 있는 권한을 부여하는 백도어(backdoors) 기능이 있습니다. 다이(DAI) 에는 직접적인 백도어가 없지만 USDC가 다이 채굴을 위한 담보로 허용되기 때문에 자산에 부정적인 영향을 미칠 수 있습니다. + +이러한 우려에도 불구하고 이미 이러한 스테이블 코인들의 보안에는 수십억 달러가 걸려있습니다. 시간이 지남에 따라 추가 스테이블 코인이 프로토콜에 추가 될 수 있습니다. 또한 이러한 스테이블 코인 중 하나라도 너무 신뢰할 수 없는 것으로 판명되거나, OUSD 보유자 자금이 위험에 처할 경우 지원이 해제될 수도 있습니다. + diff --git a/ko/core-concepts/supported-assets/dai.md b/ko/core-concepts/supported-assets/dai.md new file mode 100644 index 000000000..3c5c71c98 --- /dev/null +++ b/ko/core-concepts/supported-assets/dai.md @@ -0,0 +1,20 @@ +# 다이(DAI) + +![](../../.gitbook/assets/dai.png) + +다이(Dai) 는 2017년 12월 이더리움(Ethereum) 블록 체인에서 ERC-20 토큰으로 출시 된 명목 화폐(fiat-pegged) 스테이블 코인입니다. 단일 담보 다이 \ (SAI \) 에서 다중 담보 다이 \ (DAI \) 로의 주요 업그레이드가 2019 년 11 월에 완료되었습니다. 다이는 미국 달러에 고정되어 있습니다. + +다이는 ETH 또는 USDC와 같은 암호 자산을 금고라고 불리는 담보 채무 포지션 \(CPP\) 에 담보로 고정하는 사용자들에 의해 발행됩니다. 이전에는 오직 ETH만 담보로 허용되었습니다. 각 금고의 보유금과 상태를 블록체인 상에서 실시간 조회할 수 있습니다. 해당 금고와 다이 스테이블 코인의 상태는 면밀히 모니터링됩니다. + +다이는 4억 달러 이상이 유통되는, 세계에서 세 번째로 큰 규모의 스테이블 코인입니다. 또한, 대출 플랫폼 인 컴파운드(Compound) 와 에이브(Aave) 에 있는 다이의 합성 버전 인 씨다이(cDAI) 와 에이다이(aDAI) 는 합쳐서 6 억 달러 이상을 유통하고 있습니다. + +| 주요 사항 | | +|:------------- |:------------------------------------------------------------------------------------------------------------------- | +| 발행처 | 메이커다오(MakerDAO) | +| 이름 | 다이(Dai) | +| 상징 | 다이(DAI) | +| 주소 | [0x6b175474e89094c44da98b954eedeac495271d0f](https://etherscan.io/token/0x6b175474e89094c44da98b954eedeac495271d0f) | +| 데시멀(Decimals) | 18 | +| 공식 사이트 | [https://makerdao.com/](https://makerdao.com/) | +| 보유자 | 14만개 이상의 주소 | + diff --git a/ko/core-concepts/supported-assets/usdc.md b/ko/core-concepts/supported-assets/usdc.md new file mode 100644 index 000000000..60f8793e0 --- /dev/null +++ b/ko/core-concepts/supported-assets/usdc.md @@ -0,0 +1,22 @@ +# USDC + +![](../../.gitbook/assets/usdc-coin-bd351fb779%20%281%29.Png) + +USD 코인\(USDC\) 는 2017년 12월 이더리움(Ethereum) 블록 체인에서 ERC-20 토큰으로 출시 된 명목 화폐(fiat-pegged) 스테이블 코인입니다. USDC는 미국 달러에 고정되어 있으며 쉽게 미국 달러로 교환 할 수 있습니다. + +각 USDC는 써클(Circle)과 코인베이스(Coinbase)에 의해 설립된 컨소시엄인 센트레(Centre)의 회원들이 보관 계좌에 보유하고 있는 법정 화폐에 상응하는 금액과 1:1 비율로 지원됩니다. 센트레의 회원은 미국에 기반을 둔 규제 된 금융 기관입니다. 매월 보유액에 대한 감사(audits) 은 회계법인 그랜트 쑈튼(Grant Thornton LLP) 에서 발행합니다. + +USDC는 USDT 다음으로 세계에서 두 번째로 큰 규모의 스테이블 코인이며 유통량이 10 억 달러 이상으로 빠르게 성장했습니다. 그러나 USDC는 여전히 USDT의 어마어마한 유통량 120억 달러와 비교하면 훨씬 뒤쳐져 있습니다. + +| 주요 사항 | | +|:------------- |:------------------------------------------------------------------------------------------------------------------- | +| 발행처 | 센트레(Centre) | +| 이름 | USD 코인 | +| 상징 | USDC | +| 주소 | [0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48](https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48) | +| 데시멀(Decimals) | 6 | +| 공식 사이트 | [https://www.centre.io/usdc](https://www.centre.io/usdc) | +| 보유자 | 200만 개 이상의 주소 | + + + diff --git a/ko/core-concepts/supported-assets/usdt.md b/ko/core-concepts/supported-assets/usdt.md new file mode 100644 index 000000000..978332018 --- /dev/null +++ b/ko/core-concepts/supported-assets/usdt.md @@ -0,0 +1,22 @@ +# USDT + +![](../../.gitbook/assets/image%20%281%29.png) + +테더 \(USDT\) 는 처음에 옴니 레이어 프로토콜(Omni Layer Protocol) 을 통해 비트코인 위에 만들어진 법정화폐와 페그된(fiat-pegged) 스테이블 코인입니다. 2017년 9월 테더는 이더리움 블록체인에 미국 달러화 대비 ERC-20 토큰을 추가 출시할 것이라고 발표했습니다. + +유통되는 각 테더는 가상화폐 거래소 비트파이넥스(Bitfinex) 와 밀접한 관계를 맺고 있는 홍콩 소재 테더 리미티드사(Tether Limited) 가 보관 계좌에 보유하고 있는 법정 화폐 통화량에 해당하는 1대 1 비율로 뒷받침된다고 합니다. + +테더 ****** 에 대한 논쟁 ***** 회사가 적절한 예비금 지원 테더를 보여주는 약속된 감사를 제공하지 않는다는 논쟁에도 불구하고, USDT는 여전히 시가총액 기준 세계 최대의 스테이블 코인이며 현재 BTC, ETH, XRP에 이어 네 번째로 큰 규모의 암호화폐 입니다. + +| 주요 사항 | | +|:------------- |:---------------------------------------------------------------------------------------------------------------- | +| 발행처 | 테더 리미티드사(Tether Limited) | +| 이름 | 테더(Tether) | +| 상징 | USDT | +| 주소 | [0xdac17f958d2ee523a2206206994597c13d831](https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7) | +| 데시멀(Decimals) | 6 | +| 공식 사이트 | [https://tether.to/ ](https://tether.to/%20) | +| 보유자 | 180만 개 이상의 주소 | + + + diff --git a/ko/core-concepts/supported-defi-platforms/README.md b/ko/core-concepts/supported-defi-platforms/README.md new file mode 100644 index 000000000..53d1b226b --- /dev/null +++ b/ko/core-concepts/supported-defi-platforms/README.md @@ -0,0 +1,30 @@ +# 지원되는 플랫폼 + +**지원되는 플랫폼** + +OUSD는 스테이블 코인을 대출 플랫폼과 마켓 메이커 유동성 풀에 입금 함으로써 수익을 창출 합니다. 이러한 플랫폼은 기술적 리스크를 안고 있으며 중대한 보안 이벤트가 발생할 경우, 자금이 손실될 수 있다는 점을 이해하는 것이 중요합니다. 오리진(Origin) 은 스마트 컨트랙트가 감사되었고, 그 중 가장 안전하다고 생각되는 플랫폼과 협력 하기로 결정 했습니다. + +현재 이자를 생산하기 위해 다음의 플랫폼들을 활용할 계획입니다: + +{% page-ref page="compound.md" %} + +현재 다음 플랫폼에 대한 통합이 계획되어 있습니다: + +{% page-ref page="aave.md" %} + +{% page-ref page="dydx.md" %} + +{% page-ref page="uniswap.md" %} + +{% page-ref page="curve.md" %} + +{% page-ref page="balancer.md" %} + +{% page-ref page="yearn.finance.md" %} + +디파이(DeFi) 는 매우 빠르게 성장했고 현재 이러한 플랫폼에 수십억 달러 상당의 가치가 예치되어 있지만, 이러한 프로젝트 중 몇몇은 여전히 베타 버전이며 매우 실험적입니다. 이러한 플랫폼을 구동하는 스마트 컨트랙트 에는 숨겨진 취약성이 있을 수 있으며, 과거 이더리움 애플리케이션 취약성으로 인해 수백만 달러의 손실이 발생한 바 있습니다. + +오리진은 지원되는 플랫폼 상에서 보안 이벤트들을 면밀히 모니터링 할 것입니다. 또한, 위협이 식별되면 즉시 OUSD 보유자 자금을 안전하게 확보 할 것입니다. + + + diff --git a/ko/core-concepts/supported-defi-platforms/aave.md b/ko/core-concepts/supported-defi-platforms/aave.md new file mode 100644 index 000000000..3a406f5d8 --- /dev/null +++ b/ko/core-concepts/supported-defi-platforms/aave.md @@ -0,0 +1,25 @@ +# 에이브(Aave) + +{% hint style="info" %} +곧 출시 예정. 에이브(Aave) 는 아직 통합되지 않았습니다. +{% endhint %} + +에이브(Aave) 는 이더리움(Ethereum) 을 기반으로 구축된 대출 프로토콜 및 플랫폼으로, ETHLend 창안자들이 2020년 1월 출시했습니다. 에이브 사용자는 담보에 대해 복리 이자를 얻거나 자산을 빌릴 수 있습니다. 지원되는 각 자산은 자체 유동성 풀로 집계되며 사용자는 수요와 공급에 따른 변동금리 또는 고정금리 중 하나를 선택할 수 있습니다. + +담보 잔액은 ERC-20 aToken이 대표하는 기본 자산에 대한 1: 1 비율로 표시됩니다. 이자는 자동으로 복리되어 a토큰(aToken) 을 가진 대출자에게 지급됩니다. 즉, 대출자는 시간이 지남에 따라 a토큰 잔액이 꾸준히 증가하는 것을 볼 수 있습니다. 사용자는 a토큰에 대한 자산을 빌릴 수 있습니다. a토큰은 자유롭게 송금이 자유로우며, 다른 많은 디파이(DeFi) 프로토콜에서 사용할 수 있습니다. a토큰은 언제든지 기본 담보로 상환될 수 있습니다. + +에이브는 사용자가 단일 거래로 대출 잔액을 차입하고 상환하는 무담보 대출인 플래시 대출(flash loans) 을 지원합니다. 즉, 플래시 대출 사용자는 초기 자본을 투입 할 필요가 없습니다. 플래시 대출은 개발자를 대상으로 하는 복잡한 제품이며, 여러 디파이 프로토콜에서 차익 거래에 사용할 수 있습니다. + +에이브는 현재 ERC-20 토큰으로, 이전에는 ETHLend의 유틸리티 토큰이었던 LEND에 의해 관리되고 있습니다. 에이브는 완전히 탈 중앙화된 거버넌스로의 전환을 발표했습니다. 여기에는 사용자가 새로운 ERC-20 거버넌스 토큰인 AAVE로 LEND를 교환하는 토큰 스왑이 포함됩니다. 일부 AAVE는 유동성 채굴 캠페인의 형태로 플랫폼 사용자에게 배포될 예정입니다. + +에이브에 잠겨있는 총 가치 \ (TVL \) 는 12억 달러 이상으로 추정되며, 빠르게 성장하여 가장 큰 디파이 프로토콜 중 하나가 되었습니다. LEND의 유통 시가 총액은 7 억 달러 이상입니다. + +에이브는 오픈제플린(OpenZeppelin), 트레일 오브 비츠(Trail of Bits) 및 컨센시스 딜리전스(Consensys Diligence) 의 보안 감사를 받았습니다. 에이브는 버그 현상금 프로그램을 운영합니다. + +| 리소스 | | +|:------------- |:------------------------------------------------------------------------------ | +| 공식 사이트 | [https://aave.com/](https://aave.com/) | +| 개발자 문서 | [https://compound.finance/docs](https://compound.finance/docs) | +| 깃허브(Github) | [https://github.com/aave/aave-protocol](https://github.com/aave/aave-protocol) | +| 디스코드(Discord) | [https://discordapp.com/invite/AnSqnvV](https://discordapp.com/invite/AnSqnvV) | + diff --git a/ko/core-concepts/supported-defi-platforms/balancer.md b/ko/core-concepts/supported-defi-platforms/balancer.md new file mode 100644 index 000000000..906e2bfcc --- /dev/null +++ b/ko/core-concepts/supported-defi-platforms/balancer.md @@ -0,0 +1,27 @@ +# 밸런서(Balancer) + +{% hint style="info" %} +곧 출시 예정. 밸런서(Balancer) 는 아직 통합되지 않았습니다. +{% endhint %} + +밸런서(Balancer) 는 2020년 3월에 출시한, 이더리움을 기반의 탈 중앙화 유동성 프로토콜 및 거래소입니다. 사용자는 수수료를 받고 ERC-20 토큰을 교환하거나, 유동성 풀에 토큰을 기부하여 수수료를 받을 수 있습니다. + +밸런서는 자동화된 마켓 메이커(automated market maker) \ (AMM \) 로 사용자 지정 가중치를 사용하여 최대 8 개의 서로 다른 자산의 유동성 풀을 허용합니다. 밸런서의 유동성 풀은 상장지수펀드(Exchange Traded Funds) \ (ETFs \) 또는 특정 자산에 대한 가중치 목표가있는 포트폴리오와 유사하다고 생각할 수 있습니다. 거래로 인해 풀이 목표 가중치 분포에서 이동하는 경우 풀에있는 자산 간의 환율이 변경됩니다. 재정 거래 담당자(Arbitrageurs) 는 거래를 실행하여 이를 활용하고 풀을 다시 목표 가중치 분포로 재 조정할 수 있습니다. 유동성은 다른 AMM과 달리 풀간에 공유될 수도 있습니다. + +밸런서는 풀의 소유자만이 유동성을 제공할 수 있는 프라이빗 풀(private pools), 완전히 공개된 공유 풀(shared pools) 과 자동화 된 규칙과 논리를 구현할 수 있는 스마트 컨트랙트에 의해 제어되는 공유 풀인 스마트 풀(smart pools) 을 지원합니다. 유동성 공급자에게는 주어진 풀의 양과 수수료를 나타내는 밸런서 풀 토큰(Balancer Pool Tokens) \ (BPTs \) 가 제공됩니다. 해당 토큰은 자유롭게 양도할 수 있으며 제공된 자산과 발생한 수수료로 상환할 수 있습니다. + +토큰의 유동성을 개선하고자 하는 토큰 발행자들은 유동성 채굴 캠페인에 있어 유동성 공급자들에게 인센티브를 제공했습니다. 새로운 토큰 발행자는 밸런서 풀(Balancer pools) 에서 토큰을 출시했습니다. + +밸런서는 ERC-20 거버넌스 토큰 인 BAL에 의해 관리됩니다. BAL 보유자는 프로토콜 변경에 대해 투표 할 수 있습니다. BAL은 유동성 공급자에게 지속적으로 지급되며, 총 공급의 상당 부분은 지속적 베스팅 스케쥴에 따라 팀과 투자자에게 할당되었습니다. + +밸런서의 거래량은 종종 매일 2,500만 달러가 넘습니다. 밸런서는 (해당 글 작성 시점) 유동성 공급자에 의해 2억 5천만 달러가 넘는 총 가치 잠금 \(TVL\) 을 가지고 있습니다. + +밸런서는 트레일 오브 비츠(Trail of Bits) 의 보안 감사를 받았으며 버그 현상금 프로그램이 있습니다. 하지만, 밸런서는 2020년 6 월에 큰 공격을 받았습니다. + +| 리소스 | | +|:------------- |:-------------------------------------------------------------------- | +| 공식 사이트 | [https://balancer.finance/](https://balancer.finance/) | +| 개발자 문서 | [https://docs.balancer.finance/](https://docs.balancer.finance/) | +| 깃허브(Github) | [https://github.com/balancer-labs](https://github.com/balancer-labs) | +| 디스코드(Discord) | [https://discord.gg/ARJWaeF](https://discord.gg/ARJWaeF) | + diff --git a/ko/core-concepts/supported-defi-platforms/compound.md b/ko/core-concepts/supported-defi-platforms/compound.md new file mode 100644 index 000000000..544773273 --- /dev/null +++ b/ko/core-concepts/supported-defi-platforms/compound.md @@ -0,0 +1,19 @@ +# 컴파운드(Compound) + +컴파운드(Compound) 는 이더리움을 기반으로 구축되어 2018년 9월에 출시된 대출 프로토콜 및 플랫폼입니다. 컴파운드 사용자는 담보에 대해 복리 이자를 얻거나 자산을 빌릴 수 있습니다. 지원되는 각 자산은 자체 유동성 풀로 집계되며, 수급에 따라 이자율이 자동으로 조정됩니다. + +담보 잔액은 ERC-20 c토큰(cTokens) 으로 표시 되며, ERC-20 c토큰은 해당 잔액이 나타내는 기본 자산에 비해 시간 경과에 따라 이자가 자동으로 발생하고 가치가 증가합니다. 사용자는 c토큰의 가치에 대해 자산을 빌릴 수 있습니다. c토큰은 송금이 자유로우며, 다른 많은 디파이(DeFi) 프로토콜에서 사용할 수 있습니다. c토큰은 언제든지 기본 담보로 상환될 수 있습니다. + +컴파운드는 ERC-20 거버넌스 토큰인 COMP에 의해 관리됩니다. COMP 보유자는 프로토콜 변경을 제안 및 투표하거나 다른 사람에게 투표를 위임 할 수 있습니다. COMP 토큰은 매일 프로토콜 사용자에게 비례하여 지급되며 차용자와 대출자간에 균등하게 분배됩니다. COMP 토큰 공급의 상당 부분은 컴파운드 팀, 투자자 및 고문이 보유했습니다. + +컴파운드에 잠겨있는 총 고정 가치 \ (TVL \) 는 8억 달러로, 빠르게 성장하여 가장 큰 디파이 프로토콜 중 하나가 되었습니다. COMP의 유통 시가 총액은 5억 달러 이상입니다. + +컴파운드는 오픈제플린(OpenZeppelin) 및 트레일 오브 비츠(Trail of Bits) 의 여러 보안 감사를 거쳤습니다. 컴파운드 프로토콜은 써틱(CertiK) 에 의해 공식적으로 검증되었으며 건틀릿(Gauntlet) 의 경제적 스트레스 테스트를 거쳤습니다. 컴파운드는 버그 현상금 프로그램을 운영합니다. + +| 리소스 | | +|:------------- |:-------------------------------------------------------------------------------------------------------------- | +| 공식 사이트 | [https://compound.finance/](https://compound.finance/) | +| 개발자 문서 | [https://compound.finance/docs](https://compound.finance/docs) | +| 깃허브(Github) | [https://github.com/compound-finance/compound-protocol](https://github.com/compound-finance/compound-protocol) | +| 디스코드(Discord) | [https://discord.com/invite/cU7vmVW](https://discord.com/invite/cU7vmVW) | + diff --git a/ko/core-concepts/supported-defi-platforms/curve.md b/ko/core-concepts/supported-defi-platforms/curve.md new file mode 100644 index 000000000..e94a940c6 --- /dev/null +++ b/ko/core-concepts/supported-defi-platforms/curve.md @@ -0,0 +1,25 @@ +# 커브(Curve) + +{% hint style="info" %} +곧 출시 예정. 커브(Curve) 는 아직 통합되지 않았습니다. +{% endhint %} + +커브(Curve) 는 이더리움(Etherum) 에서 스테이블 코인과 wBTC(wrapped BTC) 를 위한 탈중앙화 유동성 프로토콜 및 거래소이며, 2020년 1월에 출시되었다. 사용자는 인기 있는 ERC-20 스테이블 코인 또는 ERC-20 일종의 비트코인 간에 교환할 수 있습니다. 유동성 공급자는 거래를 촉진하고 수수료를 받습니다. + +커브는 자동화된 마켓 메이커(Automated Market Maker) \ (AMM \) 로 각 시장은 USDT, USDC, DAI 및 TUSD와 같이 동일한 가치를 가져야하는 두 개 이상의 자산과 관련된 유동성 풀이 있으며, 모두 미국 달러로 고정 된 스테이블 코인입니다. 각 스테이블 코인과 상대적 가중치 간의 환율은 수요와 공급을 기반으로 한 알고리즘에 의해 결정됩니다. 중재자는 이러한 환율을 정상화하기 위해 행동합니다. + +커브의 유동성 풀 중 일부는 거래자로부터의 교환 수수료 외에 유동성 공급자에게 추가 수수료를 받습니다. 커브는 컴파운드(Compound), 와이언 파이낸스(yearn.finance) 및 신세틱스(Synthetix) 와 통합된 스테이블 코인 풀을 제공합니다. 각 유동성 풀의 자산은 각 풀의 유동성 공급자에게 전달되는 추가 수익을 생성하기 위해 해당 플랫폼에 제공됩니다. 유동성 공급자 \ (LP \) 토큰은 풀 참여자에게 제공되며 초기 유동성 공급과 발생한 수수료 및 수익으로 상환 될 수 있습니다. LP 토큰을 다른 프로토콜에서 사용하기 위해 전송할 수도 있습니다. + +커브는 ERC-20 거버넌스 토큰인 CRV에 의해 관리됩니다. CRV 보유자는 프로토콜 변경에 대해 투표 할 수 있습니다. CRV 보유자는 보유 시간에 비례하여 추가 투표권을 얻기 위해 토큰을 보유 할 수 있습니다. CRV은 유동성 공급자에게 지속적으로 지급되며, CRV의 총 공급의 상당 부분은 지속적 베스팅 스케쥴에 따라 팀과 투자자에게 할당되었습니다. + +커브의 거래량은 종종 매일 5,000만 달러가 넘습니다. 커브는 (해당 글 작성 시점) 유동성 공급자에 의해 10억 달러가 넘는 총 가치 잠금 \(TVL\) 을 가지고 있습니다. + +커브는 트레일 오브 비츠(Trail of Bits) 의 보안 감사를 2번 받았으며 버그 현상금 프로그램을 운영하고 있습니다. + +| 리소스 | | +|:------------- |:------------------------------------------------------------------------ | +| 공식 사이트 | [https://www.curve.fi/](https://www.curve.fi/) | +| 개발자 문서 | [https://www.curve.fi/devdocs](https://www.curve.fi/devdocs) | +| 깃허브(Github) | [https://github.com/curvefi](https://github.com/curvefi) | +| 디스코드(Discord) | [https://discord.com/invite/9uEHakc](https://discord.com/invite/9uEHakc) | + diff --git a/ko/core-concepts/supported-defi-platforms/dydx.md b/ko/core-concepts/supported-defi-platforms/dydx.md new file mode 100644 index 000000000..597ee0e1c --- /dev/null +++ b/ko/core-concepts/supported-defi-platforms/dydx.md @@ -0,0 +1,27 @@ +# 디와이디엑스(dYdX) + +{% hint style="info" %} +곧 출시 예정. 디와이디엑스(DyDx) 는 아직 통합되지 않았습니다. +{% endhint %} + +디와이디엑스는 이더리움을 기반으로 구축되어 2019년 5월에 출시된 거래 및 대출 프로토콜 및 플랫폼입니다. 사용자는 디와이디엑스의 비수탁(Non-Custodial) 탈중앙화 거래소에서 자산을 거래하거나 차용 및 대출에 참여할 수 있습니다. 대출 프로토콜은 마진 및 선물 거래를 가능하게 합니다. 금리는 수급에 따라 조정되며 단기 대출만 가능합니다. + +차용 및 대출이 가능한 자산의 유동성은 자산 유형별로 함께 통합됩니다. 대출자에게 지급되는 이자는 자동으로 발생하며 대출자는 대출을 받기 위해 담보를 설치해야 합니다. + +디와이디엑는 또한 사용자가 단일 거래로 대출 잔액을 차입하고 상환하는 무담보 대출인 플래시 대출(flash loans) 을 지원합니다. 즉, 플래시 대출 사용자는 초기 자본을 투입 할 필요가 없습니다. 플래시 대출은 개발자를 대상으로 하는 복잡한 제품이며, 여러 디파이 프로토콜에서 차익 거래에 사용할 수 있습니다. + +디와이디엑스는 (해당 글 작성 시점) 총 4천만 달러의 총 가치 잠금 \(TVL\) 을 가지고 있습니다. dYdX에는 네이티브 토큰이 없습니다. + +dYdX는 오픈제플린(OpenZeppelin) 및 브라마 시스템(Bramah Systems) 의 보안 감사를 받았습니다. + +| 리소스 | | +|:------------- |:-------------------------------------------------------------------- | +| 공식 사이트 | [https://dydx.exchange/](https://dydx.exchange/) | +| 개발자 문서 | [https://docs.dydx.exchange/](https://docs.dydx.exchange/) | +| 깃허브(Github) | [https://github.com/dydxprotocol/](https://github.com/dydxprotocol/) | +| 디스코드(Discord) | [https://discord.gg/yah42Rb](https://discord.gg/yah42Rb) | + + + + + diff --git a/ko/core-concepts/supported-defi-platforms/uniswap.md b/ko/core-concepts/supported-defi-platforms/uniswap.md new file mode 100644 index 000000000..1b0bf7020 --- /dev/null +++ b/ko/core-concepts/supported-defi-platforms/uniswap.md @@ -0,0 +1,27 @@ +# 유니스왑(Uniswap) + +{% hint style="info" %} +곧 출시 예정. 유니스왑(Uniswap) 은 아직 통합되지 않았습니다. +{% endhint %} + +유니스왑(Uniswap) 은 2018년 11월에 출시한, 이더리움을 기반의 탈 중앙화 유동성 프로토콜 및 거래소입니다. 유니스왑의 두번째 버전(v2) 는 2020년 5월에 출시 되었습니다. 사용자는 수수료를 받고 ERC-20 토큰을 교환하거나, 유동성 풀에 토큰을 기부하여 수수료를 받을 수 있습니다. + +유니스왑의 시장은 주문서를 통해서 운영되는 것이 아닌, 유동성 풀에 의해 운영됩니다. 이러한 형태의 거래소를 자동화된 마켓 메이커(Automated Market Maker) \ (AMM \) 이라고 합니다. 두 자산 간의 환율은 일정한 제품 공식에 의해 결정되며 풀에있는 각 자산의 상대적 가중치에 따라 가격 곡선을 따라 이동합니다. 이것은 상대적 가중치를 재조정하고 환율을 정상화하기 위해 차익 거래자들이 유동성 풀에 들어 가도록 장려 합니다. + +주어진 풀에 충분한 유동성이 없다면 트레이더들은 하락을 겪을 수 있고 불리한 환율로부터 보호받지 못할 수도 있습니다. 유동성 공급자는 풀 환율이 시장 현실과 일치하지 않을 때 영구적인 손실을 입을 수 있으며, 중개업자는 가격 곡선을 따라 거래를 실행할 수 있습니다. + +풀 참가자에게는 주어진 풀에서 제공되는 유동성 중 자신의 몫에 해당하는 유니스왑 유동성 공급자 \(LP\) 토큰이 주어집니다. 이 LP 토큰들은 자유롭게 전송할 수 있습니다. 참가자들은 제공된 자산과 발생한 수수료에 대해 이러한 토큰을 상환하여 언제든지 풀을 종료할 수 있습니다. + +토큰의 유동성을 개선하고자 하는 토큰 발행자들은 유동성 채굴 캠페인에 있어 유동성 공급자들에게 인센티브를 제공했습니다. 새로운 토큰 발행자는 또한 유니스왑 풀(Uniswap pools) 에서 토큰을 출시 했습니다. + +유니스왑의 거래량은 현재 많은 전통적인 거래소의 거래량을 능가하고 있으며, 정기적으로 매일 2억 달러를 초과하고 있습니다. 유니스왑은 유동성 공급자에 의해 락업 총액(Total Value Locked) \(TVL\) 1억 7천만 달러 이상을 보유하고 있습니다. 유니스왑은 기본 플랫폼(native platform) 또는 거버넌스 토큰(governance token) 을 가지고 있지 않습니다. + +유니스왑은 dapp.org에서 감사하고, 공식적으로 검증한 스마트 컨트렉트를 가지고 있습니다. 유니스왑은 버그 현상금 프로그램을 운영합니다. + +| 리소스 | | +|:------------- |:------------------------------------------------------------------------ | +| 공식 사이트 | [https://uniswap.org/](https://uniswap.org/) | +| 개발자 문서 | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| 깃허브(Github) | [https://github.com/Uniswap](https://github.com/Uniswap) | +| 디스코드(Discord) | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/ko/core-concepts/supported-defi-platforms/yearn.finance.md b/ko/core-concepts/supported-defi-platforms/yearn.finance.md new file mode 100644 index 000000000..40f2d7dc6 --- /dev/null +++ b/ko/core-concepts/supported-defi-platforms/yearn.finance.md @@ -0,0 +1,25 @@ +# 와이언파이낸스(Yearn Finance) + +{% hint style="info" %} +곧 출시 예정. 와이언 파이낸스(Yearn.finance)는 아직 통합되지 않았습니다. +{% endhint %} + +와이언파이낸스(Yearn.finance) (이전 iEarn.finance)는 이더리움을 기반으로 구축 된 수익 집계 플랫폼으로 안드레 크로네(Andre Cronje)가 2020년 1월에 출시 했습니다. 와이언은 자본을 예치한 사용자를 대신하여 자동화와 인간의 의사 결정을 조합하여, 이자 농사와 재조정 전략을 관리합니다. + +와이언에는 Earn과 Vaults라는 두 가지 수익 결합 제품이 있습니다. Earn은 사용자들이 수수료와 거버넌스 토큰 보상을 얻기 위해 커브(Curve) 의 유동성 풀에 스테이블 코인이나 WBTC(Wrapped BTC) 를 입금할 수 있도록 합니다. 또한 이러한 자산은 높은 수익률과 토큰 보상을 제공하는 플랫폼에서 대여되어 수익률을 증가 시킵니다. + +Vault는 보다 자동화되고 관리되는 환경을 제공 합니다. 사용자는 링크(LINK), 커브(Curve) 유동성 공급자 토큰 또는 스테이블 코인과 같은 자산을 입금하고 Vault는 이러한 자산을 함께 풀링하여 지역사회와 안드레 크로네가 안전하다고 간주하는 최고 수익률 이자 농사 전략을 배포합니다. 보상으로 획득한 거버넌스 토큰은 원래 자산에 대해 매각되고, 다른 수수료와 결합된 후 수익률을 높이기 위해 자동으로 Vault로 롤링되어 복리 수익을 얻습니다. 전략은 자주 변경될 수 있으며 자산을 함께 풀링하면 사용자의 가스 비용을 절감할 수 있습니다. + +와이언은 ERC-20 거버넌스 토큰인 YFI에 의해 관리됩니다. YFI 보유자는 3 일 동안 YFI 잠금에 동의 한 후 프로토콜 변경에 투표 할 수 있습니다. YFI는 거버넌스 포털에서 수익을 위해 스테이킹 할 수도 있습니다. 이 수익률은 와이언 제품을 사용하는 사용자에게 부과되는 수수료에서 나옵니다. YFI는 커브(Curve) 그리고 밸런서(Balancer) 의 유동성 공급자에게 전적으로 배포되었습니다. 팀원이나 투자자에 대한 할당은 없었습니다. + +와이언의 총 가치 잠금 \ (TVL \) 은 빠르게 8 억 달러 이상으로 성장하여, 가장 큰 디파이(DeFi) 플랫폼 중 하나가 되었습니다. YFI의 유통 시가 총액은 4 억 달러 이상입니다. + +와이언은 써틱(CertiK), 퀀트스탬프(Quantstamp), 핵MD(HackMD) 및 크립토매니악(CryptoManiacs) 과 같은 다수의 보안 및 스마트 계약 감사를 받았습니다. 와이언은 실험 제품을 매우 빠르게 출시한 것으로 유명하며, 사용자에게 제품이 베타 버전임을 경고하고 있습니다. + +| 리소스 | | +|:------------- |:-------------------------------------------------------------------- | +| 공식 사이트 | [https://yearn.finance/](https://yearn.finance/) | +| 개발자 문서 | [https://docs.yearn.finance/](https://docs.yearn.finance/) | +| 깃허브(Github) | [https://github.com/iearn-finance](https://github.com/iearn-finance) | +| 디스코드(Discord) | [https://discord.gg/uTmHe8r](https://discord.gg/uTmHe8r) | + diff --git a/ko/core-concepts/supported-platforms/README.md b/ko/core-concepts/supported-platforms/README.md new file mode 100644 index 000000000..03b3b648e --- /dev/null +++ b/ko/core-concepts/supported-platforms/README.md @@ -0,0 +1,32 @@ +# 지원되는 플랫폼 + +**지원되는 플랫폼** + +OUSD는 스테이블 코인을 대출 플랫폼과 마켓 메이커 유동성 풀에 입금 함으로써 수익을 창출 합니다. 이러한 플랫폼은 기술적 리스크를 안고 있으며 중대한 보안 이벤트가 발생할 경우, 자금이 손실될 수 있다는 점을 이해하는 것이 중요합니다. 오리진(Origin) 은 스마트 컨트랙트가 감사되었고, 그 중 가장 안전하다고 생각되는 플랫폼과 협력 하기로 결정 했습니다. + +현재 이자를 생산하기 위해 다음의 플랫폼들을 활용할 계획입니다: + +{% page-ref page="compound.md" %} + +현재 다음 플랫폼에 대해 통합이 계획되어 있습니다: + +{% page-ref page="yearn.finance.md" %} + +{% page-ref page="compound.md" %} + +{% page-ref page="aave.md" %} + +{% page-ref page="dydx.md" %} + +{% page-ref page="uniswap.md" %} + +{% page-ref page="curve.md" %} + +{% page-ref page="balancer.md" %} + +디파이(DeFi) 는 매우 빠르게 성장했고 현재 이러한 플랫폼에 수십억 달러 상당의 가치가 예치되어 있지만, 이러한 프로젝트 중 몇몇은 여전히 베타 버전이며 매우 실험적입니다. 이러한 플랫폼을 구동하는 스마트 컨트랙트 에는 숨겨진 취약성이 있을 수 있으며, 과거 이더리움 애플리케이션 취약성으로 인해 수백만 달러의 손실이 발생한 바 있습니다. + +오리진은 지원되는 플랫폼 상에서 보안 이벤트들을 면밀히 모니터링 할 것입니다. 또한, 위협이 식별되면 즉시 OUSD 보유자 자금을 안전하게 확보 할 것입니다. + + + diff --git a/ko/core-concepts/supported-platforms/aave.md b/ko/core-concepts/supported-platforms/aave.md new file mode 100644 index 000000000..a3416f3cb --- /dev/null +++ b/ko/core-concepts/supported-platforms/aave.md @@ -0,0 +1,25 @@ +# 에이브(Aave) + +{% hint style="info" %} +곧 출시 예정. 에이브(Aave) 는 아직 통합되지 않았습니다. +{% endhint %} + +에이브(Aave) 는 이더리움(Ethereum) 을 기반으로 구축된 대출 프로토콜 및 플랫폼으로, ETHLend 창안자들이 2020년 1월 출시했습니다. 에이브 사용자는 담보에 대해 복리 이자를 얻거나 자산을 빌릴 수 있습니다. 지원되는 각 자산은 자체 유동성 풀로 집계되며 사용자는 수요와 공급에 따른 변동금리 또는 고정금리 중 하나를 선택할 수 있습니다. + +담보 잔액은 ERC-20 aToken이 대표하는 기본 자산에 대한 1: 1 비율로 표시됩니다. 이자는 자동으로 복리되어 a토큰(aToken) 을 가진 대출자에게 지급됩니다. 즉, 대출자는 시간이 지남에 따라 a토큰 잔액이 꾸준히 증가하는 것을 볼 수 있습니다. 사용자는 a토큰에 대한 자산을 빌릴 수 있습니다. a토큰은 자유롭게 송금이 자유로우며, 다른 많은 디파이(DeFi) 프로토콜에서 사용할 수 있습니다. a토큰은 언제든지 기본 담보로 상환될 수 있습니다. + +에이브는 사용자가 단일 거래로 대출 잔액을 차입하고 상환하는 무담보 대출인 플래시 대출(flash loans) 을 지원합니다. 즉, 플래시 대출 사용자는 초기 자본을 투입 할 필요가 없습니다. 플래시 대출은 개발자를 대상으로 하는 복잡한 제품이며, 여러 디파이 프로토콜에서 차익 거래에 사용할 수 있습니다. + +에이브는 현재 ERC-20 토큰으로, 이전에는 ETHLend의 유틸리티 토큰이었던 LEND에 의해 관리되고 있습니다. 에이브는 완전히 탈 중앙화된 거버넌스로의 전환을 발표했습니다. 여기에는 사용자가 새로운 ERC-20 거버넌스 토큰인 AAVE로 LEND를 교환하는 토큰 스왑이 포함됩니다. 일부 AAVE는 유동성 채굴 캠페인의 형태로 플랫폼 사용자에게 배포될 예정입니다. + +에이브에 잠겨있는 총 가치 \ (TVL \) 는 12억 달러 이상으로 추정되며, 빠르게 성장하여 가장 큰 디파이 프로토콜 중 하나가 되었습니다. LEND의 유통 시가 총액은 7 억 달러 이상입니다. + +에이브는 오픈제플린(OpenZeppelin), 트레일 오브 비츠(Trail of Bits) 및 컨센시스 딜리전스(Consensys Diligence) 의 보안 감사를 받았습니다. 에이브는 버그 현상금 프로그램을 운영합니다. + +| 리소스 | | +|:------------- |:------------------------------------------------------------------------------ | +| 공식 사이트 | [https://aave.com/](https://aave.com/) | +| 개발자 문서 | [http://docs.aave.com/](https://compound.finance/docs) | +| 깃허브(Github) | [https://github.com/aave/aave-protocol](https://github.com/aave/aave-protocol) | +| 디스코드(Discord) | [https://discordapp.com/invite/AnSqnvV](https://discordapp.com/invite/AnSqnvV) | + diff --git a/ko/core-concepts/supported-platforms/balancer.md b/ko/core-concepts/supported-platforms/balancer.md new file mode 100644 index 000000000..8e8044fc6 --- /dev/null +++ b/ko/core-concepts/supported-platforms/balancer.md @@ -0,0 +1,27 @@ +# 밸런서(Balancer) + +{% hint style="info" %} +곧 출시 예정. 밸런서(Balancer) 는 아직 통합되지 않았습니다. +{% endhint %} + +밸런서(Balancer) 는 2020년 3월에 출시한, 이더리움을 기반의 탈 중앙화 유동성 프로토콜 및 거래소입니다. 사용자는 수수료를 받고 ERC-20 토큰을 교환하거나, 유동성 풀에 토큰을 기부하여 수수료를 받을 수 있습니다. + +밸런서는 자동화된 마켓 메이커(automated market maker) \ (AMM \) 로 사용자 지정 가중치를 사용하여 최대 8 개의 서로 다른 자산의 유동성 풀을 허용합니다. 밸런서의 유동성 풀은 상장지수펀드(Exchange Traded Funds) \ (ETFs \) 또는 특정 자산에 대한 가중치 목표가있는 포트폴리오와 유사하다고 생각할 수 있습니다. 거래로 인해 풀이 목표 가중치 분포에서 이동하는 경우 풀에있는 자산 간의 환율이 변경됩니다. 재정 거래 담당자(Arbitrageurs) 는 거래를 실행하여 이를 활용하고 풀을 다시 목표 가중치 분포로 재 조정할 수 있습니다. 유동성은 다른 AMM과 달리 풀간에 공유될 수도 있습니다. + +밸런서는 풀의 소유자만이 유동성을 제공할 수 있는 프라이빗 풀(private pools), 완전히 공개된 공유 풀(shared pools) 과 자동화 된 규칙과 논리를 구현할 수 있는 스마트 컨트랙트에 의해 제어되는 공유 풀인 스마트 풀(smart pools) 을 지원합니다. 유동성 공급자에게는 주어진 풀의 양과 수수료를 나타내는 밸런서 풀 토큰(Balancer Pool Tokens) \ (BPTs \) 가 제공됩니다. 해당 토큰은 자유롭게 양도할 수 있으며 제공된 자산과 발생한 수수료로 상환할 수 있습니다. + +토큰의 유동성을 개선하고자 하는 토큰 발행자들은 유동성 채굴 캠페인에 있어 유동성 공급자들에게 인센티브를 제공했습니다. 새로운 토큰 발행자는 밸런서 풀(Balancer pools) 에서 토큰을 출시했습니다. + +밸런서는 ERC-20 거버넌스 토큰인 BAL에 의해 관리됩니다. BAL 보유자는 프로토콜 변경에 대해 투표 할 수 있습니다. BAL은 유동성 공급자에게 지속적으로 지급되며, 총 공급의 상당 부분은 지속적 베스팅 스케쥴에 따라 팀과 투자자에게 할당되었습니다. + +밸런서의 거래량은 종종 매일 2,500만 달러가 넘습니다. 밸런서는 (해당 글 작성 시점) 유동성 공급자에 의해 2억 5천만 달러가 넘는 총 가치 잠금 \(TVL\) 을 가지고 있습니다. + +밸런서는 트레일 오브 비츠(Trail of Bits) 의 보안 감사를 받았으며 버그 현상금 프로그램이 있습니다. 하지만, 밸런서는 2020년 6 월에 큰 공격을 받았습니다. + +| 리소스 | | +|:------------- |:-------------------------------------------------------------------- | +| 공식 사이트 | [https://balancer.finance/](https://balancer.finance/) | +| 개발자 문서 | [https://docs.balancer.finance/](https://docs.balancer.finance/) | +| 깃허브(Github) | [https://github.com/balancer-labs](https://github.com/balancer-labs) | +| 디스코드(Discord) | [https://discord.gg/ARJWaeF](https://discord.gg/ARJWaeF) | + diff --git a/ko/core-concepts/supported-platforms/compound.md b/ko/core-concepts/supported-platforms/compound.md new file mode 100644 index 000000000..544773273 --- /dev/null +++ b/ko/core-concepts/supported-platforms/compound.md @@ -0,0 +1,19 @@ +# 컴파운드(Compound) + +컴파운드(Compound) 는 이더리움을 기반으로 구축되어 2018년 9월에 출시된 대출 프로토콜 및 플랫폼입니다. 컴파운드 사용자는 담보에 대해 복리 이자를 얻거나 자산을 빌릴 수 있습니다. 지원되는 각 자산은 자체 유동성 풀로 집계되며, 수급에 따라 이자율이 자동으로 조정됩니다. + +담보 잔액은 ERC-20 c토큰(cTokens) 으로 표시 되며, ERC-20 c토큰은 해당 잔액이 나타내는 기본 자산에 비해 시간 경과에 따라 이자가 자동으로 발생하고 가치가 증가합니다. 사용자는 c토큰의 가치에 대해 자산을 빌릴 수 있습니다. c토큰은 송금이 자유로우며, 다른 많은 디파이(DeFi) 프로토콜에서 사용할 수 있습니다. c토큰은 언제든지 기본 담보로 상환될 수 있습니다. + +컴파운드는 ERC-20 거버넌스 토큰인 COMP에 의해 관리됩니다. COMP 보유자는 프로토콜 변경을 제안 및 투표하거나 다른 사람에게 투표를 위임 할 수 있습니다. COMP 토큰은 매일 프로토콜 사용자에게 비례하여 지급되며 차용자와 대출자간에 균등하게 분배됩니다. COMP 토큰 공급의 상당 부분은 컴파운드 팀, 투자자 및 고문이 보유했습니다. + +컴파운드에 잠겨있는 총 고정 가치 \ (TVL \) 는 8억 달러로, 빠르게 성장하여 가장 큰 디파이 프로토콜 중 하나가 되었습니다. COMP의 유통 시가 총액은 5억 달러 이상입니다. + +컴파운드는 오픈제플린(OpenZeppelin) 및 트레일 오브 비츠(Trail of Bits) 의 여러 보안 감사를 거쳤습니다. 컴파운드 프로토콜은 써틱(CertiK) 에 의해 공식적으로 검증되었으며 건틀릿(Gauntlet) 의 경제적 스트레스 테스트를 거쳤습니다. 컴파운드는 버그 현상금 프로그램을 운영합니다. + +| 리소스 | | +|:------------- |:-------------------------------------------------------------------------------------------------------------- | +| 공식 사이트 | [https://compound.finance/](https://compound.finance/) | +| 개발자 문서 | [https://compound.finance/docs](https://compound.finance/docs) | +| 깃허브(Github) | [https://github.com/compound-finance/compound-protocol](https://github.com/compound-finance/compound-protocol) | +| 디스코드(Discord) | [https://discord.com/invite/cU7vmVW](https://discord.com/invite/cU7vmVW) | + diff --git a/ko/core-concepts/supported-platforms/curve.md b/ko/core-concepts/supported-platforms/curve.md new file mode 100644 index 000000000..e94a940c6 --- /dev/null +++ b/ko/core-concepts/supported-platforms/curve.md @@ -0,0 +1,25 @@ +# 커브(Curve) + +{% hint style="info" %} +곧 출시 예정. 커브(Curve) 는 아직 통합되지 않았습니다. +{% endhint %} + +커브(Curve) 는 이더리움(Etherum) 에서 스테이블 코인과 wBTC(wrapped BTC) 를 위한 탈중앙화 유동성 프로토콜 및 거래소이며, 2020년 1월에 출시되었다. 사용자는 인기 있는 ERC-20 스테이블 코인 또는 ERC-20 일종의 비트코인 간에 교환할 수 있습니다. 유동성 공급자는 거래를 촉진하고 수수료를 받습니다. + +커브는 자동화된 마켓 메이커(Automated Market Maker) \ (AMM \) 로 각 시장은 USDT, USDC, DAI 및 TUSD와 같이 동일한 가치를 가져야하는 두 개 이상의 자산과 관련된 유동성 풀이 있으며, 모두 미국 달러로 고정 된 스테이블 코인입니다. 각 스테이블 코인과 상대적 가중치 간의 환율은 수요와 공급을 기반으로 한 알고리즘에 의해 결정됩니다. 중재자는 이러한 환율을 정상화하기 위해 행동합니다. + +커브의 유동성 풀 중 일부는 거래자로부터의 교환 수수료 외에 유동성 공급자에게 추가 수수료를 받습니다. 커브는 컴파운드(Compound), 와이언 파이낸스(yearn.finance) 및 신세틱스(Synthetix) 와 통합된 스테이블 코인 풀을 제공합니다. 각 유동성 풀의 자산은 각 풀의 유동성 공급자에게 전달되는 추가 수익을 생성하기 위해 해당 플랫폼에 제공됩니다. 유동성 공급자 \ (LP \) 토큰은 풀 참여자에게 제공되며 초기 유동성 공급과 발생한 수수료 및 수익으로 상환 될 수 있습니다. LP 토큰을 다른 프로토콜에서 사용하기 위해 전송할 수도 있습니다. + +커브는 ERC-20 거버넌스 토큰인 CRV에 의해 관리됩니다. CRV 보유자는 프로토콜 변경에 대해 투표 할 수 있습니다. CRV 보유자는 보유 시간에 비례하여 추가 투표권을 얻기 위해 토큰을 보유 할 수 있습니다. CRV은 유동성 공급자에게 지속적으로 지급되며, CRV의 총 공급의 상당 부분은 지속적 베스팅 스케쥴에 따라 팀과 투자자에게 할당되었습니다. + +커브의 거래량은 종종 매일 5,000만 달러가 넘습니다. 커브는 (해당 글 작성 시점) 유동성 공급자에 의해 10억 달러가 넘는 총 가치 잠금 \(TVL\) 을 가지고 있습니다. + +커브는 트레일 오브 비츠(Trail of Bits) 의 보안 감사를 2번 받았으며 버그 현상금 프로그램을 운영하고 있습니다. + +| 리소스 | | +|:------------- |:------------------------------------------------------------------------ | +| 공식 사이트 | [https://www.curve.fi/](https://www.curve.fi/) | +| 개발자 문서 | [https://www.curve.fi/devdocs](https://www.curve.fi/devdocs) | +| 깃허브(Github) | [https://github.com/curvefi](https://github.com/curvefi) | +| 디스코드(Discord) | [https://discord.com/invite/9uEHakc](https://discord.com/invite/9uEHakc) | + diff --git a/ko/core-concepts/supported-platforms/dydx.md b/ko/core-concepts/supported-platforms/dydx.md new file mode 100644 index 000000000..597ee0e1c --- /dev/null +++ b/ko/core-concepts/supported-platforms/dydx.md @@ -0,0 +1,27 @@ +# 디와이디엑스(dYdX) + +{% hint style="info" %} +곧 출시 예정. 디와이디엑스(DyDx) 는 아직 통합되지 않았습니다. +{% endhint %} + +디와이디엑스는 이더리움을 기반으로 구축되어 2019년 5월에 출시된 거래 및 대출 프로토콜 및 플랫폼입니다. 사용자는 디와이디엑스의 비수탁(Non-Custodial) 탈중앙화 거래소에서 자산을 거래하거나 차용 및 대출에 참여할 수 있습니다. 대출 프로토콜은 마진 및 선물 거래를 가능하게 합니다. 금리는 수급에 따라 조정되며 단기 대출만 가능합니다. + +차용 및 대출이 가능한 자산의 유동성은 자산 유형별로 함께 통합됩니다. 대출자에게 지급되는 이자는 자동으로 발생하며 대출자는 대출을 받기 위해 담보를 설치해야 합니다. + +디와이디엑는 또한 사용자가 단일 거래로 대출 잔액을 차입하고 상환하는 무담보 대출인 플래시 대출(flash loans) 을 지원합니다. 즉, 플래시 대출 사용자는 초기 자본을 투입 할 필요가 없습니다. 플래시 대출은 개발자를 대상으로 하는 복잡한 제품이며, 여러 디파이 프로토콜에서 차익 거래에 사용할 수 있습니다. + +디와이디엑스는 (해당 글 작성 시점) 총 4천만 달러의 총 가치 잠금 \(TVL\) 을 가지고 있습니다. dYdX에는 네이티브 토큰이 없습니다. + +dYdX는 오픈제플린(OpenZeppelin) 및 브라마 시스템(Bramah Systems) 의 보안 감사를 받았습니다. + +| 리소스 | | +|:------------- |:-------------------------------------------------------------------- | +| 공식 사이트 | [https://dydx.exchange/](https://dydx.exchange/) | +| 개발자 문서 | [https://docs.dydx.exchange/](https://docs.dydx.exchange/) | +| 깃허브(Github) | [https://github.com/dydxprotocol/](https://github.com/dydxprotocol/) | +| 디스코드(Discord) | [https://discord.gg/yah42Rb](https://discord.gg/yah42Rb) | + + + + + diff --git a/ko/core-concepts/supported-platforms/uniswap.md b/ko/core-concepts/supported-platforms/uniswap.md new file mode 100644 index 000000000..1b0bf7020 --- /dev/null +++ b/ko/core-concepts/supported-platforms/uniswap.md @@ -0,0 +1,27 @@ +# 유니스왑(Uniswap) + +{% hint style="info" %} +곧 출시 예정. 유니스왑(Uniswap) 은 아직 통합되지 않았습니다. +{% endhint %} + +유니스왑(Uniswap) 은 2018년 11월에 출시한, 이더리움을 기반의 탈 중앙화 유동성 프로토콜 및 거래소입니다. 유니스왑의 두번째 버전(v2) 는 2020년 5월에 출시 되었습니다. 사용자는 수수료를 받고 ERC-20 토큰을 교환하거나, 유동성 풀에 토큰을 기부하여 수수료를 받을 수 있습니다. + +유니스왑의 시장은 주문서를 통해서 운영되는 것이 아닌, 유동성 풀에 의해 운영됩니다. 이러한 형태의 거래소를 자동화된 마켓 메이커(Automated Market Maker) \ (AMM \) 이라고 합니다. 두 자산 간의 환율은 일정한 제품 공식에 의해 결정되며 풀에있는 각 자산의 상대적 가중치에 따라 가격 곡선을 따라 이동합니다. 이것은 상대적 가중치를 재조정하고 환율을 정상화하기 위해 차익 거래자들이 유동성 풀에 들어 가도록 장려 합니다. + +주어진 풀에 충분한 유동성이 없다면 트레이더들은 하락을 겪을 수 있고 불리한 환율로부터 보호받지 못할 수도 있습니다. 유동성 공급자는 풀 환율이 시장 현실과 일치하지 않을 때 영구적인 손실을 입을 수 있으며, 중개업자는 가격 곡선을 따라 거래를 실행할 수 있습니다. + +풀 참가자에게는 주어진 풀에서 제공되는 유동성 중 자신의 몫에 해당하는 유니스왑 유동성 공급자 \(LP\) 토큰이 주어집니다. 이 LP 토큰들은 자유롭게 전송할 수 있습니다. 참가자들은 제공된 자산과 발생한 수수료에 대해 이러한 토큰을 상환하여 언제든지 풀을 종료할 수 있습니다. + +토큰의 유동성을 개선하고자 하는 토큰 발행자들은 유동성 채굴 캠페인에 있어 유동성 공급자들에게 인센티브를 제공했습니다. 새로운 토큰 발행자는 또한 유니스왑 풀(Uniswap pools) 에서 토큰을 출시 했습니다. + +유니스왑의 거래량은 현재 많은 전통적인 거래소의 거래량을 능가하고 있으며, 정기적으로 매일 2억 달러를 초과하고 있습니다. 유니스왑은 유동성 공급자에 의해 락업 총액(Total Value Locked) \(TVL\) 1억 7천만 달러 이상을 보유하고 있습니다. 유니스왑은 기본 플랫폼(native platform) 또는 거버넌스 토큰(governance token) 을 가지고 있지 않습니다. + +유니스왑은 dapp.org에서 감사하고, 공식적으로 검증한 스마트 컨트렉트를 가지고 있습니다. 유니스왑은 버그 현상금 프로그램을 운영합니다. + +| 리소스 | | +|:------------- |:------------------------------------------------------------------------ | +| 공식 사이트 | [https://uniswap.org/](https://uniswap.org/) | +| 개발자 문서 | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| 깃허브(Github) | [https://github.com/Uniswap](https://github.com/Uniswap) | +| 디스코드(Discord) | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/ko/core-concepts/supported-platforms/yearn.finance.md b/ko/core-concepts/supported-platforms/yearn.finance.md new file mode 100644 index 000000000..40f2d7dc6 --- /dev/null +++ b/ko/core-concepts/supported-platforms/yearn.finance.md @@ -0,0 +1,25 @@ +# 와이언파이낸스(Yearn Finance) + +{% hint style="info" %} +곧 출시 예정. 와이언 파이낸스(Yearn.finance)는 아직 통합되지 않았습니다. +{% endhint %} + +와이언파이낸스(Yearn.finance) (이전 iEarn.finance)는 이더리움을 기반으로 구축 된 수익 집계 플랫폼으로 안드레 크로네(Andre Cronje)가 2020년 1월에 출시 했습니다. 와이언은 자본을 예치한 사용자를 대신하여 자동화와 인간의 의사 결정을 조합하여, 이자 농사와 재조정 전략을 관리합니다. + +와이언에는 Earn과 Vaults라는 두 가지 수익 결합 제품이 있습니다. Earn은 사용자들이 수수료와 거버넌스 토큰 보상을 얻기 위해 커브(Curve) 의 유동성 풀에 스테이블 코인이나 WBTC(Wrapped BTC) 를 입금할 수 있도록 합니다. 또한 이러한 자산은 높은 수익률과 토큰 보상을 제공하는 플랫폼에서 대여되어 수익률을 증가 시킵니다. + +Vault는 보다 자동화되고 관리되는 환경을 제공 합니다. 사용자는 링크(LINK), 커브(Curve) 유동성 공급자 토큰 또는 스테이블 코인과 같은 자산을 입금하고 Vault는 이러한 자산을 함께 풀링하여 지역사회와 안드레 크로네가 안전하다고 간주하는 최고 수익률 이자 농사 전략을 배포합니다. 보상으로 획득한 거버넌스 토큰은 원래 자산에 대해 매각되고, 다른 수수료와 결합된 후 수익률을 높이기 위해 자동으로 Vault로 롤링되어 복리 수익을 얻습니다. 전략은 자주 변경될 수 있으며 자산을 함께 풀링하면 사용자의 가스 비용을 절감할 수 있습니다. + +와이언은 ERC-20 거버넌스 토큰인 YFI에 의해 관리됩니다. YFI 보유자는 3 일 동안 YFI 잠금에 동의 한 후 프로토콜 변경에 투표 할 수 있습니다. YFI는 거버넌스 포털에서 수익을 위해 스테이킹 할 수도 있습니다. 이 수익률은 와이언 제품을 사용하는 사용자에게 부과되는 수수료에서 나옵니다. YFI는 커브(Curve) 그리고 밸런서(Balancer) 의 유동성 공급자에게 전적으로 배포되었습니다. 팀원이나 투자자에 대한 할당은 없었습니다. + +와이언의 총 가치 잠금 \ (TVL \) 은 빠르게 8 억 달러 이상으로 성장하여, 가장 큰 디파이(DeFi) 플랫폼 중 하나가 되었습니다. YFI의 유통 시가 총액은 4 억 달러 이상입니다. + +와이언은 써틱(CertiK), 퀀트스탬프(Quantstamp), 핵MD(HackMD) 및 크립토매니악(CryptoManiacs) 과 같은 다수의 보안 및 스마트 계약 감사를 받았습니다. 와이언은 실험 제품을 매우 빠르게 출시한 것으로 유명하며, 사용자에게 제품이 베타 버전임을 경고하고 있습니다. + +| 리소스 | | +|:------------- |:-------------------------------------------------------------------- | +| 공식 사이트 | [https://yearn.finance/](https://yearn.finance/) | +| 개발자 문서 | [https://docs.yearn.finance/](https://docs.yearn.finance/) | +| 깃허브(Github) | [https://github.com/iearn-finance](https://github.com/iearn-finance) | +| 디스코드(Discord) | [https://discord.gg/uTmHe8r](https://discord.gg/uTmHe8r) | + diff --git a/ko/core-concepts/supported-stablecoins/README.md b/ko/core-concepts/supported-stablecoins/README.md new file mode 100644 index 000000000..37e52a564 --- /dev/null +++ b/ko/core-concepts/supported-stablecoins/README.md @@ -0,0 +1,25 @@ +# 지원되는 스테이블 코인 + +**지원되는 스테이블 코인** + +OUSD는 이를 뒷받침하는 스테이블 코인 만큼 강하다는 점을 이해하는 것이 중요합니다. 기초 자산에 대한 손실은 OUSD의 가치와 비슷한 손실을 야기합니다. + +현재 OUSD는 다음과 같은 스테이블 코인을 지원합니다: + +{% content-ref url="usdt.md" %} +[usdt.md](usdt.md) +{% endcontent-ref %} + +{% content-ref url="usdc.md" %} +[usdc.md](usdc.md) +{% endcontent-ref %} + +{% content-ref url="dai.md" %} +[dai.md](dai.md) +{% endcontent-ref %} + +None of these stablecoins are perfect, but we selected them because of their widespread usage. While these stablecoins have lost their USD peg on multiple occasions, they have demonstrated resiliency in eventually getting back to their 1 USD targets. + +It is important to note that all these stablecoins introduce non-trivial counter-party risk. Tether, in particular, has had well-documented banking troubles and regulatory challenges. In addition, both USDT and USDC have backdoors that grant their issuers the power to freeze money in their holder's wallets. While DAI does not have any direct backdoors, its assets can also be negatively impacted since USDC and USDT are accepted as collateral for minting DAI. + +Despite these concerns, there are already billions of dollars betting on the security of these stablecoins. It is possible that additional stablecoins will be added to the protocol over time. Support may also be removed if any of these stablecoins prove to be too unreliable or put OUSD holder's funds in jeopardy. diff --git a/ko/core-concepts/supported-stablecoins/dai.md b/ko/core-concepts/supported-stablecoins/dai.md new file mode 100644 index 000000000..cdd611123 --- /dev/null +++ b/ko/core-concepts/supported-stablecoins/dai.md @@ -0,0 +1,19 @@ +# 다이(DAI) + +![](../../.gitbook/assets/dai.png) + +다이(Dai) 는 2017년 12월 이더리움(Ethereum) 블록 체인에서 ERC-20 토큰으로 출시 된 명목 화폐(fiat-pegged) 스테이블 코인입니다. A major upgrade from single-collateral Dai (SAI) to multi-collateral Dai (DAI) was completed in November 2019. 다이는 미국 달러에 고정되어 있습니다. + +Dai is minted by users locking up crypto assets such as ETH or USDC as collateral in a collateralized debt position (CDP) called a vault. 이전에는 오직 ETH만 담보로 허용되었습니다. 각 금고의 보유금과 상태를 블록체인 상에서 실시간 조회할 수 있습니다. 해당 금고와 다이 스테이블 코인의 상태는 면밀히 모니터링됩니다. + +다이는 4억 달러 이상이 유통되는, 세계에서 세 번째로 큰 규모의 스테이블 코인입니다. 또한, 대출 플랫폼 인 컴파운드(Compound) 와 에이브(Aave) 에 있는 다이의 합성 버전 인 씨다이(cDAI) 와 에이다이(aDAI) 는 합쳐서 6 억 달러 이상을 유통하고 있습니다. + +| 주요 사항 | | +| ------------- | ------------------------------------------------------------------------------------------------------------------- | +| 발행처 | 메이커다오(MakerDAO) | +| 이름 | 다이(Dai) | +| 상징 | 다이(DAI) | +| 주소 | [0x6b175474e89094c44da98b954eedeac495271d0f](https://etherscan.io/token/0x6b175474e89094c44da98b954eedeac495271d0f) | +| 데시멀(Decimals) | 18 | +| 공식 사이트 | [https://makerdao.com/](https://makerdao.com) | +| 보유자 | Over 380k addresses | diff --git a/ko/core-concepts/supported-stablecoins/usdc.md b/ko/core-concepts/supported-stablecoins/usdc.md new file mode 100644 index 000000000..05414d6b8 --- /dev/null +++ b/ko/core-concepts/supported-stablecoins/usdc.md @@ -0,0 +1,20 @@ +# USDC + +![](../../.gitbook/assets/usdc-coin-bd351fb779 (1).png) + +USD Coin (USDC) is a fiat-pegged stablecoin launched as a ERC-20 token on the Ethereum blockchain in October 2018. USDC는 미국 달러에 고정되어 있으며 쉽게 미국 달러로 교환 할 수 있습니다. + +각 USDC는 써클(Circle)과 코인베이스(Coinbase)에 의해 설립된 컨소시엄인 센트레(Centre)의 회원들이 보관 계좌에 보유하고 있는 법정 화폐에 상응하는 금액과 1:1 비율로 지원됩니다. 센트레의 회원은 미국에 기반을 둔 규제 된 금융 기관입니다. 매월 보유액에 대한 감사(audits) 은 회계법인 그랜트 쑈튼(Grant Thornton LLP) 에서 발행합니다. + +USDC는 USDT 다음으로 세계에서 두 번째로 큰 규모의 스테이블 코인이며 유통량이 10 억 달러 이상으로 빠르게 성장했습니다. 그러나 USDC는 여전히 USDT의 어마어마한 유통량 120억 달러와 비교하면 훨씬 뒤쳐져 있습니다. + +| 주요 사항 | | +| ------------- | ------------------------------------------------------------------------------------------------------------------- | +| 발행처 | 센트레(Centre) | +| 이름 | USD 코인 | +| 상징 | USDC | +| 주소 | [0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48](https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48) | +| 데시멀(Decimals) | 6 | +| 공식 사이트 | [https://www.centre.io/usdc](https://www.centre.io/usdc) | +| 보유자 | Over 1M addresses | + diff --git a/ko/core-concepts/supported-stablecoins/usdt.md b/ko/core-concepts/supported-stablecoins/usdt.md new file mode 100644 index 000000000..a3f79cb70 --- /dev/null +++ b/ko/core-concepts/supported-stablecoins/usdt.md @@ -0,0 +1,20 @@ +# USDT + +![](../../.gitbook/assets/image (1).png) + +Tether (USDT) is a fiat-pegged stablecoin that was initially built on top of Bitcoin via the Omni Layer Protocol. 2017년 9월 테더는 이더리움 블록체인에 미국 달러화 대비 ERC-20 토큰을 추가 출시할 것이라고 발표했습니다. + +유통되는 각 테더는 가상화폐 거래소 비트파이넥스(Bitfinex) 와 밀접한 관계를 맺고 있는 홍콩 소재 테더 리미티드사(Tether Limited) 가 보관 계좌에 보유하고 있는 법정 화폐 통화량에 해당하는 1대 1 비율로 뒷받침된다고 합니다. + +Despite the controversy **** around **** the company's failure to provide a promised audit showing adequate reserves backing tether, USDT is still the world's largest stablecoin by market cap and currently the fourth-largest cryptocurrency after BTC, ETH and XRP. + +| 주요 사항 | | +| ------------- | ---------------------------------------------------------------------------------------------------------------- | +| 발행처 | 테더 리미티드사(Tether Limited) | +| 이름 | 테더(Tether) | +| 상징 | USDT | +| 주소 | [0xdac17f958d2ee523a2206206994597c13d831](https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7) | +| 데시멀(Decimals) | 6 | +| 공식 사이트 | [https://tether.to/ ](https://tether.to) | +| 보유자 | Over 3.4M addresses | + diff --git a/ko/core-concepts/supported-strategies/README.md b/ko/core-concepts/supported-strategies/README.md new file mode 100644 index 000000000..800adeecd --- /dev/null +++ b/ko/core-concepts/supported-strategies/README.md @@ -0,0 +1,27 @@ +# 지원되는 전략 + +**지원되는 디파이(DeFi) 플랫폼** + +OUSD는 스테이블 코인을 대출 플랫폼과 마켓 메이커 유동성 풀에 입금 함으로써 수익을 창출 합니다. 이러한 플랫폼은 기술적 리스크를 안고 있으며 중대한 보안 이벤트가 발생할 경우, 자금이 손실될 수 있다는 점을 이해하는 것이 중요합니다. 오리진(Origin) 은 스마트 컨트랙트가 감사되었고, 그 중 가장 안전하다고 생각되는 플랫폼과 협력 하기로 결정 했습니다. + +Currently, OUSD earns yield from the following platform(s): + +{% content-ref url="compound.md" %} +[compound.md](compound.md) +{% endcontent-ref %} + +{% content-ref url="aave.md" %} +[aave.md](aave.md) +{% endcontent-ref %} + +{% content-ref url="curve.md" %} +[curve.md](curve.md) +{% endcontent-ref %} + +{% content-ref url="convex.md" %} +[convex.md](convex.md) +{% endcontent-ref %} + +Although DeFi has grown very quickly and there are now billions of dollars worth of value deposited on these platforms, several of these projects are still in beta and are highly experimental. There may be hidden vulnerabilities in the smart contracts that power these platforms, and there have been multi-million dollar losses caused by vulnerabilities in Ethereum applications in the past. + +We closely monitor security events on the platforms we support and will immediately move to secure OUSD holder funds if we identify any threats. diff --git a/ko/core-concepts/supported-strategies/aave.md b/ko/core-concepts/supported-strategies/aave.md new file mode 100644 index 000000000..61346feee --- /dev/null +++ b/ko/core-concepts/supported-strategies/aave.md @@ -0,0 +1,20 @@ +# 에이브(Aave) + +Aave is a lending protocol and platform built on Ethereum and launched in January 2020 by the creators of ETHLend. Users on Aave can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and users can choose between a variable interest rate based on supply and demand or a fixed interest rate. + +Collateral balances are represented by ERC-20 aTokens at a 1:1 ratio to the underlying assets they represent. Interest is compounded automatically and paid to lenders with aTokens, meaning lenders will steadily see their aToken balance increase over time. Users can borrow assets against their aTokens. aTokens are freely transferable and can be used on many other DeFi protocols. aTokens can be redeemed for their underlying collateral at any time. + +Aave supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +Aave's governance token was formerly called LEND which was the utility token for ETHLend. As part of their transition to fully decentralized governance, LEND holders were able to exchange LEND for AAVE, a new ERC-20 governance token with staking rewards. Some AAVE tokens have been distributed to users of the platform in a liquidity mining campaign. + +Aave's total value locked (TVL) has quickly grown to over $15.5 billion, making it the largest DeFi protocol at the time of writing. LEND has a circulating market cap of over $5.3 billion. + +Aave has undergone security audits by OpenZeppelin, Trail of Bits, and Consensys Diligence. Aave maintains a bug bounty program. + +| 리소스 | | +| ------------- | ------------------------------------------------------------------------------ | +| 공식 사이트 | [https://aave.com/](https://aave.com) | +| 개발자 문서 | [http://docs.aave.com/](http://docs.aave.com) | +| 깃허브(Github) | [https://github.com/aave/aave-protocol](https://github.com/aave/aave-protocol) | +| 디스코드(Discord) | [https://aave.com/discord](https://aave.com/discord) | diff --git a/ko/core-concepts/supported-strategies/balancer.md b/ko/core-concepts/supported-strategies/balancer.md new file mode 100644 index 000000000..8e8044fc6 --- /dev/null +++ b/ko/core-concepts/supported-strategies/balancer.md @@ -0,0 +1,27 @@ +# 밸런서(Balancer) + +{% hint style="info" %} +곧 출시 예정. 밸런서(Balancer) 는 아직 통합되지 않았습니다. +{% endhint %} + +밸런서(Balancer) 는 2020년 3월에 출시한, 이더리움을 기반의 탈 중앙화 유동성 프로토콜 및 거래소입니다. 사용자는 수수료를 받고 ERC-20 토큰을 교환하거나, 유동성 풀에 토큰을 기부하여 수수료를 받을 수 있습니다. + +밸런서는 자동화된 마켓 메이커(automated market maker) \ (AMM \) 로 사용자 지정 가중치를 사용하여 최대 8 개의 서로 다른 자산의 유동성 풀을 허용합니다. 밸런서의 유동성 풀은 상장지수펀드(Exchange Traded Funds) \ (ETFs \) 또는 특정 자산에 대한 가중치 목표가있는 포트폴리오와 유사하다고 생각할 수 있습니다. 거래로 인해 풀이 목표 가중치 분포에서 이동하는 경우 풀에있는 자산 간의 환율이 변경됩니다. 재정 거래 담당자(Arbitrageurs) 는 거래를 실행하여 이를 활용하고 풀을 다시 목표 가중치 분포로 재 조정할 수 있습니다. 유동성은 다른 AMM과 달리 풀간에 공유될 수도 있습니다. + +밸런서는 풀의 소유자만이 유동성을 제공할 수 있는 프라이빗 풀(private pools), 완전히 공개된 공유 풀(shared pools) 과 자동화 된 규칙과 논리를 구현할 수 있는 스마트 컨트랙트에 의해 제어되는 공유 풀인 스마트 풀(smart pools) 을 지원합니다. 유동성 공급자에게는 주어진 풀의 양과 수수료를 나타내는 밸런서 풀 토큰(Balancer Pool Tokens) \ (BPTs \) 가 제공됩니다. 해당 토큰은 자유롭게 양도할 수 있으며 제공된 자산과 발생한 수수료로 상환할 수 있습니다. + +토큰의 유동성을 개선하고자 하는 토큰 발행자들은 유동성 채굴 캠페인에 있어 유동성 공급자들에게 인센티브를 제공했습니다. 새로운 토큰 발행자는 밸런서 풀(Balancer pools) 에서 토큰을 출시했습니다. + +밸런서는 ERC-20 거버넌스 토큰인 BAL에 의해 관리됩니다. BAL 보유자는 프로토콜 변경에 대해 투표 할 수 있습니다. BAL은 유동성 공급자에게 지속적으로 지급되며, 총 공급의 상당 부분은 지속적 베스팅 스케쥴에 따라 팀과 투자자에게 할당되었습니다. + +밸런서의 거래량은 종종 매일 2,500만 달러가 넘습니다. 밸런서는 (해당 글 작성 시점) 유동성 공급자에 의해 2억 5천만 달러가 넘는 총 가치 잠금 \(TVL\) 을 가지고 있습니다. + +밸런서는 트레일 오브 비츠(Trail of Bits) 의 보안 감사를 받았으며 버그 현상금 프로그램이 있습니다. 하지만, 밸런서는 2020년 6 월에 큰 공격을 받았습니다. + +| 리소스 | | +|:------------- |:-------------------------------------------------------------------- | +| 공식 사이트 | [https://balancer.finance/](https://balancer.finance/) | +| 개발자 문서 | [https://docs.balancer.finance/](https://docs.balancer.finance/) | +| 깃허브(Github) | [https://github.com/balancer-labs](https://github.com/balancer-labs) | +| 디스코드(Discord) | [https://discord.gg/ARJWaeF](https://discord.gg/ARJWaeF) | + diff --git a/ko/core-concepts/supported-strategies/compound.md b/ko/core-concepts/supported-strategies/compound.md new file mode 100644 index 000000000..3de161500 --- /dev/null +++ b/ko/core-concepts/supported-strategies/compound.md @@ -0,0 +1,18 @@ +# 컴파운드(Compound) + +컴파운드(Compound) 는 이더리움을 기반으로 구축되어 2018년 9월에 출시된 대출 프로토콜 및 플랫폼입니다. 컴파운드 사용자는 담보에 대해 복리 이자를 얻거나 자산을 빌릴 수 있습니다. 지원되는 각 자산은 자체 유동성 풀로 집계되며, 수급에 따라 이자율이 자동으로 조정됩니다. + +담보 잔액은 ERC-20 c토큰(cTokens) 으로 표시 되며, ERC-20 c토큰은 해당 잔액이 나타내는 기본 자산에 비해 시간 경과에 따라 이자가 자동으로 발생하고 가치가 증가합니다. 사용자는 c토큰의 가치에 대해 자산을 빌릴 수 있습니다. c토큰은 송금이 자유로우며, 다른 많은 디파이(DeFi) 프로토콜에서 사용할 수 있습니다. c토큰은 언제든지 기본 담보로 상환될 수 있습니다. + +컴파운드는 ERC-20 거버넌스 토큰인 COMP에 의해 관리됩니다. COMP 보유자는 프로토콜 변경을 제안 및 투표하거나 다른 사람에게 투표를 위임 할 수 있습니다. COMP tokens are awarded pro-rata to users of the protocol daily, split equally between borrowers and lenders. COMP 토큰 공급의 상당 부분은 컴파운드 팀, 투자자 및 고문이 보유했습니다. + +Compound's total value locked (TVL) has quickly grown to over $10 billion, making it one of the largest DeFi protocols. COMP has a circulating market cap of over $2.5 billion. + +컴파운드는 오픈제플린(OpenZeppelin) 및 트레일 오브 비츠(Trail of Bits) 의 여러 보안 감사를 거쳤습니다. 컴파운드 프로토콜은 써틱(CertiK) 에 의해 공식적으로 검증되었으며 건틀릿(Gauntlet) 의 경제적 스트레스 테스트를 거쳤습니다. 컴파운드는 버그 현상금 프로그램을 운영합니다. + +| 리소스 | | +| ------------- | -------------------------------------------------------------------------------------------------------------- | +| 공식 사이트 | [https://compound.finance/](https://compound.finance) | +| 개발자 문서 | [https://compound.finance/docs](https://compound.finance/docs) | +| 깃허브(Github) | [https://github.com/compound-finance/compound-protocol](https://github.com/compound-finance/compound-protocol) | +| 디스코드(Discord) | [https://discord.com/invite/cU7vmVW](https://discord.com/invite/cU7vmVW) | diff --git a/ko/core-concepts/supported-strategies/convex.md b/ko/core-concepts/supported-strategies/convex.md new file mode 100644 index 000000000..771280a68 --- /dev/null +++ b/ko/core-concepts/supported-strategies/convex.md @@ -0,0 +1,18 @@ +# Convex + +Convex is an aggregation platform for Curve that launched in May 2021. Convex allows liquidity providers on Curve to earn boosted CRV rewards without having to vote-lock CRV. Convex vote-locks CRV on behalf of users and distributes boosted CRV rewards to them. Convex passes on trading fees earned on Curve to users as well. + +Convex also rewards users with their own ERC-20 governance token, CVX. Convex supports both CRV and CVX staking for additional rewards. Vote-locking CVX is required to participate in Convex governance. + +Convex is one of the few protocols whitelisted to participate in Curve governance and controls a huge amount of vote-locked CRV, making them one of the biggest players in Curve governance. A large proportion of liquidity provided on Curve is now done through Convex. Convex has a Total Value Locked (TVL) of over $15.4 billion in deposits at the time of writing. + +Convex has been audited by MixBytes. + +| | | +| -------------- | ---------------------------------------------------------------- | +| Resources | | +| Official site | [https://www.convexfinance.com](https://www.convexfinance.com) | +| Developer docs | [https://docs.convexfinance.com](https://docs.convexfinance.com) | +| GitHub | [https://github.com/convex-eth](https://github.com/convex-eth) | +| Discord | [https://discord.gg/uAwvZfs9qU](https://discord.gg/uAwvZfs9qU) | + diff --git a/ko/core-concepts/supported-strategies/curve.md b/ko/core-concepts/supported-strategies/curve.md new file mode 100644 index 000000000..7a518decd --- /dev/null +++ b/ko/core-concepts/supported-strategies/curve.md @@ -0,0 +1,20 @@ +# 커브(Curve) + +Curve is a decentralized liquidity protocol and exchange on Ethereum for stablecoins and wrapped BTC, launched in January 2020. Users can swap between popular ERC-20 stablecoins or between ERC-20 representations of bitcoin. Liquidity providers facilitate trading and earn fees. + +Curve is an Automated Market Maker (AMM) where each market has an associated liquidity pool with two or more assets that should have the same value, like USDT, USDC, DAI and TUSD, which are all US dollar pegged stablecoins. The exchange rate between each stablecoin and their relative weights are determined by an algorithm based on supply and demand. Arbitrageurs act to normalize these exchange rates. + +Some of Curve's liquidity pools earn extra fees for liquidity providers on top of the exchange fees from traders. Curve offers stablecoin pools integrated with Compound, yearn.finance, and Synthetix. The assets in each liquidity pool are provided to those platforms to generate additional yield which is passed on to each pool's liquidity providers. Liquidity Provider (LP) tokens are given to pool participants and can be redeemed for their initial liquidity supplied plus accrued fees and yield. LP tokens can also transferred for use in other protocols. + +Curve is governed by CRV, an ERC-20 governance token. CRV holders can vote on protocol changes. CRV holders can stake or "vote-lock" their tokens for additional voting power proportional to time staked. Vote-locking CRV also significantly boosts liquidity provider rewards. CRV is continuously awarded to liquidity providers and a large portion of the total supply of CRV was allocated to the team and investors on a continuous vesting schedule. + +Curve has a Total Value Locked (TVL) of over $20.4 billion by liquidity providers at the time of writing. Hundreds of millions of dollars of trading volume are generated on Curve every day. + +Curve has undergone two audits by Trail of Bits and maintains a bug bounty program. + +| 리소스 | | +| ------------- | ------------------------------------------------------------------------ | +| 공식 사이트 | [https://www.curve.fi/](https://www.curve.fi) | +| 개발자 문서 | [https://www.curve.fi/devdocs](https://www.curve.fi/devdocs) | +| 깃허브(Github) | [https://github.com/curvefi](https://github.com/curvefi) | +| 디스코드(Discord) | [https://discord.com/invite/9uEHakc](https://discord.com/invite/9uEHakc) | diff --git a/ko/core-concepts/supported-strategies/dydx.md b/ko/core-concepts/supported-strategies/dydx.md new file mode 100644 index 000000000..597ee0e1c --- /dev/null +++ b/ko/core-concepts/supported-strategies/dydx.md @@ -0,0 +1,27 @@ +# 디와이디엑스(dYdX) + +{% hint style="info" %} +곧 출시 예정. 디와이디엑스(DyDx) 는 아직 통합되지 않았습니다. +{% endhint %} + +디와이디엑스는 이더리움을 기반으로 구축되어 2019년 5월에 출시된 거래 및 대출 프로토콜 및 플랫폼입니다. 사용자는 디와이디엑스의 비수탁(Non-Custodial) 탈중앙화 거래소에서 자산을 거래하거나 차용 및 대출에 참여할 수 있습니다. 대출 프로토콜은 마진 및 선물 거래를 가능하게 합니다. 금리는 수급에 따라 조정되며 단기 대출만 가능합니다. + +차용 및 대출이 가능한 자산의 유동성은 자산 유형별로 함께 통합됩니다. 대출자에게 지급되는 이자는 자동으로 발생하며 대출자는 대출을 받기 위해 담보를 설치해야 합니다. + +디와이디엑는 또한 사용자가 단일 거래로 대출 잔액을 차입하고 상환하는 무담보 대출인 플래시 대출(flash loans) 을 지원합니다. 즉, 플래시 대출 사용자는 초기 자본을 투입 할 필요가 없습니다. 플래시 대출은 개발자를 대상으로 하는 복잡한 제품이며, 여러 디파이 프로토콜에서 차익 거래에 사용할 수 있습니다. + +디와이디엑스는 (해당 글 작성 시점) 총 4천만 달러의 총 가치 잠금 \(TVL\) 을 가지고 있습니다. dYdX에는 네이티브 토큰이 없습니다. + +dYdX는 오픈제플린(OpenZeppelin) 및 브라마 시스템(Bramah Systems) 의 보안 감사를 받았습니다. + +| 리소스 | | +|:------------- |:-------------------------------------------------------------------- | +| 공식 사이트 | [https://dydx.exchange/](https://dydx.exchange/) | +| 개발자 문서 | [https://docs.dydx.exchange/](https://docs.dydx.exchange/) | +| 깃허브(Github) | [https://github.com/dydxprotocol/](https://github.com/dydxprotocol/) | +| 디스코드(Discord) | [https://discord.gg/yah42Rb](https://discord.gg/yah42Rb) | + + + + + diff --git a/ko/core-concepts/supported-strategies/uniswap.md b/ko/core-concepts/supported-strategies/uniswap.md new file mode 100644 index 000000000..1b0bf7020 --- /dev/null +++ b/ko/core-concepts/supported-strategies/uniswap.md @@ -0,0 +1,27 @@ +# 유니스왑(Uniswap) + +{% hint style="info" %} +곧 출시 예정. 유니스왑(Uniswap) 은 아직 통합되지 않았습니다. +{% endhint %} + +유니스왑(Uniswap) 은 2018년 11월에 출시한, 이더리움을 기반의 탈 중앙화 유동성 프로토콜 및 거래소입니다. 유니스왑의 두번째 버전(v2) 는 2020년 5월에 출시 되었습니다. 사용자는 수수료를 받고 ERC-20 토큰을 교환하거나, 유동성 풀에 토큰을 기부하여 수수료를 받을 수 있습니다. + +유니스왑의 시장은 주문서를 통해서 운영되는 것이 아닌, 유동성 풀에 의해 운영됩니다. 이러한 형태의 거래소를 자동화된 마켓 메이커(Automated Market Maker) \ (AMM \) 이라고 합니다. 두 자산 간의 환율은 일정한 제품 공식에 의해 결정되며 풀에있는 각 자산의 상대적 가중치에 따라 가격 곡선을 따라 이동합니다. 이것은 상대적 가중치를 재조정하고 환율을 정상화하기 위해 차익 거래자들이 유동성 풀에 들어 가도록 장려 합니다. + +주어진 풀에 충분한 유동성이 없다면 트레이더들은 하락을 겪을 수 있고 불리한 환율로부터 보호받지 못할 수도 있습니다. 유동성 공급자는 풀 환율이 시장 현실과 일치하지 않을 때 영구적인 손실을 입을 수 있으며, 중개업자는 가격 곡선을 따라 거래를 실행할 수 있습니다. + +풀 참가자에게는 주어진 풀에서 제공되는 유동성 중 자신의 몫에 해당하는 유니스왑 유동성 공급자 \(LP\) 토큰이 주어집니다. 이 LP 토큰들은 자유롭게 전송할 수 있습니다. 참가자들은 제공된 자산과 발생한 수수료에 대해 이러한 토큰을 상환하여 언제든지 풀을 종료할 수 있습니다. + +토큰의 유동성을 개선하고자 하는 토큰 발행자들은 유동성 채굴 캠페인에 있어 유동성 공급자들에게 인센티브를 제공했습니다. 새로운 토큰 발행자는 또한 유니스왑 풀(Uniswap pools) 에서 토큰을 출시 했습니다. + +유니스왑의 거래량은 현재 많은 전통적인 거래소의 거래량을 능가하고 있으며, 정기적으로 매일 2억 달러를 초과하고 있습니다. 유니스왑은 유동성 공급자에 의해 락업 총액(Total Value Locked) \(TVL\) 1억 7천만 달러 이상을 보유하고 있습니다. 유니스왑은 기본 플랫폼(native platform) 또는 거버넌스 토큰(governance token) 을 가지고 있지 않습니다. + +유니스왑은 dapp.org에서 감사하고, 공식적으로 검증한 스마트 컨트렉트를 가지고 있습니다. 유니스왑은 버그 현상금 프로그램을 운영합니다. + +| 리소스 | | +|:------------- |:------------------------------------------------------------------------ | +| 공식 사이트 | [https://uniswap.org/](https://uniswap.org/) | +| 개발자 문서 | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| 깃허브(Github) | [https://github.com/Uniswap](https://github.com/Uniswap) | +| 디스코드(Discord) | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/ko/core-concepts/supported-strategies/yearn.finance.md b/ko/core-concepts/supported-strategies/yearn.finance.md new file mode 100644 index 000000000..40f2d7dc6 --- /dev/null +++ b/ko/core-concepts/supported-strategies/yearn.finance.md @@ -0,0 +1,25 @@ +# 와이언파이낸스(Yearn Finance) + +{% hint style="info" %} +곧 출시 예정. 와이언 파이낸스(Yearn.finance)는 아직 통합되지 않았습니다. +{% endhint %} + +와이언파이낸스(Yearn.finance) (이전 iEarn.finance)는 이더리움을 기반으로 구축 된 수익 집계 플랫폼으로 안드레 크로네(Andre Cronje)가 2020년 1월에 출시 했습니다. 와이언은 자본을 예치한 사용자를 대신하여 자동화와 인간의 의사 결정을 조합하여, 이자 농사와 재조정 전략을 관리합니다. + +와이언에는 Earn과 Vaults라는 두 가지 수익 결합 제품이 있습니다. Earn은 사용자들이 수수료와 거버넌스 토큰 보상을 얻기 위해 커브(Curve) 의 유동성 풀에 스테이블 코인이나 WBTC(Wrapped BTC) 를 입금할 수 있도록 합니다. 또한 이러한 자산은 높은 수익률과 토큰 보상을 제공하는 플랫폼에서 대여되어 수익률을 증가 시킵니다. + +Vault는 보다 자동화되고 관리되는 환경을 제공 합니다. 사용자는 링크(LINK), 커브(Curve) 유동성 공급자 토큰 또는 스테이블 코인과 같은 자산을 입금하고 Vault는 이러한 자산을 함께 풀링하여 지역사회와 안드레 크로네가 안전하다고 간주하는 최고 수익률 이자 농사 전략을 배포합니다. 보상으로 획득한 거버넌스 토큰은 원래 자산에 대해 매각되고, 다른 수수료와 결합된 후 수익률을 높이기 위해 자동으로 Vault로 롤링되어 복리 수익을 얻습니다. 전략은 자주 변경될 수 있으며 자산을 함께 풀링하면 사용자의 가스 비용을 절감할 수 있습니다. + +와이언은 ERC-20 거버넌스 토큰인 YFI에 의해 관리됩니다. YFI 보유자는 3 일 동안 YFI 잠금에 동의 한 후 프로토콜 변경에 투표 할 수 있습니다. YFI는 거버넌스 포털에서 수익을 위해 스테이킹 할 수도 있습니다. 이 수익률은 와이언 제품을 사용하는 사용자에게 부과되는 수수료에서 나옵니다. YFI는 커브(Curve) 그리고 밸런서(Balancer) 의 유동성 공급자에게 전적으로 배포되었습니다. 팀원이나 투자자에 대한 할당은 없었습니다. + +와이언의 총 가치 잠금 \ (TVL \) 은 빠르게 8 억 달러 이상으로 성장하여, 가장 큰 디파이(DeFi) 플랫폼 중 하나가 되었습니다. YFI의 유통 시가 총액은 4 억 달러 이상입니다. + +와이언은 써틱(CertiK), 퀀트스탬프(Quantstamp), 핵MD(HackMD) 및 크립토매니악(CryptoManiacs) 과 같은 다수의 보안 및 스마트 계약 감사를 받았습니다. 와이언은 실험 제품을 매우 빠르게 출시한 것으로 유명하며, 사용자에게 제품이 베타 버전임을 경고하고 있습니다. + +| 리소스 | | +|:------------- |:-------------------------------------------------------------------- | +| 공식 사이트 | [https://yearn.finance/](https://yearn.finance/) | +| 개발자 문서 | [https://docs.yearn.finance/](https://docs.yearn.finance/) | +| 깃허브(Github) | [https://github.com/iearn-finance](https://github.com/iearn-finance) | +| 디스코드(Discord) | [https://discord.gg/uTmHe8r](https://discord.gg/uTmHe8r) | + diff --git a/ko/core-concepts/wrapped-ousd.md b/ko/core-concepts/wrapped-ousd.md new file mode 100644 index 000000000..bea00ee4b --- /dev/null +++ b/ko/core-concepts/wrapped-ousd.md @@ -0,0 +1,31 @@ +# Wrapped OUSD + +Wrapped OUSD provides a non-rebasing version of OUSD that still earns yield. This makes it easier to use OUSD as a building block for other contracts and it may provide tax benefits in some jurisdictions. + +![Two flavors, up only](https://cdn-images-1.medium.com/max/1600/1\*cqRG-8-64XYx9QChoMxk3g.png) + +### How wrapped OUSD works + +When you wrap OUSD, you get back a fixed number of wOUSD tokens. This number will not go up - you will have the same number of wOUSD tokens tomorrow as you have today. However, the number of OUSD tokens that you can unwrap will go up over time. + +For example, if you wrap 10,000 OUSD, you might receive 9,423 wOUSD. If you hold for a while, you will still have 9,423 wOUSD, but when you unwrap the wOUSD, you receive 11,500 OUSD. + +Both OUSD and wOUSD earn at the same rate and can be transferred just like any other ERC-20 token. wOUSD is one of the first implementations of [EIP-4626](https://eips.ethereum.org/EIPS/eip-4626), which is an extension on ERC-20 that provides basic functionality for depositing and withdrawing tokens and reading balances on a tokenized vault. wOUSD was independently [audited by Solidified](https://github.com/OriginProtocol/security/blob/3dc8c1dec2f6fbf4f7d0bdf92408f79262624647/audits/Solidified%20-%20OGV,%20wOUSD,%20and%20ERC721a%20-%20May%202022.pdf) in May 2022 and is ready for production use. + +### Wrapping + +If you don’t already have OUSD, you can buy it from Gate.io, KuCoin, Curve, Uniswap, or [get it directly from the OUSD DApp](https://www.youtube.com/watch?v=UabjvL-7iu4). + +Once you have OUSD in your wallet, visit [ousd.com/wrap](https://ousd.com/wrap) and follow these steps: + +1. Connect your wallet +2. Enter the amount of OUSD that you want to wrap +3. Submit the allowance for the wOUSD contract to use your OUSD +4. Submit the transaction to wrap your OUSD + +![ousd.com/wrap](https://cdn-images-1.medium.com/max/1600/1\*57fSZSSlzebhpIl8R4UqUQ.png) + +### Unwrapping + +Unwrapping your OUSD does not require any approvals since you already hold the wOUSD in your wallet. There's also no minimum term or lock-up period. You can use the same form shown above and just click the arrow to flip it to unwrap mode. This form calls the `redeem` function to unwrap a spcific amount of wOUSD. You can also [use Etherscan](https://etherscan.io/address/0xd2af830e8cbdfed6cc11bab697bb25496ed6fa62#writeProxyContract) to call the `withdraw` function if you prefer to specify the amount of OUSD that you want to be taken out. + diff --git a/ko/core-concepts/yield-generation/README.md b/ko/core-concepts/yield-generation/README.md new file mode 100644 index 000000000..236ecab8c --- /dev/null +++ b/ko/core-concepts/yield-generation/README.md @@ -0,0 +1,30 @@ +# 이자 생산(Yield Generation) + +**자동화 된 이자 농사(yield farming)** + +While the Cambrian explosion of new lending and automated market maker pools has fueled total value locked (TVL), it has also made it increasingly challenging for yield farmers to manually allocate capital in efficient and optimal ways. + +[Yearn](https://yearn.finance) has demonstrated that smart contracts can automate the rebalancing of funds across various strategies to optimally earn lending interest, market-making fees, and rewards tokens. Over time, new strategies will be deployed that maximize returns while minimizing risk and dependencies. + +![Automated yield farming on the OUSD protocol](../../.gitbook/assets/ousd_earnings_graphic.png) + +OUSD uses the following high-level strategies for generating yield: + +{% content-ref url="lending.md" %} +[lending.md](lending.md) +{% endcontent-ref %} + +{% content-ref url="market-making.md" %} +[market-making.md](market-making.md) +{% endcontent-ref %} + +{% content-ref url="rewards.md" %} +[rewards.md](rewards.md) +{% endcontent-ref %} + +OUSD is able to generate higher yields than competing protocols due to a combination of important design decisions that amplify the rewards that are returned to OUSD holders: + +* Exit fees are returned to the pool, rewarding long term holders +* Price oracles favor the collective over the individual, again rewarding long term holders +* Smart contracts must manually opt-in to earn yield. This allows the protocol to put more capital to work than would be otherwise possible. +* Smart strategies balance risk and reward more effectively than deploying capital in any single underlying strategy. diff --git a/ko/core-concepts/yield-generation/lending.md b/ko/core-concepts/yield-generation/lending.md new file mode 100644 index 000000000..0043a92b6 --- /dev/null +++ b/ko/core-concepts/yield-generation/lending.md @@ -0,0 +1,26 @@ +# 대출 + +**은행 중심에서 벗어나자(Unbank the Banked)** + +디파이(DeFi) 대출 플랫폼을 통해 사용자는 중개자없이 암호화 자산을 빌리고 빌려줄 수 있습니다. 대출 기관과 차용인 모두 암호 화폐에서 더 많은 가치를 얻습니다. 대출 기관은 이자를 얻는 반면, 차용인은 전통적 은행 시스템에 따르는 복잡한 절차 없이 신용 대출에 접근하기 위해 암호 화폐를 담보로 입금합니다. 디파이 대출 플랫폼은 현재 전통적인 시장에서 일반적으로 이용 가능한 것보다 훨씬 더 높은 수익을 대출 업체에 제공하고 있습니다. + +OUSD는 높은 금액의 담보 대출을 제공하는 디파이 대출 플랫폼과 통합됩니다. 과도한 담보는 청산 관련 스마트 규칙과 결합되어 대출자들에게 합리적 수준의 보안을 제공합니다. 또한 에이브(Aave) 는 각각 AAVE 토큰으로 대여 풀을 추가로 보호하여 리스크를 더욱 낮춥니다. + +OUSD는 이미 입증된 실적을 보유하고, 감사된 스마트 컨트렉트를 보유하고 있으며, 문제 없이 수억 달러의 대출 시스템을 성공적으로 운영해온 주요 대출 기관들과 통합됩니다. We are currently integrated with the following lending platforms: + +{% content-ref url="../supported-strategies/compound.md" %} +[compound.md](../supported-strategies/compound.md) +{% endcontent-ref %} + +{% content-ref url="../supported-strategies/aave.md" %} +[aave.md](../supported-strategies/aave.md) +{% endcontent-ref %} + + + + + + + + + diff --git a/ko/core-concepts/yield-generation/market-making.md b/ko/core-concepts/yield-generation/market-making.md new file mode 100644 index 000000000..1fc049db6 --- /dev/null +++ b/ko/core-concepts/yield-generation/market-making.md @@ -0,0 +1,22 @@ +# 마켓메이킹 + +**탈 중앙화 거래소에서 지분 소유** + +Automated market makers (AMMs) have quickly risen as the preferred form of decentralized exchange on the Ethereum network. 이는 중앙 집중식 거래소에서의 순간 및 저소량 경험에 필적할 수 있는 이더리움 1.0의 주문서 DEX의 지원이 어렵기 때문이기도 합니다. 또한 유니스왑(Uniswap) 과 같은 AMM은 상대적으로 사용자 친화적이고 가스효율적입니다. + +AMMs can only enable new markets when liquidity providers supply liquidity (e.g. multiple tokens for given trading pairs or pools). 유동성을 제공하는 대가로 유동성 공급자는 다른 사용자가 토큰을 교환 할 때 거래 수수료를받습니다. For example, when traders swap two tokens on Uniswap v3, they are currently charged anywhere between 0.05% and 1% on top of the gas fees. These fees are distributed pro-rata to liquidity providers of the pair based on the percentage of total liquidity that they have provided. + +{% hint style="info" %} +[무상 손실](https://medium.com/@pintail/uniswap-a-good-deal-for-liquidity-providers-104c0b6816f2) 은 이해해야 할 중요한 위험 요소이지만이 문제는 OUSD가 거의 동일한 가치의 스테이블 코인에 유동성을 제공함으로써 대부분 완화됩니다. +{% endhint %} + +The OUSD protocol routes USDT, USDC, and DAI to highly-performing liquidity pools as determined by trading volume and rewards tokens (e.g. Curve rewards CRV tokens to liquidity providers). 수익은 OUSD 보유자에게 전달됩니다. + +We are currently integrated with the following automated market maker: + +{% content-ref url="../supported-strategies/curve.md" %} +[curve.md](../supported-strategies/curve.md) +{% endcontent-ref %} + + + diff --git a/ko/core-concepts/yield-generation/rewards.md b/ko/core-concepts/yield-generation/rewards.md new file mode 100644 index 000000000..406bcc476 --- /dev/null +++ b/ko/core-concepts/yield-generation/rewards.md @@ -0,0 +1,12 @@ +# 보상 + +**Collecting Rewards** + +대출이자 및 시장 조성 수수료 외에도 많은 디파이(DeFi) 프로토콜에 의해 배포되는 보너스 인센티브를 자동으로 청구하고 전환 할 계획입니다. For example, Compound gives away COMP tokens and Curve gives away CRV tokens. 이러한 보너스 보상은 정기적으로 스테이블 코인으로 전환되고, 시장에 배포되며 추가 수익의 형태로 OUSD 보유자에게 배포됩니다. + +{% hint style="info" %} +금고(vault) 는 예상치 못한 보상을 안전하게 저장하지만, 사용자 지정 전략을 작성하고 배포하여 프로토콜이 언제 어떻게 이를 안정 코인으로 변환해야 하는지 결정해야 합니다. +{% endhint %} + +오늘날 보상은 수확량의 상당 부분을 차지하기 때문에 이자 농사에서 중요한 요소입니다. OUSD 프로토콜은 디파이(DeFi) 환경에서 가장 매력적인 수익률을 활용하기 위해 시간이 지남에 따라 업그레이드 될 것으로 예상됩니다. 프로토콜은 자원을 가장 잘 할당하는 방법을 결정할 때 제공되는 다양한 보상의 시장 가치를 고려합니다. + diff --git a/ko/faq.md b/ko/faq.md new file mode 100644 index 000000000..6d47859ae --- /dev/null +++ b/ko/faq.md @@ -0,0 +1,33 @@ +# FAQ + +**Where can I buy OUSD?** + +Check out [Getting Started](https://docs.ousd.com/getting-started) to see a variety of options. + +**What are the costs to mint and redeem OUSD?** + +As with any Ethereum transaction, you will need Ether to interact with the OUSD smart contract. We have taken measures to reduce gas usage where possible, but these costs can vary. + +Anytime you mint or redeem OUSD, there will be an exchange rate applied to your stablecoins deposited or withdrawn. You can read more about this in [Price Oracles](https://docs.ousd.com/core-concepts/price-oracles). + +To encourage long-term holding of OUSD and to protect the protocol from attackers, an exit fee of 0.25% is charged on all redeems. You can read more about this in [How It Works](https://docs.ousd.com/how-it-works). + +**How soon will my balance increase once I have OUSD?** + +The amount of OUSD in your wallet will grow each time there is a positive rebase event. You can read more about this in [Elastic Supply](https://docs.ousd.com/core-concepts/elastic-supply). The supply is currently rebased several times per day and is usually correlated with how many people are minting and redeeming OUSD. + +**Why does OUSD not grow when it's held in Uniswap, SushiSwap, etc?** + +By default, rebase events don't affect the supply of OUSD that is sitting in smart contracts. These contracts can opt in to receiving additional OUSD if they are capable of handling elastic supply tokens. You can read more about this in [Rebasing & Smart Contracts](https://docs.ousd.com/core-concepts/elastic-supply/rebasing-and-smart-contracts). + +**How is it possible for the APY to be so high?** + +You can read about our various strategies in [Yield Generation](https://docs.ousd.com/core-concepts/yield-generation). We currently get most of the yield from harvesting rewards tokens (namely COMP and CRV). Additionally, the yield increases as more OUSD is held in smart contracts that do not opt into rebasing since the underlying collateral continues to earn for the average OUSD holder. + +**Why is my balance increasing at a slower rate than the advertised APY?** + +OUSD balances increase when the supply is rebased. But the size of each rebase varies wildly depending on how much the vault has earned since the last rebase. And while most rebases collect a small amount earnings from lending strategies, other rebases involve liquidating rewards tokens or collecting fees. As a result, the yield will vary significantly during short time periods. + +**What about the hack? Is OUSD safe?** + +On November 7th 2020, OUSD was exploited for 7M USD due to a previously undetected reentrancy bug. You can read more [details about the hack](https://medium.com/originprotocol/urgent-ousd-has-hacked-and-there-has-been-a-loss-of-funds-7b8c4a7d534c) on our blog as well as the [detailed compensation plan](https://medium.com/originprotocol/origin-dollar-ousd-detailed-compensation-plan-faa73f87442e) for taking care of the affected users. Origin Dollar was relaunched in December after completing multiple audits and security upgrades. You can learn more about the steps taken to secure the protocol in our [relaunch announcement](https://medium.com/originprotocol/origin-dollar-ousd-is-back-b8ee0c601dad). diff --git a/ko/getting-started.md b/ko/getting-started.md new file mode 100644 index 000000000..8c9365775 --- /dev/null +++ b/ko/getting-started.md @@ -0,0 +1,71 @@ +# 시작하기 + +이 문서는 OUSD의 작동 방식을 설명하고, 잠재적인 리스크와 이점을 전달하며, 코드베이스에 기여하거나 OUSD를 제품에 통합하려는 개발자를 위한 가이드를 제공하기 위한 것입니다. 지금 바로 시작할 수있는 몇 가지 방법이 있습니다. + +**Buying OUSD** + +{% hint style="info" %} +The [Origin Dollar DApp](https://ousd.com/swap) will intelligently route your transaction to get you the best rate. +{% endhint %} + +The [Origin Dollar DApp](https://ousd.com/swap) allows anyone to buy or sell OUSD using a web-3 enabled cryptocurrency wallet like [Metamask](https://www.metamask.io), [Ledger](https://www.ledger.com), or [Gnosis Safe](https://gnosis-safe.io). This is the native way to get OUSD, especially if you want a large amount that could risk moving the market on other exchanges. The DApp will intelligently decide whether to create or trade-in OUSD tokens using the vault or help you complete the trade on whichever AMM is currently offering the best rate. + +**Decentralized Exchanges** + +OUSD is currently available on the following decentralized exchanges. These are listed here for reference only. We recommend using the [Origin Dollar DApp](https://ousd.com/swap) to ensure you always get the best rate. + +* [Buy OUSD on 1inch](https://app.1inch.io/#/1/swap/USDT/OUSD) +* [Buy OUSD on Curve](https://curve.fi/factory/9) +* [Buy OUSD on Uniswap v3](https://app.uniswap.org/#/swap?inputCurrency=0xdac17f958d2ee523a2206206994597c13d831ec7\&outputCurrency=0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86) +* [Buy OUSD on Uniswap v2](https://app.uniswap.org/#/swap?inputCurrency=0xdac17f958d2ee523a2206206994597c13d831ec7\&outputCurrency=0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86\&use=v2) +* [Buy OUSD on Sushiswap](https://exchange.sushiswapclassic.org/#/swap?inputCurrency=0xdac17f958d2ee523a2206206994597c13d831ec7\&outputCurrency=0x2a8e1e676ec238d8a992307b495b45b3feaa5e86) + +**Centralized Exchanges** + +OUSD is currently available on the following centralized exchanges. Be sure to check on how they are handling the yield that is being generated by the protocol. Depending on the exchange, there may be additional steps you need to take to participate in the yield while it's being held in their custody. + +* Buy OUSD on KuCoin + * [OUSD/USDT](https://trade.kucoin.com/OUSD-USDT) + * [OUSD/BTC](https://trade.kucoin.com/OUSD-BTC) +* Buy OUSD on Gate.io + * [OUSD/USDT](https://www.gate.io/trade/OUSD\_USDT) +* Buy OUSD on Virgox + * [OUSD/USDT](https://virgox.com/exchange/141) +* [Buy OUSD on Dharma App](https://www.dharma.io) (US only) + +We're continuing to work on making OUSD available on additional centralized exchanges. + +**Adding OUSD to Your Wallet** + +{% hint style="success" %} +The main ERC20 address for Origin Dollar (OUSD) is: \ +**0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +If your OUSD does not automatically show up in your wallet, you should be able to add it manually using the address above. If you are planning on [storing your OUSD in a multi-sig wallet](core-concepts/elastic-supply/rebasing-and-smart-contracts.md), be sure to opt-in to receive yield. We want to have OUSD supported by as many wallets as possible and included on all the various lists of well-known tokens. We would greatly appreciate any help you can offer in this area. + +**Integrating OUSD** + +OUSD is a non-standard ERC-20 token that requires custom integration work for most applications that wish to support it. In particular, it is important for developers to understand how our elastic supply works as this can easily cause unexpected behavior. + +If you are a wallet provider or crypto exchange that is interested in supporting OUSD, please refer to the following guides: + +{% content-ref url="core-concepts/elastic-supply/rebasing-and-smart-contracts.md" %} +[rebasing-and-smart-contracts.md](core-concepts/elastic-supply/rebasing-and-smart-contracts.md) +{% endcontent-ref %} + +{% content-ref url="smart-contracts/architecture.md" %} +[architecture.md](smart-contracts/architecture.md) +{% endcontent-ref %} + +{% content-ref url="smart-contracts/api/" %} +[api](smart-contracts/api/) +{% endcontent-ref %} + +**Developer Analytics** + +Our internal developer dashboard is available at [analytics.ousd.com](https://analytics.ousd.com). The dashboard shows the current circulating supply, the assets under management in the vault, and the current allocations between each of the stablecoins and strategies. + +**Getting Help** + +Please join the Origin Dollar #engineering room in Origin's [Discord](https://www.originprotocol.com/discord) server. Our team and members of our community look forward to helping you build. Your questions help us improve, so please don't hesitate to ask if you can't find what you are looking for here. diff --git a/ko/governance/admin-privileges.md b/ko/governance/admin-privileges.md new file mode 100644 index 000000000..2d7406e26 --- /dev/null +++ b/ko/governance/admin-privileges.md @@ -0,0 +1,32 @@ +# 관리자 권한 + +The OUSD smart contracts are designed to be owner upgradable. The Origin team uses two different Gnosis multisig wallet contracts in order to make changes to the protocol. These multisig wallets have been [audited by OpenZeppelin](https://blog.openzeppelin.com/gnosis-multisig-wallet-audit-d702ff0e2b1e/), [ConsenSys Dilligence](https://blog.gnosis.pm/the-gnosis-multisig-wallet-and-our-commitment-to-security-ce9aca0d17f6), Origin’s team, and others. + +{% hint style="info" %} +Time-delayed admin actions gives users a chance to exit OUSD if its admins become malicious, are compromised, or make a change that the users do not like. +{% endhint %} + +### Admin + +The primary admin is a 5 of 8 multisig contract which is required to make any code changes to the protocol. OUSD can only be upgraded from this 5 of 8 multi-sig wallet. The keys to this multi-sig are held by individuals with close ties to the company, and not even the Origin founders acting together have enough control to execute owner functions on their own. In addition, the OUSD contracts are owned by a [timelock](../smart-contracts/api/timelock.md) which places a 48 hour time delay before any changes to the protocol can be made. + +### Strategist + +Some functionality, such as rebalancing funds between strategies or pausing deposits, can be triggered without the timelock and with far fewer signers. This allows the Origin team to react more quickly to market conditions or security threats. These signers, known as Strategists, have the ability to execute a limited number of functions __ with only 2 of 9 signers. + +The strategist multisig can do the following actions on the vault: + +* reallocate - move funds between strategies +* setVaultBuffer - adjust the amount of funds held outside strategies for cheaper redeems. +* setAssetDefaultStrategy - which strategy mints and redeems pull from for a particular strategy +* withdrawAllFromStrategy - remove funds from a single strategy and send them to the vault +* withdrawAllFromStrategies - remove funds from all active strategies and send them to the vault +* pauseRebase - pause all rebases +* pauseCapital - pause all mints and redeems +* unpauseCapital - allow all mints and redeems + +### Future + +Having these admin privileges is necessary in the early days to ensure that the protocol is secure and optimized for earning yields while minimizing risks. We expect to release multiple iterations of our smart contracts in the first several months of the protocol's existence. + +Once several upgrade cycles have been completed, we intend to transfer ownership from our company control to a decentralized governance contract, thereby allowing the community to vote and participate in future protocol updates. diff --git a/ko/governance/contributing.md b/ko/governance/contributing.md new file mode 100644 index 000000000..de8b2cd69 --- /dev/null +++ b/ko/governance/contributing.md @@ -0,0 +1,103 @@ +# 기여 + +**100% 오픈소스** + +OUSD는 완전한 오픈 소스 프로젝트이며, 모든 종류의 기여를 환영합니다. 문제 보고, 코드 제공, 커뮤니티 개선 지원 등 다양한 방법으로 오리진을 도울 수 있습니다. + +{% content-ref url="broken-reference" %} +[Broken link](broken-reference) +{% endcontent-ref %} + +We work in public and our company Discord is open to all. If you have questions or need help getting started, our [Discord OUSD channels](https://discord.gg/jyxpUSe) are the best place to get assistance from our team and community. + +{% content-ref url="broken-reference" %} +[Broken link](broken-reference) +{% endcontent-ref %} + +**Developer Analytics** + +Our internal developer dashboard is available at [analytics.ousd.com](https://analytics.ousd.com). The dashboard shows the current circulating supply, the assets under management in the vault, and the current allocations between each of the stablecoins and strategies. Various other developer tools can be found at [ousd.com/dashboard](https://ousd.com/dashboard). + +#### 개발 과정 + +Our branching strategy is similar to [GitFlow](http://nvie.com/posts/a-successful-git-branching-model/), but we do all of our development in the `master` branch and have a `stable` branch for code that has been released. + +Your development flow should look like: + +1. 흥미로운 문제를 찾아 소통을 시작합니다! `#engineering` [디스코드(Discord)](https://discord.gg/jyxpUSe) 채널에 작업 할 내용을 알려주십시오. +2. 디스코드에서 [핵심 팀원](https://github.com/orgs/OriginProtocol/teams/core/members) 명의 구성원을 핑하고 [기여자 팀](https://github.com/orgs/OriginProtocol/teams/contributors)추가되도록 요청하십시오. 그렇지 않으면 관련 저장소를 포크하고 기능 브랜치를 자신의 포크로 푸시해야합니다. +3. 문제에 댓글을 추가하거나 자체 할당하여 실수로 동일한 작업을 수행하는 여러 기여자가 없도록합니다. +4. `master` 브랜치로 시작하고 기존 기능에 기여하지 않는 한 새로운 기능 브랜치를 확인하십시오. +5. Write some awesome code. +6. `마스터` 에서 최신 커밋을 가져와 코드가 시작된 이후 병합 된 다른 작업과 함께 작동하는지 확인합니다. +7. Push your branch to the upstream repository (i.e. https://github.com/OriginProtocol/\[repo]) so that other contributors can easily work off of it if necessary. +8. 오른쪽 열의 "검토자(Reviewers)"옆에 있는 톱니 바퀴 아이콘을 클릭하여 PR에서 리뷰를 요청하십시오. + +For critical smart contract code to be merged it must pass the following checklist: + +* Code reviewed by 2 reviewers +* Unit tests pass +* Slither tests pass with no warning +* Echidna tests pass + +The `master` branch is locked so that only members of the [core team](https://github.com/orgs/OriginProtocol/teams/core) are able to merge your pull requests. Pull requests that are peer-reviewed by other trusted contributors will be fast-tracked and merged faster! Check in the `#engineering` Discord channel for appropriate reviewers. + +#### 코딩 스타일 + +We use a variety of programming languages in our repositories. When contributing, please follow existing coding conventions and refer to the CONTRIBUTING.md file in the repository, if one exists. + +For JavaScript, we use [NPM’s style](https://docs.npmjs.com/misc/coding-style), which is automatically enforced via [prettier](https://prettier.io). + +For Solidity, we use two-space indents. + +#### 프로토콜 설계 + +When considering protocol or implementation design proposals, we are looking for: + +* A description of the problem this design proposal solves +* Discussion of the trade-offs involved +* Review of other existing solutions +* Links to relevant literature (RFCs, papers, etc) +* Discussion of the proposed solution + +Please note that protocol design is hard and meticulous work. You may need to review existing literature and think through generalized use cases. + +#### 커뮤니티 가이드라인 + +We want to keep the Origin community awesome, growing and collaborative. We need your help to keep it that way. To help with this we’ve come up with some general guidelines for the community as a whole: + +* Be nice: Be courteous, respectful and polite to fellow community members: no regional, racial, gender, or other abuse will be tolerated. We like nice people way better than mean ones! +* Encourage diversity and participation: Make everyone in our community feel welcome, regardless of their background and the extent of their contributions, and do everything possible to encourage participation in our community. +* Keep it legal: Basically, don’t get anybody in trouble. Share only content that you own, do not share private or sensitive information, and don’t break laws. +* Stay on topic: Make sure that you are posting to the correct channel and avoid off-topic discussions. Remember when you update an issue or respond to an email you are potentially sending to a large number of people. Please consider this before you update. Also remember that nobody likes spam. + +#### 문제 보고 + +If you find bugs, mistakes or inconsistencies in Origin’s code or documents, please let us know by filing a GitHub issue. No issue is too small. Help us fix our tpyos! + +#### 보안 이슈 + +OUSD is still in early development, which means there may be problems with the protocol or in our implementations. We take security vulnerabilities very seriously. If you discover a security issue, please bring it to our attention right away! + +If you find a security vulnerability please send your report privately to [security@originprotocol.com](mailto:security@originprotocol.com) or send an encrypted message to [@joshfraser on Keybase](https://keybase.io/joshfraser). Please DO NOT file a public issue. Be sure to review our guidelines for responsible disclosure and eligibility for bug bounties. + +{% content-ref url="../security-and-risks/bug-bounties.md" %} +[bug-bounties.md](../security-and-risks/bug-bounties.md) +{% endcontent-ref %} + +#### **커뮤니티 개선** + +Origin is just as much about community as it is about our technology. + +We need constant help in improving our documentation, building new tools to interface with our platform, spreading the word to new users, helping new users getting setup and much more. + +Please get in touch if you would like to help out. Our `discussion` channel on [Discord](https://www.originprotocol.com/discord) is a great place to share ideas and volunteer to help. + +#### 채용 포지션 + +Origin occasionally hires developers for part-time or full-time positions. + +We have a strong preference for hiring people who have already started contributing to the project. If you want a full-time position on our team, your best shot is to engage with our team and start contributing code. It is very unlikely that we would offer you a full-time position on our engineering team unless you’ve had at least a few pull requests merged. + +If you are interested, check out [the Origin Protocol job listings](https://angel.co/originprotocol/jobs). If you’d like to help in other ways, please propose your ideas in [our Discord channel](https://www.originprotocol.com/discord). + diff --git a/ko/governance/governance.md b/ko/governance/governance.md new file mode 100644 index 000000000..a2e80ce7a --- /dev/null +++ b/ko/governance/governance.md @@ -0,0 +1,26 @@ +# 원리 + +**점진적 탈 중앙화** + +OUSD는 전 세계의 많은 이해 관계자들이 함께 관리하는 탈 중앙화 프로토콜로 설계되었습니다. 오리진(Origin) 은 OUSD의 채굴자와 보유자가 가능한 한 빨리 중요한 프로토콜 결정 사항을 집단적으로 결정할 수 있도록 해야 한다고 믿습니다. + +즉, 아주 초기 단계에는 오리진 팀의 핵심 엔지니어 팀이 프로토콜의 기초적인 부분 구축을 위해 신속하고 결단력 있게 행동해야 합니다. + +탈 중앙화는 향후 몇 달 동안 4 단계에 걸쳐 빠르게 진행될 것입니다. 오리진은 가능한 한 빨리 커뮤니티에 통제 및 거버넌스를 양도하고자 합니다. + +![](../.gitbook/assets/ousd_docs_graphics_3.png) + +**타임락(Timelock)** + +완전한 탈 중앙화 거버넌스 이전에, 오리진은 모든 관리 기능 호출 앞에 [타임락(timelock)](../smart-contracts/api/timelock-1.md)을 구현하여, OUSD 사용자가 제안된 업그레이드에 대해 거부 의사를 표명할 경우 자금을 회수할 수 있는 시간을 제공합니다. 타임락은 출시 7 일 후에 추가됩니다. + +**신규 및 기존 이해 관계자** + +OUSD는 오리진 프로토콜(Origin Protocol) [팀](www.originprotocol.com/team)에서 창안한 새로운 프로젝트이며, OUSD를 위해 주조, 보유, 사용 및 유동성 제공을 선택하는 많은 새로운 이해관계자 뿐만 아니라 기존 오리진(Origin) 커뮤니티의 지원을 받을 것입니다. + +또한 기존 오리진 토큰 \(OGN\) 보유자, 50만 명에 가까운 회원으로 구성된 오리진 커뮤니티, 오리진 플랫폼의 구매자/판매자 등의 높은 참여도 보장하고자 합니다. 기존 OGN 보유자는 OGN을 투자하여 거버넌스에 참여하고 가치를 창출하는 인센티브를 획득할 수 있습니다. 보다 자세한 내용은 가까운 시일 내에 발표될 예정입니다. + +OUSD와 나머지 Origin 커머스 플랫폼 간의 강력한 연결은 두 이니셔티브 모두에서 성장을 촉진할 것입니다. + + + diff --git a/ko/governance/ogn-staking.md b/ko/governance/ogn-staking.md new file mode 100644 index 000000000..e7a3e0bc2 --- /dev/null +++ b/ko/governance/ogn-staking.md @@ -0,0 +1,18 @@ +# OGN Staking + +Origin Token (OGN) is intended as the governance token for OUSD and OGN will play an increasingly important role as the Origin Platform becomes more decentralized. Today, users can stake their OGN tokens to earn additional OGN after a chosen staking period has elapsed. + +{% hint style="info" %} +Visit the [OUSD DApp](https://www.ousd.com/stake) in a web3-enabled browser to stake your OGN. +{% endhint %} + +The initial staking program offers three staking periods and respective yields: + +* 30-day staking period: Earn 7.5% annualized interest +* 90-day staking period: Earn 12.5% annualized interest +* 365-day staking period: Earn 25% annualized interest + +Staked tokens will be locked for the duration of the staking period. After each staking period ends, you will be able to claim both your initial OGN (principal) and yield. + +OGN is currently trading on top exchanges like [Coinbase](https://www.coinbase.com/price/origin-token), [Binance](https://www.binance.com/en/register?ref=NPPYAEAE), [Huobi](https://www.huobi.com/en-us/exchange/ogn_usdt/), [Upbit](https://upbit.com/exchange?code=CRIX.UPBIT.BTC-OGN), [Bittrex Global](https://global.bittrex.com/Market/Index?MarketName=BTC-OGN), and [dozens more](https://coinmarketcap.com/currencies/origin-protocol/markets/). Visit the Origin website to [learn more about OGN](https://www.originprotocol.com/ogn-token) or check out the [OGN Dashboard](https://www.originprotocol.com/dashboard) to track important token metrics. + diff --git a/ko/governance/phases.md b/ko/governance/phases.md new file mode 100644 index 000000000..756e4a527 --- /dev/null +++ b/ko/governance/phases.md @@ -0,0 +1,6 @@ +# 단계 + +점진적 탈 중앙화는 아래에 설명 된대로 4 단계를 따릅니다. + +![](../.gitbook/assets/ousd_docs_graphics_3.png) + diff --git a/ko/governance/principles.md b/ko/governance/principles.md new file mode 100644 index 000000000..3a8aed741 --- /dev/null +++ b/ko/governance/principles.md @@ -0,0 +1,30 @@ +# 원리 + +**Governance Portal** + +OGN holders are encouraged to participate in creating and voting on proposals that impact the protocol in the [OGN governance portal](https://vote.originprotocol.com). Anyone with at least 1,000 OGN in their wallet or staked in our OGN Staking contract can create a new proposal using Snapshot. All OGN holders are able to vote for proposals. Our desire is for our community to have a strong impact on the direction of Origin’s products, open-source codebase, and to have a voice in key business decisions and the overall direction of the project. + +OGN holders can also [delegate votes](vote-delegation.md) to another account. + +**Progressive Decentralization** + +OUSD is designed to be a decentralized protocol governed by many stakeholders all over the world. We believe that the holders of OUSD should collectively determine important protocol decisions as soon as possible. + +That being said, in the very early days, it is imperative that the core engineering team can act quickly and decisively to build the foundational parts of the protocol. + +Decentralization will progress across four phases rapidly over the next few months. It is our intent to relinquish control and governance to the community as soon as possible. + +![](../.gitbook/assets/ousd\_docs\_graphics\_2 (2).png) + +**Timelock** + +Prior to full decentralized governance, we will implement a [timelock](../smart-contracts/api/timelock.md) in front of all admin function calls, giving OUSD users time to withdraw their funds if they have objections to our proposed upgrades. + +**New and Existing Stakeholders** + +OUSD is a new project founded by Origin Protocol [team](https://www.originprotocol.com/team) and will be supported by the existing Origin community as well as many new stakeholders that choose to mint, hold, use, and provide liquidity for OUSD. + +In addition, we also want to ensure high participation from our existing Origin Token (OGN) holders and the millions of people in our community. Existing OGN holders are able to [stake their OGN](ogn-staking.md) to participate in governance and earn incentives for driving value to OUSD. + +The strong connection between OUSD and the rest of the Origin commerce platform will fuel growth in both initiatives. + diff --git a/ko/governance/vote-delegation.md b/ko/governance/vote-delegation.md new file mode 100644 index 000000000..9a8149d2f --- /dev/null +++ b/ko/governance/vote-delegation.md @@ -0,0 +1,18 @@ +# Vote Delegation + +OGN holders can forward their voting power on the [Governance Portal](https://vote.originprotocol.com/#/) to another Ethereum address. Choosing this option does not strip the delegator of their voting power. The delegatee receives the extra voting power only on proposals the delegator has not voted on. + +This is convenient when users want someone they trust or even one of Origin's team members to make governance decisions regarding Origin's ecosystem. It is also useful when users have OGN stored more safely in a hardware wallet and don’t want to go through the hassle of connecting it to the computer. A more accessible Ethereum wallet e.g. Metamask can be used to vote by having voting power delegated to it from the hardware wallet.\ + + +**How to Delegate** + +* Go to: [https://snapshot.org/#/delegate](https://snapshot.org/#/delegate). +* Type in the address or ENS name you want to delegate to. +* There is an option to limit the delegation power to only Origin’s products by selecting _Limit delegation to a specific space_ and typing in “origingov.eth”. +* Click confirm to save your delegation.\ + + +![](../.gitbook/assets/Screenshot 2022-03-20 at 10.47.43.png) + +After completing these steps, the OGN voting power is successfully delegated to the address specified. diff --git a/ko/guides/incentivized-harvesting-guide.md b/ko/guides/incentivized-harvesting-guide.md new file mode 100644 index 000000000..a24597e9c --- /dev/null +++ b/ko/guides/incentivized-harvesting-guide.md @@ -0,0 +1,46 @@ +# Incentivized Harvesting Guide + +The OUSD Harvester contract collects reward tokens earned by the OUSD strategies, sells them, and sends them on to increase protocol yield. **Anyone can call the harvest and earn 1% of the resulting USDT** for doing so. This creates a self-incentivizing system that operates at a known cost to the protocol. + +### When to call + +You'll want to call this contract when it is profitable to do so. You gain the 1% harvest USDT given by the contract, and spend the gas cost to send the transaction. + +The simplest way to calculate both of these is to simulate the transaction. You can then look at the resulting transfers to know the income received, and you can look at the gas amount used, the current gas prices, and the current cost of ETH, to find out the cost. + +Alternatively you can precompute the gas used for a given strategy's harvest, look up the pending reward tokens using various online services, then do your calculations without using the blockchain. + +The amount of rewards increases at a fairly steady, predictable rate. The primary variation is in gas prices, which will make a much bigger minute to minute difference on when you should call this. + +When calculating profitability, remember to account for the cost to swap back to ETH from USDT. + +### How to call + +When you call the harvest, **you will want to use some form of MEV protection**. Otherwise bots will see that your transaction is profitable, and execute it ahead of you, leaving you no gain and only gas fees. + +To harvest, you call `harvester.harvestAndSwap(strategyAddress, rewardTo)`. + +The harvester address and strategyAddresses can be found in the strategy tab of the [contract registry](../smart-contracts/registry.md). The `rewardTo` address is the account that will receive the USDT funds as a reward for calling the function - use your own address for it. + +Below is the harvestAndSwap ABI: + +``` +[{ + "inputs": [ + { + "internalType": "address", + "name": "_strategyAddr", + "type": "address" + }, + { + "internalType": "address", + "name": "_rewardTo", + "type": "address" + } + ], + "name": "harvestAndSwap", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" +}] +``` diff --git a/ko/guides/integration-guide-for-exchanges.md b/ko/guides/integration-guide-for-exchanges.md new file mode 100644 index 000000000..cda6f2cd1 --- /dev/null +++ b/ko/guides/integration-guide-for-exchanges.md @@ -0,0 +1,34 @@ +# Integration Guide For Exchanges + +Centralized exchanges will play an important role in helping us reach our goal of making OUSD ubiquitous. We are happy to help any exchange that wants to make OUSD available to its users. We believe OUSD will make a great addition to any exchange that wants to offer both a superior stablecoin and a new high-yield opportunity for their users. + +These docs are a great starting point for understanding how OUSD works. Here are some important questions for exchanges that wish to integrate OUSD to consider: + +**Do you want to participate in the yield that is generated?** + +We're assuming the answer will be yes and we highly encourage this as well! However, there may be some instances where you would prefer to move fast and list OUSD without participating in the [rebasing nature of OUSD](../core-concepts/elastic-supply/rebasing-and-smart-contracts.md) since it's the fastest and simplest integration. For exchanges that want to list OUSD, but are strapped for engineering resources, you may want to launch the non-rebasing version first while your engineers make whatever changes are necessary. To make OUSD non-rebasing you can call `rebaseOptOut()` from each EOA wallet that holds OUSD, or do nothing if you are storing OUSD on smart contracts. Non-rebasing OUSD behaves just like any other ERC-20 token. + +**Are you storing customer balances on smart contracts (ie. multi-sigs) or EOA wallets?** + +Any smart contract that is holding OUSD needs to manually opt-in to receive the yield by calling `rebaseOptIn()`. This is due to the [elastic supply](../core-concepts/elastic-supply/) and the [rebasing nature of OUSD](../core-concepts/elastic-supply/rebasing-and-smart-contracts.md). Many exchanges sweep customer funds into a multi-sig wallet for cold storage. If you do this, you'll want to make sure that you opt-in to rebasing so that you are always earning. + +**Are you caching user balances?** + +OUSD dynamically updates the value returned by the `balanceOf()` function on our ERC20 contract. Users' balances will update at unpredictable times as new yield is generated by the protocol. As long as you aren't caching this value, users will always see the correct amount of OUSD that they are holding. + +It's important to note that while OUSD is a rebasing token, user balances will only rebase in a positive direction (your balance will never go down). This makes things a lot simpler than integrating with other rebasing coins like AMPL or other algo-stables. + +**Are you comingling user funds?** + +If you are comingling funds, you'll want to be sure that each user gets their pro-rata amount of the yield that is generated by the protocol. Probably the easiest way to do this is to track each user's balance as a percentage of a pool instead of as a fixed amount. + +**Are you planning to provide liquidity?** + +The Origin team is often willing to provide a market maker and initial liquidity for exchanges that wish to integrate OUSD. There are also 9 figures worth of liquidity available on decentralized exchanges like [Curve](https://curve.fi/factory/9). + +If you are interested in using OUSD to power your own staking or earning program, you will probably want to be able to access OUSD on demand. OUSD can always be minted or redeemed using the [Origin Dollar DApp](https://www.ousd.com), or directly from the OUSD [smart contracts](../smart-contracts/registry.md). If you are planning on providing liquidity yourself, you should be aware that the exact amount of OUSD you will receive in exchange for your USDT, USDC, or DAI depends on the current exchange rates as determined by the [oracles.](../core-concepts/price-oracles.md) If you are planning on redeeming OUSD for the underlying stablecoins, you should know there is a 0.25% exit fee and OUSD will return a basket of stable coins in proportion to the backing stablecoins in the pool. We encourage exchanges to leverage existing pools of liquidity to avoid those fees. If possible, mints or redeems should be done in large batches for maximum efficiency. + +#### Do you have other questions? + +The best way to get help from both our engineering and business teams is usually on [Discord](https://www.originprotocol.com/discord). + diff --git a/ko/how-it-works.md b/ko/how-it-works.md new file mode 100644 index 000000000..6452a684b --- /dev/null +++ b/ko/how-it-works.md @@ -0,0 +1,39 @@ +# 작동 방법 + +#### 100 % 지원 및 안정 + +Origin Dollar (OUSD) is an ERC-20 compliant token for the Ethereum network. + +OUSD는 USDT, USDC 및 DAI와 같은 검증된 스테이블 코인이 1:1로 지원되는 안정적인 통화입니다. 결과적으로, 1 OUSD는 항상 1 USD와 비슷한 가치를 가지게 됩니다. + +{% hint style="success" %} +1 OUSD = 1 USD +{% endhint %} + +#### Buying OUSD + +Users can convert their existing stablecoins (currently USDT, USDC, and DAI) to OUSD at the official [Origin Dollar DApp](https://www.ousd.com). Received OUSD begins accruing compounding yield immediately. + +The Origin DApp will intelligently route user's transactions to give them the best available price while taking slippage and gas costs into consideration. This means that the DApp will sometimes encourage users to buy OUSD that is already in circulation versus minting fresh OUSD from the vault. The OUSD DApp will choose from multiple sources of liquidity and will suggest the option that gives the user the best possible rate. + +**Selling OUSD** + +Users can convert their OUSD back into other stablecoins at any time using the [Origin Dollar DApp](https://www.ousd.com). The Origin DApp will intelligently route user's transactions to give them the best available price while taking slippage, gas costs, and the vault's exit fee into consideration. This means that the DApp will often help users sell their OUSD on AMM's instead of redeeming OUSD with the vault and incurring the protocol's exit fee. + +A 0.25% exit fee is charged upon redemption with the vault. This fee is distributed as additional yield to the remaining participants in the vault (ie. other OUSD holders). The fee serves as a security feature to make it difficult for attackers to take advantage of lagging oracles, preventing them from siphoning stablecoins from the vault in the event of mispriced underlying assets. The fee exists to incentivize long-term holders over short-term speculators. + +Upon redemption, the vault will determine which stablecoin(s) to return to the user. In the current implementation, the vault will return coins in the same ratio as the current holdings. This lack of user optionality also protects the vault as a whole in the event that any of the supported stablecoins loses its peg to the dollar. + +{% hint style="warning" %} +Redemptions on the OUSD vault incur a **0.25% exit fee** and the user doesn't get to pick which stablecoins they receive. Users can often avoid this fee by selling to an AMM instead. +{% endhint %} + +#### **자동화 이자 농사(Automated Yield Farming)** + +OUSD generates yields by deploying the underlying stablecoins that were deposited to the OUSD smart contract to other DeFi protocols such as Compound, Aave, and Curve. There may be new diversified strategies added to the vault in the future. Collected interest, trading fees, and rewards tokens are pooled and converted to stablecoins to produce OUSD-denominated yields. Over time, the protocol will move assets in and out of different liquidity pools in order to provide the best yield to the holders of OUSD. + +#### **공급 탄력성** + +The generated returns are passed on to the holders of OUSD via constant rebasing of the money supply. OUSD constantly adjusts the money supply in response to the yield the protocol has generated. This allows the price of OUSD to stay pegged at $1 while the balances in token holders' wallets adjust in real-time to reflect yields that have been earned by the protocol. + +The end result is a stablecoin that is easy to spend, earns outsized yields automatically, and is more desirable to hold than existing stablecoins. diff --git a/ko/security-and-risks/asset-risk.md b/ko/security-and-risks/asset-risk.md new file mode 100644 index 000000000..b36bf8654 --- /dev/null +++ b/ko/security-and-risks/asset-risk.md @@ -0,0 +1,33 @@ +# 버그 현상금 + +**버그 현상금** + +버그 현상금은 오리진 프로토콜(Origin Protocol) 의 전적인 재량에 따라 부여됩니다. 현상금의 크기는 작은 문제의 경우 **$100**부터 주요 취약점에 대한 문제의 경우 **$250,000**까지 다양합니다. Currently, the bounty program only applies to OUSD and not other products from Origin. + +{% hint style="warning" %} +버그 현상금을 받을 자격을 얻기 위해서는 아래에 설명된 책임 공개 규칙을 따라야 합니다. +{% endhint %} + +**공개 방침(responsible disclosure)** + +보안은 오리진의 최우선 과제이며, 오리진은 코드가 안전하고 의도한대로 작동하는지 확인하기 위해 모든 노력을 기울였습니다. 그러나 심혈을 기울였음에도 불구하고, 크고 작은 취약점이 모두 발견되지 않았을 가능성이 있습니다. + +만약 취약점을 발견 한 경우라면, 가능한 한 신속하게 해결하기 위한 조치를 취할 수 있도록 즉시 저희 오리진 프로토콜에게 연락주세요. + +만약 취약점을 발견하였다면, 다음과 같은 안내를 따라주세요: + +* 결과를 [security@originprotocol.com](mailto:security@originprotcol.com) 로 보고하거나, [키베이스(Keybase)](https://keybase.io/joshfraser) 상에서 조쉬 프레이저(Josh Fraser)에게 연락주세요. +* 당신이 발견한 취약점이나 문제를 이용하지 마십시오. +* 해당 문제가 해결 될 때까지 다른 사람에게 문제를 공개하지 말아주세요. +* 물리적 보안, 사회 공학, 분산 서비스 거부, 스팸 또는 타사 애플리케이션에 대한 공격을 사용하지 마십시오. +* 가능한 한 빨리 문제를 해결할 수 있도록, 문제를 재현하는 데 충분한 정보를 제공 부탁드립니다. 복잡한 취약성은 추가 설명이 필요할 수 있으므로 오리진에서 추가 정보를 요청할 수 있습니다. + +그 대가로 오리진은 다음을 약속합니다. + +* 보고서에 대한 평가 및 예상 해결 날짜와 함께 영업일 기준 3 일 이내에 보고서에 응답합니다. +* 위의 지침을 따랐을 경우 신고와 관련하여 어떠한 법적 조치도 취하지 않습니다. +* 우리는 귀하의 신고를 엄격한 기밀로 처리하고, 귀하의 허가없이 귀하의 개인 정보를 제 3 자에게 전달하지 않습니다. +* 원하는 경우 문제 해결을위한 진행 상황을 계속 알려드립니다. +* 보고 된 문제에 대한 공개 정보에서 문제 발견 자로서 귀하의 이름을 제공 할 것입니다. \ (보고자가 원하지 않는 경우 제외\) +* 귀하의 도움에 대한 감사의 표시로써, 아직 알려지지 않은 모든 보안 문제 보고에 대한 보상을 제공합니다. 보상 금액은 누출의 심각도, 보고서의 품질 및 귀하가 제공하는 추가 지원에 따라 결정됩니다. + diff --git a/ko/security-and-risks/audits.md b/ko/security-and-risks/audits.md new file mode 100644 index 000000000..9db685fc6 --- /dev/null +++ b/ko/security-and-risks/audits.md @@ -0,0 +1,40 @@ +# 감사 + +**The OUSD Vault, ERC-20, and Overall System** + +OUSD has been audited by multiple, well-respected security firms. We have worked with [OpenZeppelin](https://openzeppelin.com), [Trail of Bits](https://www.trailofbits.com), [Solidified](https://solidified.io), and [Certora](https://www.certora.com) to audit all of the code that powers Origin Dollar. Their findings are available below: + +* [Trail of Bits, OUSD Audit, December 2020](https://github.com/OriginProtocol/security/blob/master/audits/Trail%20of%20Bits%20-%20Origin%20Dollar%20-%20Dec%202020.pdf) +* [Solidified, OUSD Audit, December 2020](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20Origin%20Dollar%20-%20Dec%202020.pdf) +* [Solidified, OGN Staking Audit, December 2020](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20OGN%20Staking%20-%20Dec%202020.pdf) +* [Certora, OUSD Formal Verification Audit, January 2021](https://www.certora.com/pubs/OriginFeb2021.pdf) +* [OpenZeppelin, OUSD Audit, August 2021](https://github.com/OriginProtocol/security/blob/master/audits/OpenZeppelin%20-%20Origin%20Dollar%20-%20October%202021.pdf) +* [Solidified, wOUSD, ERC721a, Governance, Harvester & Dripper Audit, May 2022](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20OGV%2C%20wOUSD%2C%20and%20ERC721a%20-%20May%202022.pdf) + +Both our initial and future governance tokens have been audited as well: + +* [Trail of Bits, OGN Audit, November 2018](https://github.com/OriginProtocol/security/blob/master/audits/Trail%20of%20Bits%20-%20Origin%20Marketplace%20and%20OGN%20Token%20-%20Nov%202018.pdf) +* [Solidified, OGV Audit, May 2022](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20OGV%2C%20wOUSD%2C%20and%20ERC721a%20-%20May%202022.pdf) + +In addition, the underlying strategies and dependencies that OUSD utilizes have been thoroughly audited by various firms. + +{% hint style="info" %} +OUSD only integrates strategies that have been carefully audited and battle-tested with significant capital over an extended period of time. +{% endhint %} + +**Compound Strategy and Open Price Feed** + +Compound has been audited by [Trail of Bits](https://www.trailofbits.com) and [OpenZeppelin](https://openzeppelin.com) and formally verified by [Certora](https://www.certora.com). Visit the Compound website for their [full list of audits](https://compound.finance/docs/security#audits) including the original code for the modified [Timelock](../smart-contracts/api/timelock.md) that OUSD is using. + +**Aave Strategy** + +Aave has been audited by [Trail of Bits](https://www.trailofbits.com), [OpenZeppelin](https://openzeppelin.com), [ConsenSys Diligence](https://consensys.net/diligence/), [Certik](https://certik.io), [MixBytes](https://mixbytes.io), and [PeckShield](https://peckshield.com). They have also been formally verified by [Certora](https://www.certora.com). Visit the Aave website for [their full list of audits](https://docs.aave.com/developers/security-and-audits). + +**Curve Strategy** + +Curve has been audited by [Trail of Bits](https://www.trailofbits.com) and [Quantstamp](https://quantstamp.com). Visit the Curve website for [their full list of audits](https://www.curve.fi/audits). + +**Chainlink Oracles** + +Chainlink has been audited by [Quantstamp](https://github.com/smartcontractkit/chainlink/tree/bafa91c), [SigmaPrime](https://github.com/smartcontractkit/chainlink/tree/cee356), [Callisto](https://gist.github.com/yuriy77k/c3a70d212a7f9ecda715252e45073158), and [Nick Johnson](https://github.com/smartcontractkit/chainlink/tree/5327f9). + diff --git a/ko/security-and-risks/bug-bounties.md b/ko/security-and-risks/bug-bounties.md new file mode 100644 index 000000000..082c7ea37 --- /dev/null +++ b/ko/security-and-risks/bug-bounties.md @@ -0,0 +1,32 @@ +# 버그 현상금 + +**버그 현상금** + +버그 현상금은 오리진 프로토콜(Origin Protocol) 의 전적인 재량에 따라 부여됩니다. The rewards range in size from **$100 OUSD** for minor issues to **$250,000 OUSD** for major vulnerabilities. Currently, the bounty program only applies to OUSD and not other products from Origin. + +{% hint style="warning" %} +버그 현상금을 받을 자격을 얻기 위해서는 아래에 설명된 책임 공개 규칙을 따라야 합니다. +{% endhint %} + +**공개 방침(responsible disclosure)** + +보안은 오리진의 최우선 과제이며, 오리진은 코드가 안전하고 의도한대로 작동하는지 확인하기 위해 모든 노력을 기울였습니다. 그러나 심혈을 기울였음에도 불구하고, 크고 작은 취약점이 모두 발견되지 않았을 가능성이 있습니다. + +만약 취약점을 발견 한 경우라면, 가능한 한 신속하게 해결하기 위한 조치를 취할 수 있도록 즉시 저희 오리진 프로토콜에게 연락주세요. + +만약 취약점을 발견하였다면, 다음과 같은 안내를 따라주세요: + +* Report your findings to [security@originprotocol.com](mailto:security@originprotocol.com) or contact [Josh Fraser on Keybase](https://keybase.io/joshfraser). Here is an example of a [well written disclosure](https://gist.github.com/DanielVF/66f459da88804d1fd917c47576c68523). +* 당신이 발견한 취약점이나 문제를 이용하지 마십시오. +* 해당 문제가 해결 될 때까지 다른 사람에게 문제를 공개하지 말아주세요. +* 물리적 보안, 사회 공학, 분산 서비스 거부, 스팸 또는 타사 애플리케이션에 대한 공격을 사용하지 마십시오. +* 가능한 한 빨리 문제를 해결할 수 있도록, 문제를 재현하는 데 충분한 정보를 제공 부탁드립니다. Complex vulnerabilities may require further explanation so we might ask you for additional information. + +그 대가로 오리진은 다음을 약속합니다. + +* 보고서에 대한 평가 및 예상 해결 날짜와 함께 영업일 기준 3 일 이내에 보고서에 응답합니다. +* 위의 지침을 따랐을 경우 신고와 관련하여 어떠한 법적 조치도 취하지 않습니다. +* 우리는 귀하의 신고를 엄격한 기밀로 처리하고, 귀하의 허가없이 귀하의 개인 정보를 제 3 자에게 전달하지 않습니다. +* 원하는 경우 문제 해결을위한 진행 상황을 계속 알려드립니다. +* In the public information concerning the problem reported, we will give your name as the discoverer of the problem (unless you desire otherwise) +* 귀하의 도움에 대한 감사의 표시로써, 아직 알려지지 않은 모든 보안 문제 보고에 대한 보상을 제공합니다. 보상 금액은 누출의 심각도, 보고서의 품질 및 귀하가 제공하는 추가 지원에 따라 결정됩니다. diff --git a/ko/security-and-risks/contributing.md b/ko/security-and-risks/contributing.md new file mode 100644 index 000000000..548649df5 --- /dev/null +++ b/ko/security-and-risks/contributing.md @@ -0,0 +1,95 @@ +# 기여 + +**100% 오픈소스** + +OUSD는 완전한 오픈 소스 프로젝트이며, 모든 종류의 기여를 환영합니다. 문제 보고, 코드 제공, 커뮤니티 개선 지원 등 다양한 방법으로 오리진을 도울 수 있습니다. + +오리진은 공개적으로 일하고 있으며, 오리진의 업무 진행 방식은 디스코드(Discord) 상에서 모두에게 공개되어 있습니다. 만약, OUSD와 관련하여 질문이 있거나 시작하는 데 도움이 필요하다면 디스코드 상의 OUSD 채널이 우리 팀과 커뮤니티의 도움을 받을 수있는 가장 좋은 곳입니다. + +**Developer Analytics** + +Our internal developer dashboard is available at [analytics.ousd.com](https://analytics.ousd.com). The dashboard shows the current circulating supply, the assets under management in the vault, and the current allocations between each of the stablecoins and strategies. + +#### 개발 과정 + +Our branching strategy is similar to [GitFlow](http://nvie.com/posts/a-successful-git-branching-model/), but we do all of our development in the `master` branch and have a `stable` branch for code that has been released. + +Your development flow should look like: + +1. 흥미로운 문제를 찾아 소통을 시작합니다! `#engineering` [디스코드(Discord)](https://discord.gg/jyxpUSe) 채널에 작업 할 내용을 알려주십시오. +2. 디스코드에서 [핵심 팀원](https://github.com/orgs/OriginProtocol/teams/core/members) 명의 구성원을 핑하고 [기여자 팀](https://github.com/orgs/OriginProtocol/teams/contributors)추가되도록 요청하십시오. 그렇지 않으면 관련 저장소를 포크하고 기능 브랜치를 자신의 포크로 푸시해야합니다. +3. 문제에 댓글을 추가하거나 자체 할당하여 실수로 동일한 작업을 수행하는 여러 기여자가 없도록합니다. +4. `master` 브랜치로 시작하고 기존 기능에 기여하지 않는 한 새로운 기능 브랜치를 확인하십시오. +5. 적절한 [코딩 스타일](https://docs.originprotocol.com/guides/getting_started/contributing.html#contributing-email-coding-style) 을 따르며, 멋진 코드를 작성해주세요. +6. `마스터` 에서 최신 커밋을 가져와 코드가 시작된 이후 병합 된 다른 작업과 함께 작동하는지 확인합니다. +7. 브랜치를 업스트림 저장소 \ (예: https: //github.com/OriginProtocol/ \ [repo \] \)로 푸시하여 필요한 경우 다른 기여자가 쉽게 작업 할 수 있도록합니다. +8. 오른쪽 열의 "검토자(Reviewers)"옆에 있는 톱니 바퀴 아이콘을 클릭하여 PR에서 리뷰를 요청하십시오. + +For critical smart contract code to be merged it must pass the following checklist: + +* Code reviewed by 2 reviewers +* Unit tests pass +* Slither tests pass with no warning +* Echidna tests pass + +The `master` branch is locked so that only members of the [core team](https://github.com/orgs/OriginProtocol/teams/core) are able to merge your pull requests. Pull requests that are peer-reviewed by other trusted contributors will be fast-tracked and merged faster! Check in the `#engineering` Discord channel for appropriate reviewers. + +#### 코딩 스타일 + +We use a variety of programming languages in our repositories. When contributing, please follow existing coding conventions and refer to the CONTRIBUTING.md file in the repository, if one exists. + +For JavaScript, we use [NPM’s style](https://docs.npmjs.com/misc/coding-style), which is automatically enforced via [prettier](https://prettier.io/). + +For Solidity, we use two-space indents. + +#### 프로토콜 설계 + +When considering protocol or implementation design proposals, we are looking for: + +* A description of the problem this design proposal solves +* Discussion of the trade-offs involved +* Review of other existing solutions +* Links to relevant literature \(RFCs, papers, etc\) +* Discussion of the proposed solution + +Please note that protocol design is hard and meticulous work. You may need to review existing literature and think through generalized use cases. + +#### 커뮤니티 가이드라인 + +We want to keep the Origin community awesome, growing and collaborative. We need your help to keep it that way. To help with this we’ve come up with some general guidelines for the community as a whole: + +* Be nice: Be courteous, respectful and polite to fellow community members: no regional, racial, gender, or other abuse will be tolerated. We like nice people way better than mean ones! +* Encourage diversity and participation: Make everyone in our community feel welcome, regardless of their background and the extent of their contributions, and do everything possible to encourage participation in our community. +* Keep it legal: Basically, don’t get anybody in trouble. Share only content that you own, do not share private or sensitive information, and don’t break laws. +* Stay on topic: Make sure that you are posting to the correct channel and avoid off-topic discussions. Remember when you update an issue or respond to an email you are potentially sending to a large number of people. Please consider this before you update. Also remember that nobody likes spam. + +#### 문제 보고 + +If you find bugs, mistakes or inconsistencies in Origin’s code or documents, please let us know by filing a GitHub issue. No issue is too small. Help us fix our tpyos! + +#### 보안 이슈 + +OUSD is still in early development, which means there may be problems with the protocol or in our implementations. We take security vulnerabilities very seriously. If you discover a security issue, please bring it to our attention right away! + +If you find a security vulnerability please send your report privately to [security@originprotocol.com](mailto:security@originprotocol.com) or send an encrypted message to [@joshfraser on Keybase](https://keybase.io/joshfraser). Please DO NOT file a public issue. Be sure to review our guidelines for responsible disclosure and eligibility for bug bounties. + +{% page-ref page="bug-bounties.md" %} + +#### **커뮤니티 개선** + +Origin is just as much about community as it is about our technology. + +We need constant help in improving our documentation, building new tools to interface with our platform, spreading the word to new users, helping new users getting setup and much more. + +Please get in touch if you would like to help out. Our `general` channel on [Discord](https://www.originprotocol.com/discord) is a great place to share ideas and volunteer to help. + +#### 채용 포지션 + +Origin occasionally hires developers for part-time or full-time positions. + +We have a strong preference for hiring people who have already started contributing to the project. If you want a full time position on our team, your best shot is to engage with our team and start contributing code. It is very unlikely that we would offer you a full-time position on our engineering team unless you’ve had at least a few pull requests merged. + +If you are interested, check out [the Origin Protocol job listings](https://angel.co/originprotocol/jobs). If you’d like to help in other ways, please propose your ideas in [our Discord channel](https://www.originprotocol.com/discord). + + + diff --git a/ko/security-and-risks/insurance.md b/ko/security-and-risks/insurance.md new file mode 100644 index 000000000..f805d14f1 --- /dev/null +++ b/ko/security-and-risks/insurance.md @@ -0,0 +1,15 @@ +# Insurance + +OUSD holders can buy smart contract insurance to cover any losses that might result from any bugs or vulnerabilities in the OUSD contracts, including economic exploits (such as flash loans attacks). In addition, anyone who wants to make a financial bet on the security of our contracts can earn a yield by providing coverage. + +DeFi coverage for OUSD is currently available via[ Nexus Mutual](https://nexusmutual.io) and [InsurAce Protocol](https://www.insurace.io). These partnerships allow for more effective risk management by OUSD holders while creating new opportunities for coverage providers to profit. + +Read our [announcement post](https://medium.com/originprotocol/origin-partners-with-nexus-mutual-to-offer-defi-insurance-for-origin-dollar-ousd-6eb3432ee042) to learn how to [buy coverage](https://app.nexusmutual.io/cover/buy/get-quote?address=0xE75D77B1865Ae93c7eaa3040B038D7aA7BC02F70), [provide coverage](https://app.nexusmutual.io/staking), or [participate in shield mining campaigns](https://app.nexusmutual.io/rewards) with Nexus Mutual. You can learn more about InsurAce and how to buy coverage on their [user guide](https://docs.insurace.io/landing-page/documentation-1/user-guide) or [documentation](https://docs.insurace.io/landing-page/). + +**Nexus Mutual Coverage** + +Read our[ announcement post](https://medium.com/originprotocol/origin-partners-with-nexus-mutual-to-offer-defi-insurance-for-origin-dollar-ousd-6eb3432ee042) to learn how to[ buy coverage](https://app.nexusmutual.io/cover/buy/get-quote?address=0x0000000000000000000000000000000000000016),[ provide coverage](https://app.nexusmutual.io/staking), and[ participate in shield mining campaigns](https://app.nexusmutual.io/rewards) with Nexus Mutual. + +**InsurAce Protocol Coverage** + +Read InsurAce Protocol’s [User Guide](https://docs.insurace.io/landing-page/documentation-1/user-guide) to learn how to [buy coverage](https://docs.insurace.io/landing-page/documentation-1/user-guide/dashboard) and participate in [underwriting mining](https://docs.insurace.io/landing-page/documentation-1/user-guide/how-to-stake) for OUSD. diff --git a/ko/security-and-risks/risks.md b/ko/security-and-risks/risks.md new file mode 100644 index 000000000..341a57adc --- /dev/null +++ b/ko/security-and-risks/risks.md @@ -0,0 +1,44 @@ +# 위험 + +{% hint style="danger" %} +Use at your own risk. Do not deploy more capital than you are willing to lose. +{% endhint %} + +As with any yield-generating DeFi product, there are associated risks with holding OUSD that are important to understand. These risks can be broadly classified into 3 categories: + +* OUSD smart contract risk +* Underlying third-party platform risk +* 기초 스테이블 코인 위험 + +**OUSD smart contract risk** + +Our smart contracts have been [audited](audits.md) by multiple, well-respected security firms. However, it is important to note that even with formal audits, it is still possible for there to be logic errors that could lead to the loss of funds for OUSD holders. The contracts involve complex math and logic. While we have taken every precaution to ensure the safety and security of our smart contracts, users are reminded to use at their own risk. Origin Protocol will not be held responsible for any loss of funds, regardless of who is at fault. + +**Third-party platform risk** + +OUSD is built on top of other DeFi platforms like Aave, Compound, and Curve that add additional smart contract risk. We are choosing to work with platforms that have literally billions of dollars of assets under management and have made a reasonable efforts to ensure the security of their protocols. However, there are no guarantees that the underlying third-party platforms will continue to work as intended, and any failure in an underlying strategy would potentially lead to a loss of funds for OUSD holders. + +**스테이블 코인 위험** + +OUSD는 이를 뒷받침하는 스테이블 코인 만큼 강하다는 점을 이해하는 것이 중요합니다. Any loss of value to an underlying stablecoin asset will cause a similar loss to the value of OUSD. While OUSD is designed to maintain a 1:1 relationship between supply and number of backing stablecoins, it does not guarantee which stablecoins will make up that backing nor the value of those coins. + +지원되는 각 스테이블 코인은 서로 다른 상대방에 대한 리스크를 유발한다는 점에 유의해야 합니다. 특히 테더(Tether) 는 잘 문서화된 은행 문제 및 규제 문제를 안고 있습니다. 또한 USDT와 USDC는 발행인이 보유자의 지갑에있는 돈을 동결(freeze) 할 수 있는 권한을 부여하는 백도어(backdoors) 기능이 있습니다. While DAI does not have any direct backdoors, its assets can also be negatively impacted since USDC and USDT are accepted as collateral for minting DAI. + +**Risk mitigation** + +While it's impossible to guarantee our contracts are 100% safe, we have taken every step possible to mitigate the chance of losing funds: + +We regularly have our work [audited ](audits.md)by the top auditors in the industry. + +[DeFi insurance](insurance.md) is availble to offer smart contract coverage as an optional add-on service for OUSD holders. + +We have retained [Certora](https://www.certora.com) to formally verify the various security properties of our contracts. They helped us establish automated verifications that will run anytime we update our contract code. We have automated checking for common errors with [Slither](https://github.com/crytic/slither) and [Echidna](https://github.com/crytic/echidna) tests. Together, these alert our team to common security issues in addition to our own test suite. + +Code reviews involving our smart contracts are incredibly rigorous. We require at least two engineers to review each change with a detailed checklist and we prioritize security reviews over new feature development. + +Finally, we have formalized an engineering [rotation](https://github.com/OriginProtocol/security/blob/master/incidents/ROTATION.md) for reviewing [attacks on other projects](https://github.com/OriginProtocol/security/tree/master/incidents) as well as ensuring we deep dive into each of these reviews, including reviewing the affected contracts' source code ourselves. We've observed that attackers often exploit the same fundamental vulnerability on multiple different projects. By reviewing other project's vulnerabilities, we force ourselves to stay up to date on the latest security threats in our industry and are constantly learning from their mistakes. + +**Actions speak louder than words** + +You should also know that many members of the Origin team, including both founders, are holding a significant portion of their personal wealth in OUSD. Origin Protocol's corporate treasury is also holding millions of dollars in OUSD. We have skin in the game and are willing to put our own money at risk with the code we have written. + diff --git a/ko/security-and-risks/untitled.md b/ko/security-and-risks/untitled.md new file mode 100644 index 000000000..cb43f84e7 --- /dev/null +++ b/ko/security-and-risks/untitled.md @@ -0,0 +1,22 @@ +# 감사 + +{% hint style="danger" %} +OUSD 스마트 컨트렉트는 아직 감사되지 않았습니다. 다량의 자본 투자에 앞서, 스마트 컨트렉트 검토를 진행하실 것을 적극 권장합니다. +{% endhint %} + +**OUSD** + +2020년 10월 초, 이미 잘 알려진 보안 회사인 + +트레일 오프 비트(Trail of Bits>/0) 의 감사가 예정되어 있습니다. 그들의 감사 결과가 공개 되는대로 발표할 것입니다.

+ +**지원되는 전략** + +컴파운드(Compound) 에 대한 여러 감사가 이미 완료 되었으며, 해당 웹 사이트에서 사용할 수 있습니다. 여기에는 OUSD가 사용하는 수정 된 [타임락(Timelock)](../smart-contracts/api/timelock-1.md) 의 원본 코드가 포함됩니다. + +{% page-ref page="untitled.md" %} + + + + + diff --git a/ko/smart-contracts/api/README.md b/ko/smart-contracts/api/README.md new file mode 100644 index 000000000..9cfa2a3dd --- /dev/null +++ b/ko/smart-contracts/api/README.md @@ -0,0 +1,9 @@ +# API + +Documentation of contracts API used by the protocol: + +* [금고(Vault)](vault.md) +* [ERC-20](erc-20-1.md) +* [타임락(Timelock)](timelock.md) +* [Stategies](strategies.md) + diff --git a/ko/smart-contracts/api/erc-20-1.md b/ko/smart-contracts/api/erc-20-1.md new file mode 100644 index 000000000..0d17e7517 --- /dev/null +++ b/ko/smart-contracts/api/erc-20-1.md @@ -0,0 +1,16 @@ +# ERC-20 + +{% hint style="success" %} +The main ERC20 address for Origin Dollar (OUSD) is: \ **0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +OUSD is an ERC-20 compliant token with one novel property (elastic supply) that is important to understand. + +{% hint style="warning" %} +OUSD를 통합하고자 하는 지갑과 거래소는 OUSD에 대한 토큰 잔액을 캐시(cache) 하지 말아야 합니다. 이 값은 토큰 홀더에 수익률이 발생함에 따라 자주 변경되기 때문입니다. +{% endhint %} + +The biggest difference separating OUSD from your average ERC-20 token is the way OUSD's`balanceOf()` function will return a variable amount based on the total value of the vault multiplied by the holder's stake in the vault. OUSD 토큰을 통합하고자하는 지갑 그리고 거래소의 경우 이 차이를 이해하는 것이 굉장히 중요합니다. OUSD는 자주 다시 생성되므로 캐시되지 않고 실시간으로 해당 값을 가져와야 합니다. + + + diff --git a/ko/smart-contracts/api/oracle.md b/ko/smart-contracts/api/oracle.md new file mode 100644 index 000000000..7ea9488ee --- /dev/null +++ b/ko/smart-contracts/api/oracle.md @@ -0,0 +1,7 @@ +# 오라클 + +{% hint style="info" %} +관련 내용이 곧 발표됩니다. +{% endhint %} + +OUSD uses Chainlink [oracles](../../core-concepts/price-oracles.md) to secure the protocol from pricing attacks. You can [read more about our decision to work with Chainlink](https://blog.originprotocol.com/how-origin-uses-chainlink-oracles-to-secure-ousd-bff5601e840e) on the Origin blog. diff --git a/ko/smart-contracts/api/ousd.md b/ko/smart-contracts/api/ousd.md new file mode 100644 index 000000000..fac2cf618 --- /dev/null +++ b/ko/smart-contracts/api/ousd.md @@ -0,0 +1,8 @@ +# OUSD + +{% hint style="info" %} +관련 내용이 곧 발표됩니다. +{% endhint %} + + + diff --git a/ko/smart-contracts/api/strategies.md b/ko/smart-contracts/api/strategies.md new file mode 100644 index 000000000..c557c5618 --- /dev/null +++ b/ko/smart-contracts/api/strategies.md @@ -0,0 +1,14 @@ +# 전략 + +{% hint style="info" %} +Documentation coming soon. +{% endhint %} + +New strategies can be added or removed at any time to respond to new market realities and diversify risk. + +Once we migrate to decentralized governance, it is our intent for the community to propose new strategies and to vote on the appropriate weight for each strategy in the pool. We anticipate that most OUSD holders will value having some exposure to higher yield opportunities while maintaining more conservative positions for a portion of the funds. + + + + + diff --git a/ko/smart-contracts/api/timelock-1.md b/ko/smart-contracts/api/timelock-1.md new file mode 100644 index 000000000..012ccbab5 --- /dev/null +++ b/ko/smart-contracts/api/timelock-1.md @@ -0,0 +1,23 @@ +# 타임락(TimeLock) + +{% hint style="danger" %} +타임락(TimeLock) 은 모든 기능이 잘 작동하는 것들이 확인 된 후, 곧 추가됩니다. 그때 까지 컨트렉트는, 오리진(Origin) 의 5/8 멀티시그(multi-sig) 에 의해 관리됩니다. 이를 통해 중요한 문제가 발견될 경우 더 빠른 대응이 가능합니다. +{% endhint %} + +타임락 컨트렉트는 OUSD 컨트렉트에 대한 변경이 실행되기 전에 48 시간의 대기 기간을 적용합니다. The timelock can be called by our multi-sig and is the owner of our [ERC-20](../architecture.md), [Vault](vault.md), and [Strategies](strategies.md) contracts. 시간 지연(time-delaying) 관리 작업은 관리자가 손상되거나 악의적인 행동 또는 사용자가 원하지 않는 변경을 수행하는 경우, 사용자에게 OUSD를 출금(exit) 할 수있는 기회를 제공하는 것입니다. + +{% hint style="info" %} +타임락은 OUSD 보유자가 제안된 프로토콜 업그레이드에 대해 이의가있는 경우 48 시간 동안 자금을 인출할 수 있는 안전 조치입니다. +{% endhint %} + +OUSD는 오픈제플린(OpenZeppelin)에서 +감사를 받은 [컴파운드 타임락(Compound Timelock)](https://compound.finance/docs/governance)에서 약간 수정 된 버전을 사용하고 있습니다. 3 가지 주목 할만한 차이점은 다음과 같습니다:

+ +1. OUSD는 처음에 컴파운드(Compound) \ (72 시간 \) 보다 짧은 대기 시간 \ (48 시간 \) 을 사용하여 문제가 발견될 경우 더 빠른 응답을 제공합니다. +2. 48 시간이 지나면 컨트렉트 소유자뿐만 아니라 누구나 자유롭게 콜(call) 을 실행(execute) 할 수 있습니다. +3. 입금 \ (인출 또는 이체 불가) 는 48 개의 대기 기간없이 즉시 동결(frozen) 될 수 있습니다. 이것은 주요 취약점이 발견 된 경우입니다. + + + + + diff --git a/ko/smart-contracts/api/timelock.md b/ko/smart-contracts/api/timelock.md new file mode 100644 index 000000000..20e535570 --- /dev/null +++ b/ko/smart-contracts/api/timelock.md @@ -0,0 +1,15 @@ +# 시간자물쇠(Timelock) + +The timelock contract enforces a 48 hour wait period before any changes to the OUSD contracts can be executed. The timelock can be called by our multi-sig and is the owner of our [ERC-20](../architecture.md), [Vault](vault.md), and [Strategies](strategies.md) contracts. Time-delaying admin actions gives users a chance to exit OUSD if its admins become malicious, are compromised, or make a change that the users do not like. + +{% hint style="info" %} +The timelock is a safety measure that gives OUSD holders 48 hours to withdraw their funds if they have objections to any proposed upgrades to the protocol. +{% endhint %} + +OUSD is using a slightly modified version of the [Compound Timelock](https://compound.finance/docs/governance) which has been [audited by OpenZeppelin](https://blog.openzeppelin.com/compound-finance-patch-audit/). The two notable differences are: + +1. OUSD will initially use a shorter wait period (48 hours) than Compound (72 hours) to allow for a faster response if any issues are discovered. +2. Some actions, such as reallocating funds between existing strategies and freezing deposits can be called immediately by a multisig wallet without requiring the 48 waiting period. This is in case a major vulnerability is discovered. + + + diff --git a/ko/smart-contracts/api/vault.md b/ko/smart-contracts/api/vault.md new file mode 100644 index 000000000..bdde5b71c --- /dev/null +++ b/ko/smart-contracts/api/vault.md @@ -0,0 +1,184 @@ +--- +description: >- + 금고(vault) 는 프로토콜의 핵심입니다. 금고는 OUSD 토큰의 채굴 / 교환, 다양한 지원 전략 간의 자금 재조정, 보상 토큰 청산을 담당합니다. +--- + +# 금고(Vault) + +## Units + +All OUSD amounts passed or returned by the Vault methods use 18 decimal places. For example, 1 OUSD is expressed as 1000000000000000000. + +For other stable coins, the number of decimal places varies. DAI uses 18 decimal places while USDC and USDT use only 6. + +The protocol was updated in November are [currently underway](https://github.com/OriginProtocol/origin-dollar/issues/590) to increase the resolution of rebasing calculations from 18 decimals to 27 decimals. The OUSD token itself will still retain 18 decimals of precision and user balances should not change. + +## Methods‌ + +### mint() + +**`function mint(address _asset, uint256 _amount, uint256 _minimumOusdAmount)`**‌ + +Mints OUSD in exchange for a deposit of a certain `_amount` of stablecoin specified by the `_asset` parameter. The caller receives a certain amount of OUSD depending on the **exchange rate**. + +| 매개 변수 이름 | 유형 | 설명 | +| --------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | +| \_asset | address | Address of the [supported](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/core-concepts/supported-assets) stablecoin | +| \_amount | uint256 | Amount deposited, expressed in decimal units | +| \_minimumOusdAmount | uint256 | Minimum amount of OUSD the caller is willing to receive. The call to mint() reverts if the minimum is not met. | + +### mintMultiple() + +**`function mintMultiple(address[] _assets, uint256[] _amounts, uint256 _minimumOusdAmount)`**‌ + +Mints OUSD in exchange for a deposit of multiple stablecoins in a single call. Stablecoins are specified by the `_assets` array parameter and the amounts by the `_amounts` array parameter. The caller receives a certain amount of OUSD depending on the **exchange rate**. + +| 매개 변수 이름 | 유형 | 설명 | +| --------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| \_assets | address\[] | Addresses of the [supported](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/core-concepts/supported-assets) stablecoins | +| \_amounts | uint256\[] | Amounts deposited, expressed in decimal units | +| \_minimumOusdAmount | uint256 | Minimum amount of OUSD the caller is willing to receive. The call to mint() reverts if the minimum is not met. | + +{% hint style="warning" %} +On redemptions, it is the protocol and not the user that decides which stablecoin(s) are returned to the user. This decision of which coin(s) to return is based on the internal ratios of the assets that are being held in the vault.‌ +{% endhint %} + +### redeem() + +**`function redeem(uint256 _amount)`**‌ + +OUSD specified by the `_amount` parameter is redeemed in exchange for one or multiple supported stablecoins. Amount of stablecoins received depends on the **exchange rate**. + +| 매개 변수 이름 | 유형 | 설명 | +| ---------- | ------- | ----------------------------------------- | +| \_amount | uint256 | amount of OUSD expressed in decimal units | + +### redeemAll()‌ + +**`function redeemAll()`**‌ + +All OUSD in user's possession is redeemed in exchange for one or multiple supported stablecoins. Amount of stablecoins received depends on the **exchange rate**. + +### rebase() + +**`function rebase()`**‌ + +Updates the balances for all users based on the value of the assets currently stored in the vault. Returns total value of the underlying assets and strategies represented by `uint256` type.‌ + +### allocate() + +**`function allocate()`**‌ + +Moves the assets under management into their prescribed [Stategies](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/architecture/strategies) to maximize yield and diversify risk.‌ + +### totalValue() + +**`function totalValue()`**‌ + +Returns total value of underlying assets and strategies. + +| `return` name | 유형 | 설명 | +| ------------- | ------- | ------------------------------------------------ | +| value | uint256 | total value of underlying assets and strategies. | + +### checkBalance() + +**`function checkBalance(address _asset)`**‌ + +Returns the balance of an asset specified by the`_asset` parameter held in Vault and all strategies represented by `uint256` type. + +| 매개 변수 이름 | 유형 | 설명 | +| --------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | +| \_asset | address | Address of the [supported](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/core-concepts/supported-assets) stablecoin | + +### calculateRedeemOutputs() + +**`function calculateRedeemOutputs(uint256 _amount)`**‌ + +Calculate the mix of stablecoins that a `redeem` function would return when redeeming certain amount of OUSD specified by the `_amount` parameter. Returns an array of stablecoin values. + +To attribute the stablecoin values to the correct stablecoin currency this call should be used in conjunction with `getAllAssets` function that returns an array of stablecoin addresses. + +The index of an array that is returned by the `calculateRedeemOutputs` corresponds to the stablecoin address with the same index in an array returned by the `getAllAssets` function. + +| 매개 변수 이름 | 유형 | 설명 | +| ---------- | ------- | ----------------------------------------- | +| \_amount | uint256 | amount of OUSD expressed in decimal units | + +| `return` name | 유형 | 설명 | +| ------------- | ----------- | --------------------------------------------------------------------------- | +| outputs | uint256\[] | array of the amount of the stablecoin assets `redeem` function would return | + +### getAssetCount() + +**`function getAssetCount()`**‌ + +Return the number of supported stablecoin assets represented by `uint256` type.‌ + +### getAllAssets() + +**`function getAllAssets()`**‌ + +Return all assets addresses of supported stablecoin assets in order represented by `uint256` type.‌ + +### getStrategyCount()‌ + +**`function getStrategyCount()`**‌ + +Return the number of strategies active on the Vault represented by `uint256` type.‌ + +### getAPR() + +**`function getAPR()`**‌ + +Return the total annual percentage yield (APR) of the Vault and all Strategies represented by `uint256` type. Resulting number has 18 decimal places.‌ + +### isSupportedAsset() + +**`function isSupportedAsset(address _asset)`**‌ + +Return the boolean that is true if the asset specified by the `_asset` parameter is supported by the Vault. + +| 매개 변수 이름 | 유형 | 설명 | +| --------- | -- | ---------- | +| \_asset | 주소 | 스테이블 코인 주소 | + +### priceUSDMint() + +**`function priceUSDMint(string symbol)`**‌‌ + +Returns the exchange rate price of a stable coin specified by the `symbol` parameters used when minting OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| 매개 변수 이름 | 유형 | 설명 | +| -------- | ------ | ------------------------ | +| symbol | string | Symbol of the stablecoin | + +### priceUSDRedeem() + +**`function priceUSDRedeem(string symbol)`**‌‌ + +Returns the exchange rate price of a stable coin specified by the `symbol` parameters used when redeeming OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| 매개 변수 이름 | 유형 | 설명 | +| -------- | ------ | ------------------------ | +| symbol | string | Symbol of the stablecoin | + +### priceAssetUSDMint()‌ + +**`function priceAssetUSDMint(address _asset)`**‌‌ + +Returns the exchange rate price of a stable coin specified by the `_asset` parameters used when minting OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| 매개 변수 이름 | 유형 | 설명 | +| --------- | -- | -------------------------- | +| \_asset | 주소 | Address of the stablecoin‌ | + +### priceAssetUSDRedeem()‌ + +**`function priceAssetUSDRedeem(address _asset)`**‌‌‌ + +Returns the exchange rate price of a stable coin specified by the `_asset` parameters used when redeeming OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| 매개 변수 이름 | 유형 | 설명 | +| --------- | -- | ---------- | +| \_asset | 주소 | 스테이블 코인 주소 | diff --git a/ko/smart-contracts/architecture.md b/ko/smart-contracts/architecture.md new file mode 100644 index 000000000..d5e60c93c --- /dev/null +++ b/ko/smart-contracts/architecture.md @@ -0,0 +1,18 @@ +# 아키텍처(Architecture) + +![](../.gitbook/assets/ousd\_docs\_graphics\_3.png) + +OUSD는 일련의 스마트 컨트렉트로 구성됩니다. 이러한 각 계약은 거버넌스 프로토콜을 통해 업그레이드 할 수 있는 프록시 계약으로 포장됩니다. + +Internally, ownership in the vault is tracked using a credits system that represents the percent ownership of the vault for each holder. The [ERC-20](api/erc-20-1.md) contract handles the conversion to USD terms when viewing a balance or initiating a transfer between wallets. + +The [Vault](api/vault.md) is responsible for minting and burning OUSD. 또한 지원되는 각 [전략 ](../core-concepts/supported-strategies/)에 배포되는 자산의 비율도 적용합니다. To optimize gas costs, the vault may maintain a buffer to allow most deposits and redemptions to occur without winding/unwinding assets from strategies. + +The Flipper is a smart contract for users to swap in and out of OUSD cheaply for any of DAI, USDC, or USDT at a fixed 1:1 rate. This contract is used as an alternative way to route user transactions originating from the web app. It's important to note that this contract may be empty on one side (e.g., contain 0 OUSD balance), and thus sometimes provides limited swap routes. While limited in functionality, Flipper uses around 45% less gas than Uniswap v3 due to its simplicity. + +The Harvester contract collects reward tokens earned by the strategies, sells them, and sends the resulting stablecoins to the Dripper to be released to the vault. Anyone can call the harvest and earn 1% of the resulting USDT for doing so. This creates a self-incentivizing system that operates at a known fixed cost. See our [incentivized-harvesting-guide.md](../guides/incentivized-harvesting-guide.md "mention") for details. + +The Dripper contract buffers aproximately one week of reward token sales proceeds and makes it avaiable at a smooth rate to the vault. This keeps OUSD yield from being extremely spiky when harvests come in. The rate is recalculated at least once per day and is the rate that it would take to distribute the current dripper holdings out over a one week period. + + + diff --git a/ko/smart-contracts/erc-20.md b/ko/smart-contracts/erc-20.md new file mode 100644 index 000000000..02a10455b --- /dev/null +++ b/ko/smart-contracts/erc-20.md @@ -0,0 +1,12 @@ +# 아키텍처(Architecture) + +![](../.gitbook/assets/ousd_docs_graphics_3.png) + +OUSD는 일련의 스마트 컨트렉트로 구성됩니다. 이러한 각 계약은 거버넌스 프로토콜을 통해 업그레이드 할 수 있는 프록시 계약으로 포장됩니다. + +내부적으로 풀(pool) 의 소유권은 각 홀더에 대한 풀의 소유권 비율을 나타내는 크레딧 시스템을 사용하여 추적됩니다. The [ERC-20](api/erc-20-1.md) contract handles the conversion to USD terms when viewing a balance or initiating a transfer between wallets. + +The [Vault](api/vault.md) is responsible for minting and burning OUSD. 또한 지원되는 각 [전략 ](../core-concepts/supported-strategies/)에 배포되는 자산의 비율도 적용합니다. 가스 비용 최적화를 위해, 금고(Vault) 는 대부분의 예금 및 상환이 전략에서 자산을 감거나 풀지 않고 발생할 수 있도록 버퍼를 유지합니다. + + + diff --git a/ko/smart-contracts/registry.md b/ko/smart-contracts/registry.md new file mode 100644 index 000000000..7255a72f1 --- /dev/null +++ b/ko/smart-contracts/registry.md @@ -0,0 +1,156 @@ +# 레지스트리(Registry) + +다음은 이더리움(Ethereum) 메인 넷 상에 배포 된 OUSD 스마트 컨트렉트의 전체 레지스트리(registry) 입니다. + +{% hint style="success" %} +The main ERC20 address for Origin Dollar (OUSD) is: \ +**0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +{% tabs %} +{% tab title="Core" %} +Well-known addresses (proxy wrappers): + + + +| 컨트렉트 | 주소 | ENS | +| --------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------- | +| OUSD | [0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86](https://etherscan.io/address/0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86) |

ousd.eth

origindollar.eth

| +| 금고(Vault) | [0xE75D77B1865Ae93c7eaa3040B038D7aA7BC02F70](https://etherscan.io/address/0xe75d77b1865ae93c7eaa3040b038d7aa7bc02f70) | [originvault.eth](https://etherscan.io/address/originvault.eth) | + + + +Internal implementation contracts. The Vault is split into VaultAdmin and VaultCore to work around the maximum contract size limit on Ethereum: + + + +| 컨트렉트 | 주소 | +| ---------- | --------------------------------------------------------------------------------------------------------------------- | +| OUSD | [0x33db8d52d65F75E4cdDA1b02463760c9561A2aa1](https://etherscan.io/address/0x33db8d52d65F75E4cdDA1b02463760c9561A2aa1) | +| VaultAdmin | [0x3EB68D8f4992A0e34aA58cc3dF86A40814078cF6](https://etherscan.io/address/0x3EB68D8f4992A0e34aA58cc3dF86A40814078cF6) | +| VaultCore | [0x226de75867B2f785BA19600e2a7e6eFccD57157B](https://etherscan.io/address/0x226de75867B2f785BA19600e2a7e6eFccD57157B) | +{% endtab %} + +{% tab title="Strategies" %} +Well-known addresses (proxy wrappers): + + + +| Strategy | Address | Auto-Allocation | +| -------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------- | +| Aave | [0x5e3646A1Db86993f73E6b74A57D8640B69F7e259](https://etherscan.io/address/0x5e3646A1Db86993f73E6b74A57D8640B69F7e259) | Manual allocation | +| Compound | [0x9c459eeb3FA179a40329b81C1635525e9A0Ef094](https://etherscan.io/address/0x9c459eeb3FA179a40329b81C1635525e9A0Ef094) | 100% of USDC, USDT and DAI | +| Convex | [0xEA2Ef2e2E5A749D4A66b41Db9aD85a38Aa264cb3](https://etherscan.io/address/0xEA2Ef2e2E5A749D4A66b41Db9aD85a38Aa264cb3#code) | Manual allocation | + + + +Internal implementation contracts: + + + +| Strategy | Address | +| -------- | -------------------------------------------------------------------------------------------------------------------------- | +| Aave | [0xA050eBE34Be464902F7E0F7F451f4B5253d57114](https://etherscan.io/address/0xA050eBE34Be464902F7E0F7F451f4B5253d57114) | +| Compound | [0x47f3eb71b5507df5ab6ac7f8660ef282ab0e560f](https://etherscan.io/address/0x47f3eb71b5507dF5Ab6aC7F8660Ef282Ab0E560f) | +| Convex | [0x08f3a0637851aA1B0E0750aA3d46E0E356f349aC](https://etherscan.io/address/0x08f3a0637851aa1b0e0750aa3d46e0e356f349ac#code) | + + + +Yield harvesting and collection: + + + +| | | +| --------- | -------------------------------------------------------------------------------------------------------------------------- | +| Contract | Address | +| Harvester | [0x21fb5812d70b3396880d30e90d9e5c1202266c89](https://etherscan.io/address/0x21fb5812d70b3396880d30e90d9e5c1202266c89#code) | +| Dripper | [0x80c898ae5e56f888365e235ceb8cea3eb726cb58](https://etherscan.io/address/0x80c898ae5e56f888365e235ceb8cea3eb726cb58#code) | +{% endtab %} + +{% tab title="Oracles" %} +The following Chainlink oracles are used to protect the vault in case a backing stablecoin loses value. They also offer slippage protection when harvesting rewards tokens or executing the OGN buyback. + + + +| Pair | Contract | +| ------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| [USDT/USD](https://data.chain.link/ethereum/mainnet/stablecoins/usdt-usd) | [0x3E7d1eAB13ad0104d2750B8863b489D65364e32D](https://etherscan.io/address/0x3E7d1eAB13ad0104d2750B8863b489D65364e32D) | +| [USDC/USD](https://data.chain.link/ethereum/mainnet/stablecoins/usdc-usd) | [0x8fFfFfd4AfB6115b954Bd326cbe7B4BA576818f6](https://etherscan.io/address/0x8fFfFfd4AfB6115b954Bd326cbe7B4BA576818f6) | +| [DAI/USD](https://data.chain.link/ethereum/mainnet/stablecoins/dai-usd) | [0xAed0c38402a5d19df6E4c03F4E2DceD6e29c1ee9](https://etherscan.io/address/0xAed0c38402a5d19df6E4c03F4E2DceD6e29c1ee9) | +| [COMP/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/comp-usd) | [0xdbd020caef83efd542f4de03e3cf0c28a4428bd5](https://etherscan.io/address/0xdbd020caef83efd542f4de03e3cf0c28a4428bd5) | +| [AAVE/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/aave-usd) | [0x547a514d5e3769680Ce22B2361c10Ea13619e8a9](https://etherscan.io/address/0x547a514d5e3769680Ce22B2361c10Ea13619e8a9) | +| [CRV/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/crv-usd) | [0xcd627aa160a6fa45eb793d19ef54f5062f20f33f](https://etherscan.io/address/0xcd627aa160a6fa45eb793d19ef54f5062f20f33f) | +| [CVX/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/cvx-usd) | [0xd962fC30A72A84cE50161031391756Bf2876Af5D](https://etherscan.io/address/0xd962fC30A72A84cE50161031391756Bf2876Af5D) | +| [OGN/ETH](https://data.chain.link/ethereum/mainnet/crypto-eth/ogn-eth) | [0x2c881b6f3f6b5ff6c975813f87a4dad0b241c15b](https://etherscan.io/address/0x2c881b6f3f6b5ff6c975813f87a4dad0b241c15b) | +{% endtab %} + +{% tab title="Governance" %} + + +| Contract | Address | ENS | +| ------------------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------- | +| 5 of 8 Multisig | [0xbe2AB3d3d8F6a32b96414ebbd865dBD276d3d899](https://etherscan.io/address/0xbe2AB3d3d8F6a32b96414ebbd865dBD276d3d899) | [originprotocol.eth](https://etherscan.io/address/originprotocol.eth) | +| 2 of 9 Multisig | [0xF14BBdf064E3F67f51cd9BD646aE3716aD938FDC](https://etherscan.io/address/0xF14BBdf064E3F67f51cd9BD646aE3716aD938FDC) | [originstrategist.eth](https://etherscan.io/address/originstrategist.eth) | +| Governor / Timelock | [0x72426BA137DEC62657306b12B1E869d43FeC6eC7](https://etherscan.io/address/0x72426BA137DEC62657306b12B1E869d43FeC6eC7) |

origingovernor.eth

origintimelock.eth

| +| OGN Buyback | [0x77314EB392b2be47C014cde0706908b3307Ad6a9](https://etherscan.io/address/0x77314EB392b2be47C014cde0706908b3307Ad6a9) | [originbuyback.eth](https://etherscan.io/address/originbuyback.eth) | +{% endtab %} + +{% tab title="Stablecoins" %} +| Contract | Address | +| ------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| [USDT](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | [0xdac17f958d2ee523a2206206994597c13d831ec7](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | +| [USDC](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | [0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | +| [DAI](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | [0x6b175474e89094c44da98b954eedeac495271d0f](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | +{% endtab %} + +{% tab title="Staking" %} +| Contract | Address | ENS | +| ----------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- | +| OGN Staking | [0x501804B374EF06fa9C427476147ac09F1551B9A0](https://etherscan.io/address/0x501804B374EF06fa9C427476147ac09F1551B9A0) | [originstaking.eth](https://etherscan.io/address/originstaking.eth) | + + + +Internal implementation contracts: + + + +| Contract | Address | +| ----------- | --------------------------------------------------------------------------------------------------------------------- | +| OGN Staking | [0x8cd68a1e0b79150455c5498882d5d5d3df2dde08](https://etherscan.io/address/0x8cd68a1e0b79150455c5498882d5d5d3df2dde08) | + + + +OUSD compensation contract ([details](https://medium.com/originprotocol/origin-delivers-on-compensation-promise-claim-your-ousd-and-ogn-now-a9fa9b840476)): + + + +| Contract | Address | +| ----------------- | --------------------------------------------------------------------------------------------------------------------- | +| OUSD Compensation | [0x9C94df9d594BA1eb94430C006c269C314B1A8281](https://etherscan.io/address/0x9C94df9d594BA1eb94430C006c269C314B1A8281) | +{% endtab %} + +{% tab title="Flipper" %} +Flipper is a gas-optimized way for users to swap in and out of OUSD at a fixed 1:1 rate with other stablecoins. This contract may become empty on one side (e.g., contain 0 OUSD balance), and thus sometimes provides limited swap routes. + + + +| Contract | Address | ENS | +| -------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- | +| Flipper | [0xcecaD69d7D4Ed6D52eFcFA028aF8732F27e08F70](https://etherscan.io/address/0xcecaD69d7D4Ed6D52eFcFA028aF8732F27e08F70) | [originflipper.eth](https://etherscan.io/address/originflipper.eth) | +{% endtab %} + +{% tab title="Wrapped" %} +Wrapped OUSD\ +\ **Well known proxy address:** - [0xD2af830E8CBdFed6CC11Bab697bB25496ed6FA62](https://etherscan.io/address/0xD2af830E8CBdFed6CC11Bab697bB25496ed6FA62) + +Internal implementation address - [0xbf3b9b141cb3629f5bb8f721cba9265c92494539](https://etherscan.io/address/0xbf3b9b141cb3629f5bb8f721cba9265c92494539) +{% endtab %} +{% endtabs %} + + + + + + + + diff --git a/nl/README.md b/nl/README.md new file mode 100644 index 000000000..b1ba55086 --- /dev/null +++ b/nl/README.md @@ -0,0 +1,29 @@ +--- +description: De eerste stabiele munt die een opbrengst verdient terwijl deze nog in je portemonnee zit +--- + +# Intro + +## **Een betere vorm van geld** + +Origin Dollar (OUSD) is a new stablecoin that was initially launched in September 2020 on the Ethereum network. Het ontwerp is vele malen beter dan bestaande stabiele munten doordat OUSD concurrerende opbrengsten behaalt, terwijl het passief in je portefeuilles wordt gehouden. + +![](.gitbook/assets/origin-dollar-summary.jpeg) + +**Achtergrond** + +In 1999, Yu Pan, Origin’s R\&D engineer, and his fellow PayPal co-founders [conceived](https://www.cnbc.com/2017/08/14/david-sacks-cryptocurrency-interview.html) of creating “the new world currency”, complete with interest yielding strategies and debit cards without having to connect to traditional banking systems. Several pivots and an eBay acquisition later, PayPal dropped its ambitions in this area. + +Almost two decades later, Tether introduced the concept of a USD-denominated stablecoin in 2014. Since then, stablecoins have proven themselves as an ideal way of transferring value without exposing users to the price volatility of free-floating currencies. Today, more value is [transferred via Tether](https://www.bloomberg.com/news/articles/2019-10-01/tether-not-bitcoin-likely-the-world-s-most-used-cryptocurrency) than with Bitcoin. Meanwhile, Decentralized Finance (DeFi) has experienced an explosion of growth with [billions of dollars](https://defipulse.com) of capital now locked up in smart contracts that generate yields from lending and trading protocols. + +One of the problems with existing stablecoins is that users have to constantly choose between holding an easily spendable coin and earning yields by locking their tokens up in smart contracts. For example, users that lock up USDC in Aave cannot spend a portion of that USDC simultaneously. Expensive Ethereum gas fees serve as "switching costs" each time those users want to switch between spending mode and earning mode. + +To make matters worse, yields from lending and trading activities change rapidly. Sophisticated DeFi yield earners are familiar with constantly having to rebalance their portfolio of assets across many competing platforms. This is time-consuming and expensive as gas fees once again eat into yields. In addition, it is time-consuming to calculate real ROI as APYs are unstable and constantly fluctuating. There isn't an easy unit of account. As a result, while DeFi is growing extremely rapidly, it still makes it difficult for many cryptocurrency users to participate. + +With OUSD, there’s no need to unwind complicated positions when you want to spend your OUSD. You can transfer it freely without having to pay gas to unlock spendable capital. In addition, OUSD gives you access to some of the highest-earning opportunities across DeFi with none of the hassles. The OUSD smart contract will deploy your underlying capital to a diversified set of yield-earning strategies, rebalancing over time to achieve great yields while diversifying risk. Earnings automatically accrue in your wallet and compound continuously while you hold OUSD. Again, no staking or lockups are required. OUSD also serves as an ideal unit of account. DeFi investors no longer need complicated spreadsheets to calculate their earnings as they can easily see their constantly updated OUSD balances in real-time as their interest compounds automatically. OUSD is an ideal stablecoin for DeFi yield farmers and novice cryptocurrency users alike. + +Created by cryptocurrency and fintech veterans, the Origin Dollar is brought to you by the [team](https://www.originprotocol.com/team) at [Origin Protocol](https://www.originprotocol.com) that includes serial entrepreneurs, early cryptocurrency investors, early employees at YouTube, engineering managers at Google/Dropbox, and one of the Paypal co-founders, Yu Pan. + +For those interested in diving into the technical details of how it works, these docs are a great place to start. We encourage developers to audit and contribute to our [Github](http://www.github.com/OriginProtocol) (100% open-source). Our team hangs out in [Discord](https://www.originprotocol.com/discord) if you have questions or need help getting started. + +Welcome to the future of money. diff --git a/nl/SUMMARY.md b/nl/SUMMARY.md new file mode 100644 index 000000000..a389e6c18 --- /dev/null +++ b/nl/SUMMARY.md @@ -0,0 +1,64 @@ +# Table of contents + +* [Introducing OUSD](README.md) +* [How It Works](how-it-works.md) +* [Getting Started](getting-started.md) +* [Analytics Dashboard](analytics-dashboard.md) +* [FAQ](faq.md) + +## Core Concepts + +* [Elastic Supply](core-concepts/elastic-supply/README.md) + * [Rebasing & Smart Contracts](core-concepts/elastic-supply/rebasing-and-smart-contracts.md) +* [Yield Generation](core-concepts/yield-generation/README.md) + * [Lending](core-concepts/yield-generation/lending.md) + * [Market Making](core-concepts/yield-generation/market-making.md) + * [Rewards](core-concepts/yield-generation/rewards.md) +* [Wrapped OUSD](core-concepts/wrapped-ousd.md) +* [Supported Stablecoins](core-concepts/supported-stablecoins/README.md) + * [USDT](core-concepts/supported-stablecoins/usdt.md) + * [USDC](core-concepts/supported-stablecoins/usdc.md) + * [DAI](core-concepts/supported-stablecoins/dai.md) +* [Supported Strategies](core-concepts/supported-strategies/README.md) + * [Compound](core-concepts/supported-strategies/compound.md) + * [Aave](core-concepts/supported-strategies/aave.md) + * [Curve](core-concepts/supported-strategies/curve.md) + * [Convex](core-concepts/supported-strategies/convex.md) +* [Fund Management](core-concepts/fund-management.md) +* [Price Oracles](core-concepts/price-oracles.md) + +## Governance + +* [Principles](governance/principles.md) +* [Admin Privileges](governance/admin-privileges.md) +* [OGN Staking](governance/ogn-staking.md) +* [Contributing](governance/contributing.md) +* [Vote Delegation](governance/vote-delegation.md) + +## Smart Contracts + +* [Architecture](smart-contracts/architecture.md) +* [Registry](smart-contracts/registry.md) +* [API](smart-contracts/api/README.md) + * [Vault](smart-contracts/api/vault.md) + * [ERC-20](smart-contracts/api/erc-20-1.md) + * [Timelock](smart-contracts/api/timelock.md) + * [Strategies](smart-contracts/api/strategies.md) + +## Security & Risks + +* [Risks](security-and-risks/risks.md) +* [Audits](security-and-risks/audits.md) +* [Insurance](security-and-risks/insurance.md) +* [Bug Bounties](security-and-risks/bug-bounties.md) + +## Guides + +* [Integration Guide For Exchanges](guides/integration-guide-for-exchanges.md) +* [Incentivized Harvesting Guide](guides/incentivized-harvesting-guide.md) + +## Links + +* [Github](https://www.github.com/originprotocol/origin-dollar) +* [Discord](https://www.originprotocol.com/discord) +* [originprotocol.com](https://www.originprotocol.com) diff --git a/nl/analytics-dashboard.md b/nl/analytics-dashboard.md new file mode 100644 index 000000000..9c3e6a577 --- /dev/null +++ b/nl/analytics-dashboard.md @@ -0,0 +1,31 @@ +# Analytics Dashboard + +{% hint style="info" %} +Visit [analytics.ousd.com](https://analytics.ousd.com) to see how funds are allocated, view historical performance data, and track your personal gains. +{% endhint %} + +The [APY dashboard](https://analytics.ousd.com/apy) is primarily intended for consumption by our engineering team, but we went ahead and deployed it since our ethos is "public by default" and everything that we do is [open-source](http://github.com/OriginProtocol). Unfortunately, that often means erring on the side of transparency and not necessarily the side of taking the time to explain things clearly. + +Before diving into the yield calculation, it's important to understand how OUSD works both in terms of [yield generation](https://docs.ousd.com/core-concepts/yield-generation) and [rebasing](https://docs.ousd.com/core-concepts/elastic-supply). You can read all about that in these [docs](https://docs.ousd.com), including [the part about smart contracts being excluded from yield](https://docs.ousd.com/core-concepts/elastic-supply/rebasing-and-smart-contracts). + +To summarize how APY is calculated, it's the annualized rate of change in OUSD's internal accounting of users' balances between two points in time. To understand that, let's break down the columns in the historical APY table (in reverse order). + +**Ratio** + +There are two types of OUSD balances: rebasing (most accounts) and non-rebasing (smart contracts that have not opted in). The OUSD token contract maintains a separate internal accounting for each type of balance using what it calls "credits". The ratio shown here is the rebasing supply of OUSD divided by the rebasing credits, which gives us the exchange rate between the two. + +**Credits** + +Some smart contracts holding OUSD have unique credit balances because their rebasing status has changed at some point in the past (by opting in or out). Here we show the sum of all rebasing credits and non-rebasing credits. When multiplied by the ratio, it gives the difference between backing supply and non-rebasing supply. + +**Non-rebasing** + +This is the portion of supply held in other smart contracts that have not opted in to rebasing. When added to (credits \* ratio), this equals backing supply. Note also that the **%** column shows the percentage of OUSD that is non-rebasing. + +**Boost** + +The APY is effectively "boosted" for rebasing accounts thanks to the fact that some OUSD is non-rebasing. Think about all of the stablecoins that were used as collateral to mint the non-rebasing OUSD. Those stablecoins are still earning through our yield farming strategies, but the gains are accruing only to the rebasing accounts. The result is that the effective APY is higher than it would be without this mechanism. The boost is the measure of this difference. If boost is 100%, then regular OUSD holders are enjoying double the APY that they otherwise would. + +**APR/APY calculation** + +Bringing this full circle, we currently measure yield by measuring the change in the [rebasing credits per token](https://github.com/OriginProtocol/origin-dollar/blob/master/contracts/contracts/token/OUSD.sol#L45) between two points in time. But there are a few other considerations to note. First, we have to make an assumption about how many Ethereum blocks are mined on an average day. We use a [fixed 6,500](https://github.com/OriginProtocol/ousd-analytics/blob/master/eagleproject/core/views.py#L43), but the actual number of blocks per day is variable. Second, we need a reasonable time horizon to measure. We focus on 30 days, which has proven to be a relatively consistent window of time during which a complete sample of yield-generating activities has occurred. Third, we convert APR into APY by assuming [constant daily compounding](https://github.com/OriginProtocol/ousd-analytics/blob/master/eagleproject/core/views.py#L449-L451). In other words, yield is constantly being reinvested into the same strategies. Finally, there is one notable drawback to using the rebase ratio to measure yield. Since rebase events currently occur sporadically (and not very frequently in a world of high gas prices), the APY won't reflect earnings that have not yet been translated to account balances. For example, there could be an interest rate spike in Compound or a volume spike in the Curve 3pool strategy, which would cause OUSD to earn more than it does on an average day. Until [the rebase method](https://github.com/OriginProtocol/origin-dollar/blob/master/contracts/contracts/vault/VaultCore.sol#L365-L370) gets called, the APY will underreport these earnings. In fact, anyone who sells OUSD during that time would be missing out on the "[next rebase](https://analytics.ousd.com)". The good news is that you should be able to observe the change in your balance over one week and it (annualized) should approximately equal our advertised APY. diff --git a/nl/architecture/erc-20-1.md b/nl/architecture/erc-20-1.md new file mode 100644 index 000000000..a9caff400 --- /dev/null +++ b/nl/architecture/erc-20-1.md @@ -0,0 +1,19 @@ +# ERC-20 + +{% hint style="success" %} +The main ERC20 address for Origin Dollar \(OUSD\) is: +**0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +OUSD is an ERC-20 compliant token with one novel property that is important to understand. + +{% hint style="warning" %} +Wallets and exchanges that wish to integrate OUSD should not cache token balances for OUSD as this value will change frequently as yield is accrued to token holders. +{% endhint %} + +The biggest difference separating OUSD from your average ERC-20 token is the way OUSD's`balanceOf()` function will return a variable amount based on the total value of the pool multiplied by the holder's stake in the pool. This difference is vital to understand, particularly for wallets and exchanges that wish to integrate the OUSD token. This value should be fetched in real-time instead of being cached since OUSD rebases frequently. + + + + + diff --git a/nl/architecture/erc-20.md b/nl/architecture/erc-20.md new file mode 100644 index 000000000..9a789241b --- /dev/null +++ b/nl/architecture/erc-20.md @@ -0,0 +1,12 @@ +# Overview + +![](../.gitbook/assets/ousd_docs_graphics_3.png) + +OUSD is made up of a series of smart contracts. Each of these contracts is wrapped in a proxy contract that can be upgraded via the governance protocols. + +Internally, ownership in the pool is tracked using a credits system that represents the percent ownership of the pool for each holder. The ERC-20 contract handles the conversion to USD terms when viewing a balance or initiating a transfer between wallets. + +The Vault is responsible for minting and burning OUSD. It also enforces the percentage of assets that are deployed to each of the supported [Strategies](../core-concepts/supported-strategies/). To optimize gas costs, the vault maintains a buffer to allow most deposits and redemptions to occur without winding/unwinding assets from strategies. + + + diff --git a/nl/architecture/strategies.md b/nl/architecture/strategies.md new file mode 100644 index 000000000..3133d5b03 --- /dev/null +++ b/nl/architecture/strategies.md @@ -0,0 +1,14 @@ +# Strategies + +New strategies can be added or removed at any time to respond to new market realities and diversify risk. + +At launch, OUSD will take advantage of a single strategy and deploy deposited capital to Compound. We intend to deploy many other strategies soon thereafter. + +Once we migrate to decentralized governance, it is our intent for the community to propose new strategies and to vote on the appropriate weight for each strategy in the pool. We anticipate that most OUSD holders will value having some exposure to higher yield opportunities while maintaining more conservative positions for a portion of the funds. + + + + + + + diff --git a/nl/architecture/timelock.md b/nl/architecture/timelock.md new file mode 100644 index 000000000..b26b30f1c --- /dev/null +++ b/nl/architecture/timelock.md @@ -0,0 +1,22 @@ +# Timelock + +{% hint style="danger" %} +The timelock will be added soon after everything is verified as working. Until then, the contracts will be governed by Origin's 5 of 8 multi-sig. This allows for a faster response if any critical issues are discovered. +{% endhint %} + +The timelock contract enforces a 48 hour wait period before any changes to the OUSD contracts can be executed. The timelock can be called by our multi-sig and is the owner of our [ERC-20](erc-20.md), [Vault](vault.md), and [Strategies](strategies.md) contracts. Time-delaying admin actions gives users a chance to exit OUSD if its admins become malicious, are compromised, or make a change that the users do not like. + +{% hint style="info" %} +The timelock is a safety measure that gives OUSD holders 48 hours to withdraw their funds if they have objections to any proposed upgrades to the protocol. +{% endhint %} + +OUSD is using a slightly modified version of the [Compound Timelock](https://compound.finance/docs/governance) which has been [audited by OpenZeppelin](https://blog.openzeppelin.com/compound-finance-patch-audit/). The 3 notable differences are: + +1. OUSD will initially use a shorter wait period \(48 hours\) than Compound \(72 hours\) to allow for a faster response if any issues are discovered. +2. Once the 48 hours have passed, anyone is free to execute the call, not just the owner of the contract. +3. Deposits \(but not withdrawals or transfers\) can be immediately frozen without requiring the 48 waiting period. This is in case a major vulnerability is discovered. + + + + + diff --git a/nl/architecture/vault.md b/nl/architecture/vault.md new file mode 100644 index 000000000..ebb2a96dc --- /dev/null +++ b/nl/architecture/vault.md @@ -0,0 +1,17 @@ +# Vault + +The vault is at the core of the protocol. The vault is responsible for minting/redeeming OUSD tokens, rebalancing funds between the various supported strategies, and liquidating rewards tokens. + +The most important publicly callable functions on the Vault are: + +* `mint()`allows a single supported stablecoin to be converted to OUSD +* `mintMultiple()`allows multiple supported stablecoins to be converted to OUSD in a single call +* `redeem()`allows a specified amount of OUSD to be redeemed for other supported stablecoins. +* `redeemAll()`allows a user to redeem their entire balance of OUSD for other supported stablecoins. This is particularly useful since user balances are constantly growing as yield is accrued. +* `rebase()`updates the balances for all users based on the value of the assets currently stored in the pool. +* `allocate()`moves the assets under management into their prescribed [Stategies](strategies.md) to maximize yield and diversify risk. + +On redemptions, it is the protocol and not the user that decides which stablecoin\(s\) to return to the user. This decision of which coin\(s\) to return is based on the internal ratios of the assets that are being held in the pool. + + + diff --git a/nl/core-concepts/elastic-supply.md b/nl/core-concepts/elastic-supply.md new file mode 100644 index 000000000..2cf0fd8ae --- /dev/null +++ b/nl/core-concepts/elastic-supply.md @@ -0,0 +1,18 @@ +# Elastic Supply + +**Elastic Supply. Stable Price.** + +OUSD works differently than most tokens. Instead of the price increasing as the value of the assets under management increase \(as with Compound cTokens or Yearn yTokens\), the value of one OUSD remains constant at approximately $1. Instead, the contracts constantly adjust the monetary supply and automatically updates the balance in every token holder’s wallet to reflect the yield that has been earned by the protocol. + +{% hint style="info" %} +Think of it as interest accruing in your bank account. The unit of account and value for the US dollar doesn’t change. You just get more US dollars over time as you earn interest. +{% endhint %} + +![](../.gitbook/assets/ousd_docs_graphics_4.png) + +This mechanism was inspired by the novel approach taken by [Ampleforth](https://www.ampleforth.org/), but there are some key differences that are worth highlighting: + +1. OUSD is 100% backed by other stablecoins and will not have the same challenge maintaining the peg to the dollar. Given the ease of minting and redeeming OUSD, we can count on arbitrageurs to ensure the peg is maintained. +2. OUSD rebasing should only increase supply since the amount of OUSD minted is tied to the realized gains earned by the underlying strategies. Your principal is protected as long as nothing goes wrong with the underlying lending/AMM and stablecoin protocols. Any decrease in your balance would be an indication of trouble in the system. +3. Unlike Ampleforth, which rebases once a day, the monetary supply of OUSD is constantly being updated in real-time as yield is generated. + diff --git a/nl/core-concepts/elastic-supply/README.md b/nl/core-concepts/elastic-supply/README.md new file mode 100644 index 000000000..a681d0615 --- /dev/null +++ b/nl/core-concepts/elastic-supply/README.md @@ -0,0 +1,21 @@ +# Elastic Supply + +**Elastic Supply. Stable Price.** + +OUSD works differently than most tokens. Instead of the price increasing as the value of the assets under management increase (as with Compound cTokens or Yearn yTokens), the value of one OUSD remains constant at approximately $1. Instead, the contracts constantly adjust the monetary supply and automatically updates the balance in every token holder’s wallet to reflect the yield that has been earned by the protocol. + +{% hint style="info" %} +Think of it as interest accruing in your bank account. The unit of account and value for the US dollar doesn’t change. You just get more US dollars over time as you earn interest. +{% endhint %} + +![](../../.gitbook/assets/ousd\_docs\_graphics\_4.png) + +This mechanism was inspired by the novel approach taken by [Ampleforth](https://www.ampleforth.org), but there are some key differences that are worth highlighting: + +1. OUSD is 100% backed by other stablecoins and does not have the same challenge maintaining the peg to the dollar. Given the ease of minting and redeeming OUSD, we can count on arbitrageurs to ensure the peg is maintained. +2. OUSD rebasing will only increase supply since the amount of OUSD minted is tied to the realized gains earned by the underlying strategies. Your principal is protected as long as nothing goes wrong with the underlying lending/AMM and stablecoin protocols. Your OUSD balance will never decrease, but the value could drop if there's a failure in the underlying systems. +3. Unlike Ampleforth, which only rebases once a day, the monetary supply of OUSD is constantly being updated in real-time as yield is generated. Rebases are triggered regularly as users interact with the OUSD contracts. Chainlink Keepers ensure at least one rebase occurs every day. + +**Manually triggering a rebase** + +Anyone can trigger a rebase at any time by [calling the rebase function on the vault](https://etherscan.io/address/originvault.eth#writeProxyContract). You can do this on Etherscan by connecting a web3 wallet. diff --git a/nl/core-concepts/elastic-supply/rebasing-and-smart-contracts.md b/nl/core-concepts/elastic-supply/rebasing-and-smart-contracts.md new file mode 100644 index 000000000..cdebbc4bf --- /dev/null +++ b/nl/core-concepts/elastic-supply/rebasing-and-smart-contracts.md @@ -0,0 +1,22 @@ +# Rebasing & Smart Contracts + +If you are using a multi-sig wallet or another smart contract that wishes to participate in the rebasing aspect of OUSD you must call OUSD’s`rebaseOptIn()` function. This only applies to smart contracts as standard EOA wallets are enrolled automatically. + +{% hint style="info" %} +Multi-sig wallets or other smart contracts must call`rebaseOptIn()`to earn yield. +{% endhint %} + +By default, OUSD that is held on smart contracts will not participate in the rebasing nature of the token and will forfeit any yield unless the smart contract explicitly opts-in. This increases the composability of OUSD within DeFi as many protocols weren't designed with the expectation that balances might change. To other DeFi protocols, OUSD works just like any other normal, well-behaved ERC-20 until you ask it to change. This is a particularly useful attribute for automated market makers (AMM’s) like Uniswap which break when the number of tokens they are holding changes unexpectedly. + +![The Gnosis Safe OUSD app will prompt you to opt in to yield](../../.gitbook/assets/ousd-app-in-gnosis-safe.png) + +Smart contracts must explicitly opt-in to receiving yield via the rebasing mechanism. This fixes the issue with the expanding supply on AMM’s while still allowing multi-sig wallets and other smart contracts the opportunity to still participate and earn yield. + +{% hint style="warning" %} +If you are deploying a contract and intend to call`rebaseOptIn()`to earn yield you cannot call it from the contract's constructor. The contract must be deployed before it can be called. +{% endhint %} + +[Gnosis Safe](https://gnosis-safe.io) users are encouraged to use the Origin Dollar app which will prompt you to opt in to receiving yield. If you are using the "Old" [Gnosis Wallet](https://github.com/gnosis/MultiSigWallet) or another contract-based wallet, you will need the [proxy contract address for OUSD](../../smart-contracts/registry.md) and the corresponding [ABI](https://api.etherscan.io/api?module=contract\&action=getabi\&address=0x1ae95dd4eeae7ed03da79856c2d44ffa3318f805). Once you add those, you will be able to call the `rebaseOptIn()` function to opt into receiving yield via rebasing or`rebaseOptOut()` to turn it off again. + + + diff --git a/nl/core-concepts/fund-management.md b/nl/core-concepts/fund-management.md new file mode 100644 index 000000000..d6b1920c5 --- /dev/null +++ b/nl/core-concepts/fund-management.md @@ -0,0 +1,23 @@ +# Fund Management + +The OUSD smart contract aggregates all users' stablecoin deposits into a single pool of assets that are then deployed into earning strategies based on preset allocations. In contrast to Yearn Vaults, TokenSets, or Zapper opportunities, users do not select individual strategies. All deposited stablecoins and consequently all OUSD tokens are fungible. + +The weighting of how assets are distributed between the supported strategies is decided by OGN holders using weekly snapshot voting. These votes happen offchain and do not cost any gas. The results of the weekly poll will then be executed onchain by members of the [Strategist multi-sig](https://etherscan.io/address/0xF14BBdf064E3F67f51cd9BD646aE3716aD938FDC) (known as "Strategists"). + +Ultimately, we believe it should be up to the community to decide what the right balance of risk/reward is appropriate for OUSD. We encourage the community to favor high-yield strategies while still maintaining diversification across multiple strategies to remove single points of failure and minimize risk. + +**How strategy allocation voting works:** + +* New snapshot proposals will open for voting on the [OGN governance portal ](http://vote.originprotocol.com)at midnight Tuesday UTC (7pm eastern Monday). The poll will be open for 48 hours, ending at midnight Thursday UTC (7pm eastern on Wednesday). +* During this time, those interested can discuss allocation changes in a thread in the #governance channel on [Origin's Discord](https://www.originprotocol.com/discord). +* Each proposal will use "weighted voting", with options for each coin/strategy combination and an option to keep the existing allocation unchanged. OGN holders can spread their votes among different listed strategies or the existing allocation. +* After the voting time has ended, Strategists will submit, verify, and execute transactions to change OUSD to the determined allocation percentages for the week. If more than 50% of the weighted votes are cast for the existing allocation, Strategists will take no action. +* Allocations will be executed for strategies that use all stablecoins first (like Convex), then each stablecoin will be allocated to the remaining strategies according to the ratio of votes for that stablecoin / strategy combination. +* If the Strategists deem any of the allocations unsafe to the funds behind OUSD, they may choose to not execute those. In addition, Strategists may decline to execute minor adjustments where the gas costs would be greater than the expected benefits. +* Like all governance proposals, Strategist allocations must meet the minimum quorum requirements (currently 1M OGN) to be considered valid. +* From a security standpoint, it is important to know that while Strategists have the ability to move funds between approved strategies or instantly pause rebasing in the case of an emergency, Strategists do not have the power to add new strategies or withdraw funds without going through the timelock. Community members can use the Strategy Validator tools to more easily [create](https://analytics.ousd.com/strategist/creator) and [decode](https://analytics.ousd.com/strategist) which actions are being performed by the Strategists. +* When voting, please remember it is inefficient to move in and out of the Convex strategy frequently and some funds need to always remain outside of Convex in order to accommodate withdrawals. + + + +**** diff --git a/nl/core-concepts/fund-management/README.md b/nl/core-concepts/fund-management/README.md new file mode 100644 index 000000000..4f6287602 --- /dev/null +++ b/nl/core-concepts/fund-management/README.md @@ -0,0 +1,6 @@ +# Fund Management + +The OUSD smart contract aggregates all users' stablecoin deposits into a single pool of investable assets. Funds are then allocated across one or more [earning strategies](earning-strategies.md) at any given moment in time. The Vault favors high-yield strategies but also seeks to maintain diversification across multiple strategies. Diversification removes single points of failures and mitigates risks. + +In contrast to Yearn Vaults, TokenSets, or Zapper opportunities, users do not select individual strategies. All deposited stablecoins and consequently all OUSD tokens are fungible. + diff --git a/nl/core-concepts/fund-management/diversification.md b/nl/core-concepts/fund-management/diversification.md new file mode 100644 index 000000000..3d98a522e --- /dev/null +++ b/nl/core-concepts/fund-management/diversification.md @@ -0,0 +1,8 @@ +# Diversification + +The initial version of the OUSD Vault smart contract gives each valid strategy a simple weight between 0% and 100% to perform simple asset allocation. These weights will be shifted often via updates by Origin in the short-term and by decentralized governance in the long-term. + +Diversification across multiple underlying DeFi [platforms](../supported-strategies/) will reduce smart contract and other systemic risks. The smart contract will calculate current and expected APYs in an effort to provide competitive returns to OUSD holders. Over time, the Vault contract will be upgraded to intelligently and autonomously shift between strategies without any manual intervention. For example, the Vault will automatically shift capital between various lending strategies to optimize for yields. + +However, it is still expected that certain risk parameters or decisions on whether certain strategies will be included in the automated decision-making engine will be made through governance votes. + diff --git a/nl/core-concepts/fund-management/earning-strategies.md b/nl/core-concepts/fund-management/earning-strategies.md new file mode 100644 index 000000000..0fb0111e4 --- /dev/null +++ b/nl/core-concepts/fund-management/earning-strategies.md @@ -0,0 +1,6 @@ +# Earning Strategies + +Earning strategies put deployed capital to work across various DeFi platforms. The Vault will determine which strategies are active and what percentage of deployed capital they will receive. + +In addition, strategies will be upgraded over time. For example, at launch, there will be an initial [Compound strategy](../supported-strategies/compound.md). Over time, this may be replaced by a v2 or v3 Compound strategy. + diff --git a/nl/core-concepts/price-oracles.md b/nl/core-concepts/price-oracles.md new file mode 100644 index 000000000..1b08c685f --- /dev/null +++ b/nl/core-concepts/price-oracles.md @@ -0,0 +1,38 @@ +- - - +description: OUSD uses Chainlink to secure the protocol from pricing attacks +- - - + +# Price Oracles + +### Stablecoin Pricing + +OUSD is designed to stay pegged at 1 USD and be 1:1 backed with its underlying stablecoins. This is trickier than it sounds because these underlying stablecoins are constantly deviating from their own desired 1 USD pegs. While the majority of daily fluctuations are minor, there have been major swings in price that have occurred in the past and are likely to occur again in the future. + +| Coin | **Low** | **High** | **Delta** | **Source** | +| ---- | ---------------------------------------------------- | ---------------------------------------------------- | --------- | --------------------------------------------------------------------------- | +| USDC |

$0.929222

Mar 13, 2020

|

$1.11

Oct 15, 2018

| $0.180778 | [CoinMarketCap](https://coinmarketcap.com/currencies/usd-coin/) | +| USDC |

$0.924188

Aug 02, 2020

|

$1.17

May 08, 2019

| $0.245812 | [CoinGecko](https://www.coingecko.com/en/coins/usd-coin) | +| DAI |

$0.945505

May 10, 2020

|

$1.11

Mar 13, 2020

| $0.164495 | [CoinMarketCap](https://coinmarketcap.com/currencies/multi-collateral-dai/) | +| DAI |

$0.903243

Nov 25, 2019

|

$1.22

Mar 13, 2020

| $0.316757 | [CoinGecko](https://www.coingecko.com/en/coins/dai) | +| USDT |

$0.849809

Feb 02, 2017

|

$1.21

May 27, 2017

| $0.360191 | [CoinGecko](https://www.coingecko.com/en/coins/tether) | +| USDT |

$0.572521

Mar 02, 2015

|

$1.32

Jul 24, 2018

| $0.747479 | [CoinMarketCap](https://coinmarketcap.com/currencies/tether/) | + +The rebasing function treats 1 stablecoin as 1 OUSD for simplicity and to protect OUSD balances from being affected by the daily fluctuations in the price of the underlying stablecoins. Since the rebase function only counts coins, OUSD balances should only increase. + +In order to mint and redeem the appropriate number of OUSD on entry and exit, the smart contracts need to accurately price the USDT, USDC, and DAI that is entering and exiting the system. + +As an added precaution, OUSD never pays more than a dollar for a stablecoin, nor sells a stablecoin for less than a dollar. Oracles giving wrong prices will not result in a reduction of the number of stablecoins held. Gains that are collected as a result of stablecoins slipping from their peg are redistributed to the remaining holders of OUSD in the form of additional yield. + +As a decentralized protocol, OUSD must rely on non-centralized sources for these prices. OUSD uses Chainlink oracles for pricing data for DAI, USDC and USDT. You can read more about [our decision to work with Chainlink](https://blog.originprotocol.com/how-origin-uses-chainlink-oracles-to-secure-ousd-bff5601e840e) on our blog. Here are the Chainlink oracles we are currently using for stablecoin pricing: + +{% embed url="https://data.chain.link/usdt-usd" %} + +{% embed url="https://data.chain.link/usdc-usd" %} + +{% embed url="https://data.chain.link/dai-usd" %} + +### Reward Token Oracles & Front Running Protection + +When reward tokens from OUSD strategies are sold for additional yield, Chainlink oracles are checked to ensure that the sale price slippage has not exceeded normal bounds. These oracles are listed on our [registry](../smart-contracts/registry.md) page under the "Oracles" tab. + +The same is also true for OGN buybacks from OUSD yield.\ \ When minting and redeeming OUSD, a miniumun required amount can be passed into the contract call to ensure that the entire transaction fails if not enough OUSD or stablecoins would be returned to the user due to changing prices. diff --git a/nl/core-concepts/price-oracles/README.md b/nl/core-concepts/price-oracles/README.md new file mode 100644 index 000000000..58ed68ed4 --- /dev/null +++ b/nl/core-concepts/price-oracles/README.md @@ -0,0 +1,126 @@ +# Price Oracles + +OUSD is designed to stay pegged at 1 USD and be 1:1 backed with its underlying stablecoins. This is trickier than it sounds because these underlying stablecoins are constantly deviating from their own desired 1 USD pegs. While the majority of daily fluctuations are minor, there have been major swings in price that have occurred in the past and are likely to occur again in the future. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CoinLow + High + Delta + Source +
USDC +

$0.929222

+

Mar 13, 2020

+
+

$1.11

+

Oct 15, 2018

+
$0.180778CoinMarketCap +
USDC +

$0.924188

+

Aug 02, 2020

+
+

$1.17

+

May 08, 2019

+
$0.245812CoinGecko +
DAI +

$0.945505

+

May 10, 2020

+
+

$1.11

+

Mar 13, 2020

+
$0.164495CoinMarketCap +
DAI +

$0.903243

+

Nov 25, 2019

+
+

$1.22

+

Mar 13, 2020

+
$0.316757CoinGecko +
USDT +

$0.849809

+

Feb 02, 2017

+
+

$1.21

+

May 27, 2017

+
$0.360191CoinGecko +
USDT +

$0.572521

+

Mar 02, 2015

+
+

$1.32

+

Jul 24, 2018

+
$0.747479CoinMarketCap +
+ +The rebasing function treats 1 stablecoin as 1 OUSD for simplicity and to protect OUSD balances from being affected by the daily fluctuations in the price of the underlying stablecoins. Since the rebase function only counts coins, OUSD balances should only increase. + +In order to mint and redeem the appropriate number of OUSD on entry and exit, the smart contracts need to accurately price the USDT, USDC, and DAI that is entering and exiting the system. As a decentralized protocol, OUSD must rely on non-centralized sources for these prices. + +{% hint style="info" %} +OUSD fetches the price from multiple on-chain oracles and uses the exchange rate that is most advantageous for the vault when minting or redeeming. +{% endhint %} + +In order to prevent malicious attacks and to encourage long-term investors over short-term speculators, the OUSD contract compares price feeds from multiple sources and will use whichever exchange rate benefits the entire vault over the individual. This mechanism protects the vault funds from arbitrageurs and prevents any individual from being able to take advantage of any temporary inefficiencies caused by mispriced oracles to deplete the shared pool of assets. + +This protects the funds in the vault while rewarding long-term holders. Since the safest price depends on the direction of the trade, the Origin oracle exposes both a `priceUSDMint()` and a `priceUSDRedeem()`. + +OUSD uses Chainlink as oracle for DAI, USDC and USDT. + +{% embed url="https://feeds.chain.link/eth-usd" caption="" %} + +The specific smart contract address for each oracle being used are listed on our [registry](../../smart-contracts/registry.md) page. + +It is possible that additional oracles will be added to the protocol over time. Support may also be removed if any of these oracles become unreliable. + diff --git a/nl/core-concepts/price-oracles/untitled.md b/nl/core-concepts/price-oracles/untitled.md new file mode 100644 index 000000000..7a413944b --- /dev/null +++ b/nl/core-concepts/price-oracles/untitled.md @@ -0,0 +1,25 @@ +# Untitled + +## Getting Super Powers + +Becoming a super hero is a fairly straight forward process: + +``` +$ give me super-powers +``` + +{% hint style="info" %} + Super-powers are granted randomly so please submit an issue if you're not happy with yours. +{% endhint %} + +Once you're strong enough, save the world: + +{% code title="hello.sh" %} +```bash +# Ain't no code for that yet, sorry +echo 'You got to trust me on this, I saved the world' +``` +{% endcode %} + + + diff --git a/nl/core-concepts/supported-assets/README.md b/nl/core-concepts/supported-assets/README.md new file mode 100644 index 000000000..56390ccf6 --- /dev/null +++ b/nl/core-concepts/supported-assets/README.md @@ -0,0 +1,20 @@ +# Supported Stablecoins + +**Supported Stablecoins** + +It is important to understand that OUSD is only as strong as the stablecoins that are backing it. Any loss to the underlying assets will cause a similar loss to the value of OUSD. + +Currently, OUSD supports the following stablecoins: + +{% page-ref page="usdt.md" %} + +{% page-ref page="usdc.md" %} + +{% page-ref page="dai.md" %} + +None of these stablecoins are perfect, but we selected them because of their widespread usage. While these stablecoins have lost their USD peg on multiple occasions, they have demonstrated resiliency in eventually getting back to their 1 USD targets. + +It is important to note that all these stablecoins introduce non-trivial counter-party risk. Tether, in particular, has had well-documented banking troubles and regulatory challenges. In addition, both USDT and USDC have backdoors that grant their issuers the power to freeze money in their holder's wallets. While DAI does not have any direct backdoors, it's assets can also be negatively impacted since USDC is accepted as collateral for minting DAI. + +Despite these concerns, there are already billions of dollars betting on the security of these stablecoins. It is possible that additional stablecoins will be added to the protocol over time. Support may also be removed if any of these stablecoins prove to be too unreliable or put OUSD holders funds in jeopardy. + diff --git a/nl/core-concepts/supported-assets/dai.md b/nl/core-concepts/supported-assets/dai.md new file mode 100644 index 000000000..4be5c3788 --- /dev/null +++ b/nl/core-concepts/supported-assets/dai.md @@ -0,0 +1,20 @@ +# DAI + +![](../../.gitbook/assets/dai.png) + +Dai is a fiat-pegged stablecoin launched as a ERC-20 token on the Ethereum blockchain in December 2017. A major upgrade from single-collateral Dai \(SAI\) to multi-collateral Dai \(DAI\) was completed in November 2019. Dai is pegged to the US dollar. + +Dai is minted by users locking up crypto assets such as ETH or USDC as collateral in a collateralized debt position \(CDP\) called a vault. Previously, only ETH was accepted as collateral. The reserves and status of each vault can be viewed on the blockchain in real-time. The health of these vaults and the Dai stablecoin are closely monitored. + +Dai is the world's third-largest stablecoin with over $400 million in circulation. In addition, cDAI and aDAI, synthetic versions of Dai on the lending platforms Compound and Aave, combine for over $600 million in circulation. + +| Key Facts | | +|:------------- |:------------------------------------------------------------------------------------------------------------------- | +| Issued by | MakerDAO | +| Name | Dai | +| Symbol | DAI | +| Address | [0x6b175474e89094c44da98b954eedeac495271d0f](https://etherscan.io/token/0x6b175474e89094c44da98b954eedeac495271d0f) | +| Decimals | 18 | +| Official site | [https://makerdao.com/](https://makerdao.com/) | +| Holders | Over 140k addresses | + diff --git a/nl/core-concepts/supported-assets/usdc.md b/nl/core-concepts/supported-assets/usdc.md new file mode 100644 index 000000000..2647d7c83 --- /dev/null +++ b/nl/core-concepts/supported-assets/usdc.md @@ -0,0 +1,22 @@ +# USDC + +![](../../.gitbook/assets/usdc-coin-bd351fb779%20%281%29.png) + +USD Coin \(USDC\) is a fiat-pegged stablecoin launched as a ERC-20 token on the Ethereum blockchain in October 2018. USDC is pegged to the US dollar and can easily be redeemed for US dollars. + +Each USDC is backed by a 1:1 ratio with the equivalent amount of fiat currency held in custodial accounts by members of Centre, a consortium founded by Circle and Coinbase. Members of Centre are regulated financial institutions based in the US. Monthly audits of reserves are published by Grant Thornton LLP. + +USDC is the world's second-largest stablecoin after USDT and has quickly grown to over $1 billion in circulation. However, USDC remains far behind USDT's $12+ billion in circulation. + +| Key Facts | | +|:------------- |:------------------------------------------------------------------------------------------------------------------- | +| Issued by | Centre | +| Name | USD Coin | +| Symbol | USDC | +| Address | [0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48](https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48) | +| Decimals | 6 | +| Official site | [https://www.centre.io/usdc](https://www.centre.io/usdc) | +| Holders | Over 200k addresses | + + + diff --git a/nl/core-concepts/supported-assets/usdt.md b/nl/core-concepts/supported-assets/usdt.md new file mode 100644 index 000000000..4ae2afe89 --- /dev/null +++ b/nl/core-concepts/supported-assets/usdt.md @@ -0,0 +1,22 @@ +# USDT + +![](../../.gitbook/assets/image%20%281%29.png) + +Tether \(USDT\) is a fiat-pegged stablecoin that was initially built on top of Bitcoin via the Omni Layer Protocol. In September 2017, Tether announced they would be launching additional ERC-20 tokens for United States dollars on the Ethereum blockchain. + +Each Tether issued into circulation is said to be backed by a one-to-one ratio with the equivalent amount of fiat currency held in a custodial account by Tether Limited, a Hong Kong-based company with close ties to the cryptocurrency exchange, Bitfinex. + +Despite the controversy ****around ****the company's failure to provide a promised audit showing adequate reserves backing tether, USDT is still the world's largest stablecoin by market cap and currently the fourth-largest cryptocurrency after BTC, ETH and XRP. + +| Key Facts | | +|:------------- |:---------------------------------------------------------------------------------------------------------------- | +| Issued by | Tether Limited | +| Name | Tether | +| Symbol | USDT | +| Address | [0xdac17f958d2ee523a2206206994597c13d831](https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7) | +| Decimals | 6 | +| Official site | [https://tether.to/ ](https://tether.to/%20) | +| Holders | Over 1.8M addresses | + + + diff --git a/nl/core-concepts/supported-defi-platforms/README.md b/nl/core-concepts/supported-defi-platforms/README.md new file mode 100644 index 000000000..50ee37b6c --- /dev/null +++ b/nl/core-concepts/supported-defi-platforms/README.md @@ -0,0 +1,30 @@ +# Supported DeFi Platforms + +**Supported Platforms** + +OUSD generates yield by depositing stablecoins into lending platforms and market maker liquidity pools. It is important to understand that these platforms do carry technological risk and funds can be lost if there is a major security event. We are choosing to work with the platforms that have had their smart contracts audited and that we feel are most secure. + +Currently, we plan to earn yields from the following platforms: + +{% page-ref page="compound.md" %} + +Integrations are currently planned for the following platforms: + +{% page-ref page="aave.md" %} + +{% page-ref page="dydx.md" %} + +{% page-ref page="uniswap.md" %} + +{% page-ref page="curve.md" %} + +{% page-ref page="balancer.md" %} + +{% page-ref page="yearn.finance.md" %} + +Although DeFi has grown very quickly and there are now billions of dollars worth of value deposited on these platforms, several of these projects are still in beta and are highly experimental. There may be hidden vulnerabilities in the smart contracts that power these platforms, and there have been multi-million dollar losses caused by vulnerabilities in Ethereum applications in the past. + +We closely monitor security events on the platforms we support and will immediately move to secure OUSD holder funds if we identify any threats. + + + diff --git a/nl/core-concepts/supported-defi-platforms/aave.md b/nl/core-concepts/supported-defi-platforms/aave.md new file mode 100644 index 000000000..df02edab3 --- /dev/null +++ b/nl/core-concepts/supported-defi-platforms/aave.md @@ -0,0 +1,25 @@ +# Aave + +{% hint style="info" %} +Coming soon. Aave has not yet been integrated. +{% endhint %} + +Aave is a lending protocol and platform built on Ethereum and launched in January 2020 by the creators of ETHLend. Users on Aave can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and users can choose between a variable interest rate based on supply and demand or a fixed interest rate. + +Collateral balances are represented by ERC-20 aTokens at a 1:1 ratio to the underlying assets they represent. Interest is compounded automatically and paid to lenders with aTokens, meaning lenders will steadily see their aToken balance increase over time. Users can borrow assets against their aTokens. aTokens are freely transferable and can be used on many other DeFi protocols. aTokens can be redeemed for their underlying collateral at any time. + +Aave supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +Aave is currently governed by LEND, an ERC-20 token that was formerly the utility token for ETHLend. Aave has announced a transition to fully decentralized governance that includes a token swap where users exchange LEND for AAVE, a new ERC-20 governance token with staking rewards. Some AAVE will be distributed to users of the platform in a liquidity mining campaign. + +Aave's total value locked \(TVL\) has quickly grown to over $1.2 billion, making it one of the largest DeFi protocols. LEND has a circulating market cap of over $700 million. + +Aave has undergone security audits by OpenZeppelin, Trail of Bits, and Consensys Diligence. Aave maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------------ | +| Official site | [https://aave.com/](https://aave.com/) | +| Developer docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/aave/aave-protocol](https://github.com/aave/aave-protocol) | +| Discord | [https://discordapp.com/invite/AnSqnvV](https://discordapp.com/invite/AnSqnvV) | + diff --git a/nl/core-concepts/supported-defi-platforms/balancer.md b/nl/core-concepts/supported-defi-platforms/balancer.md new file mode 100644 index 000000000..f8d9e3c0a --- /dev/null +++ b/nl/core-concepts/supported-defi-platforms/balancer.md @@ -0,0 +1,27 @@ +# Balancer + +{% hint style="info" %} +Coming soon. Balancer has not yet been integrated. +{% endhint %} + +Balancer is a decentralized liquidity protocol and exchange on Ethereum, launched in March 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Balancer is an Automated Market Maker \(AMM\) that allows for liquidity pools of up to 8 different assets with custom weights. Liquidity pools on Balancer can be thought of as similar to Exchange Traded Funds \(ETFs\) or portfolios with weight targets for specific assets. If trading causes the pool to shift from its target weight distribution, exchange rates between assets in the pool change. Arbitrageurs can execute trades to take advantage of this and act to rebalance the pool back to its target weight distribution. Liquidity can also be shared across pools, unlike other AMMs. + +Balancer supports private pools, where only the owner of the pool can contribute liquidity, shared pools, which are completely public, and smart pools, which are shared pools controlled by a smart contract that can implement automated rules and logic. Liquidity providers are given Balancer Pool Tokens \(BPTs\) that represent their share of a given pool and fees. These tokens are freely transferable and can be redeemed for the assets provided and accrued fees. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Balancer pools. + +Balancer is governed by BAL, an ERC-20 governance token. BAL holders can vote on protocol changes. BAL is continuously awarded to liquidity providers and a large portion of the total supply of BAL was allocated to the team and investors on a continuous vesting schedule. + +Trading volumes on Balancer are often over $25 million daily. Balancer has a Total Value Locked \(TVL\) of over $250 million by liquidity providers at the time of writing. + +Balancer has undergone a security audit by Trail of Bits and has a bug bounty program. However, Balancer has suffered a major exploit in June 2020. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://balancer.finance/](https://balancer.finance/) | +| Developer docs | [https://docs.balancer.finance/](https://docs.balancer.finance/) | +| GitHub | [https://github.com/balancer-labs](https://github.com/balancer-labs) | +| Discord | [https://discord.gg/ARJWaeF](https://discord.gg/ARJWaeF) | + diff --git a/nl/core-concepts/supported-defi-platforms/compound.md b/nl/core-concepts/supported-defi-platforms/compound.md new file mode 100644 index 000000000..a4d2660a1 --- /dev/null +++ b/nl/core-concepts/supported-defi-platforms/compound.md @@ -0,0 +1,19 @@ +# Compound + +Compound is a lending protocol and platform built on Ethereum and launched in September 2018. Users can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and interest rates are adjusted automatically based on supply and demand. + +Collateral balances are represented by ERC-20 cTokens, which automatically accrue interest and increase in value over time relative to the underlying asset they represent. Users can borrow assets against the value of their cTokens. cTokens are freely transferable and can be used on many other DeFi protocols. cTokens can be redeemed for their underlying collateral at any time. + +Compound is governed by COMP, an ERC-20 governance token. COMP holders can propose and vote on protocol changes or delegate their votes to someone else. COMP tokens are awarded pro rata to users of the protocol daily, split equally between borrowers and lenders. A large portion of the COMP token supply was retained by the Compound team, investors, and advisors. + +Compound's total value locked \(TVL\) has quickly grown to nearly $800 million, making it one of the largest DeFi protocols. COMP has a circulating market cap of over $500 million. + +Compound has undergone multiple security audits by OpenZeppelin and Trail of Bits. The Compound protocol was formally verified by CertiK and has undergone economic stress testing by Gauntlet. Compound maintains a bug bounty program. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------------------------------------------------- | +| Official site | [https://compound.finance/](https://compound.finance/) | +| Developer docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/compound-finance/compound-protocol](https://github.com/compound-finance/compound-protocol) | +| Discord | [https://discord.com/invite/cU7vmVW](https://discord.com/invite/cU7vmVW) | + diff --git a/nl/core-concepts/supported-defi-platforms/curve.md b/nl/core-concepts/supported-defi-platforms/curve.md new file mode 100644 index 000000000..021d0041b --- /dev/null +++ b/nl/core-concepts/supported-defi-platforms/curve.md @@ -0,0 +1,25 @@ +# Curve + +{% hint style="info" %} +Coming soon. Curve has not yet been integrated. +{% endhint %} + +Curve is a decentralized liquidity protocol and exchange on Ethereum for stablecoins and wrapped BTC, launched in January 2020. Users can swap between popular ERC-20 stablecoins or between ERC-20 representations of bitcoin. Liquidity providers facilitate trading and earn fees. + +Curve is an Automated Market Maker \(AMM\) where each market has an associated liquidity pool with two or more assets that should have the same value, like USDT, USDC, DAI and TUSD, which are all US dollar pegged stablecoins. The exchange rate between each stablecoin and their relative weights are determined by an algorithm based on supply and demand. Arbitrageurs act to normalize these exchange rates. + +Some of Curve's liquidity pools earn extra fees for liquidity providers on top of the exchange fees from traders. Curve offers stablecoin pools integrated with Compound, yearn.finance, and Synthetix. The assets in each liquidity pool are provided to those platforms to generate additional yield which is passed on to each pool's liquidity providers. Liquidity Provider \(LP\) tokens are given to pool participants and can be redeemed for their initial liquidity supplied plus accrued fees and yield. LP tokens can also transferred for use in other protocols. + +Curve is governed by CRV, an ERC-20 governance token. CRV holders can vote on protocol changes. CRV holders can stake their tokens for additional voting power proportional to time staked. CRV is continuously awarded to liquidity providers and a large portion of the total supply of CRV was allocated to the team and investors on a continuous vesting schedule. + +Trading volumes on Curve are often over $50 million daily. Curve has a Total Value Locked \(TVL\) of over $1 billion by liquidity providers at the time of writing. + +Curve has undergone two audits by Trail of Bits and maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------ | +| Official site | [https://uniswap.org/](https://uniswap.org/) | +| Developer docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/nl/core-concepts/supported-defi-platforms/dydx.md b/nl/core-concepts/supported-defi-platforms/dydx.md new file mode 100644 index 000000000..24f1a895e --- /dev/null +++ b/nl/core-concepts/supported-defi-platforms/dydx.md @@ -0,0 +1,27 @@ +# dYdX + +{% hint style="info" %} +Coming soon. DyDx has not yet been integrated. +{% endhint %} + +dYdX is a trading and lending protocol and platform built on Ethereum and launched in May 2019. Users can trade assets on dYdX's non-custodial, decentralized exchange or participate in borrowing and lending. The lending protocol enables margin and futures trading. Interest rates are adjusted based on supply and demand and only short term loans are offered. + +Liquidity for assets available for borrowing and lending are pooled together by asset type. Interest paid to lenders is accrued automatically and borrowers must put up collateral to take out a loan. + +dYdX also supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +dYdX has around $40 million in total value locked \(TVL\) at the time of this writing. dYdX does not have a native token. + +dYdX has undergone security audits by OpenZeppelin and Bramah Systems. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://dydx.exchange/](https://dydx.exchange/) | +| Developer docs | [https://docs.dydx.exchange/](https://docs.dydx.exchange/) | +| GitHub | [https://github.com/dydxprotocol/](https://github.com/dydxprotocol/) | +| Discord | [https://discord.gg/yah42Rb](https://discord.gg/yah42Rb) | + + + + + diff --git a/nl/core-concepts/supported-defi-platforms/uniswap.md b/nl/core-concepts/supported-defi-platforms/uniswap.md new file mode 100644 index 000000000..012e25e93 --- /dev/null +++ b/nl/core-concepts/supported-defi-platforms/uniswap.md @@ -0,0 +1,27 @@ +# Uniswap + +{% hint style="info" %} +Coming soon. Uniswap has not yet been integrated. +{% endhint %} + +Uniswap is a decentralized liquidity protocol and exchange on Ethereum, launched in November 2018. Uniswap v2 launched in May 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Markets on Uniswap operate as liquidity pools rather than order books. This type of exchange is called an Automated Market Maker \(AMM\). The exchange rate between the two assets is determined by a constant product formula and moves along a price curve depending on the relative weight of each asset in the pool. This encourages arbitrageurs to enter liquidity pools to rebalance the relative weights and normalize the exchange rate. + +Traders can suffer from slippage if there is not enough liquidity in a given pool and may not be protected from unfavorable exchange rates. Liquidity providers may suffer impermanent loss when the pool exchange rate does not match market realities and arbitrageurs execute trades along the pricing curve. + +Pool participants are given Uniswap Liquidity Provider \(LP\) tokens that correspond to their share of liquidity provided in a given pool. These LP tokens are freely transferable. Participants can exit pools at any time by redeeming these tokens for the assets provided and fees accrued. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Uniswap pools. + +Trading volumes on Uniswap now eclipse that of many traditional exchanges and regularly surpass $200 million daily. Uniswap has over $170 million in Total Value Locked \(TVL\) by liquidity providers. Uniswap does not have a native platform or governance token. + +Uniswap has had its smart contracts audited and formally verfied by dapp.org. Uniswap maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------ | +| Official site | [https://uniswap.org/](https://uniswap.org/) | +| Developer docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/nl/core-concepts/supported-defi-platforms/yearn.finance.md b/nl/core-concepts/supported-defi-platforms/yearn.finance.md new file mode 100644 index 000000000..3f23b9fdb --- /dev/null +++ b/nl/core-concepts/supported-defi-platforms/yearn.finance.md @@ -0,0 +1,25 @@ +# Yearn.finance + +{% hint style="info" %} +Coming soon. Yearn.finance has not yet been integrated. +{% endhint %} + +Yearn.finance, formerly iEarn.finance, is a yield aggregation platform built on Ethereum and launched in January 2020 by Andre Cronje. Yearn manages yield farming and rebalancing strategies using a combination of automation and human decision making on behalf of users who have deposited capital. + +Yearn has two yield aggregation products, Earn and Vaults. Earn allows users to deposit stablecoins or wrapped BTC into liquidity pools on Curve to earn fees and governance token rewards. These assets are also lent out on platforms offering high yield and token rewards, adding to the yield earned. + +Vaults offer a more automated and managed experience. Users deposit assets such as LINK, Curve liquidity provider tokens, or stablecoins and the Vault pools these assets together and deploys the highest earning yield farming strategy as deemed safe by the community and Andre Cronje. Governance tokens earned as rewards are sold off for the original asset deposited and combined with other fees and automatically rolled into the Vault to compound yield. Strategies can be changed frequently and pooling assets together saves gas costs for users. + +Yearn is governed by YFI, an ERC-20 governance token. YFI holders can vote on protocol changes after agreeing to lock up their YFI for 3 days. YFI can also be staked for yield in the governance portal. This yield comes from fees charged to users on Yearn products. YFI was distributed entirely to liquidity providers on Curve and Balancer. There was no allocation for team members or investors. + +Yearn's total value locked \(TVL\) has quickly grown to over $800 million, making it one of the largest DeFi platforms. YFI has a circulating market cap of over $400 million. + +Yearn has undergone multiple security and smart contract audits by CertiK, Quantstamp, HackMD, and CryptoManiacs. Yearn has a reputation for launching experimental products very quickly and warns users that their products are in beta. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://yearn.finance/](https://yearn.finance/) | +| Developer docs | [https://docs.yearn.finance/](https://docs.yearn.finance/) | +| GitHub | [https://github.com/iearn-finance](https://github.com/iearn-finance) | +| Discord | [https://discord.gg/uTmHe8r](https://discord.gg/uTmHe8r) | + diff --git a/nl/core-concepts/supported-platforms/README.md b/nl/core-concepts/supported-platforms/README.md new file mode 100644 index 000000000..aa4b89181 --- /dev/null +++ b/nl/core-concepts/supported-platforms/README.md @@ -0,0 +1,32 @@ +# Supported Platforms + +**Supported Platforms** + +OUSD generates yield by depositing stablecoins into lending platforms and market maker liquidity pools. It is important to understand that these platforms do carry technological risk and funds can be lost if there is a major security event. We are choosing to work with the platforms that have had their smart contracts audited and that we feel are most secure. + +Currently, we plan to earn yields from the following platforms: + +{% page-ref page="compound.md" %} + +Integrations are currently planned for the following platforms: + +{% page-ref page="yearn.finance.md" %} + +{% page-ref page="compound.md" %} + +{% page-ref page="aave.md" %} + +{% page-ref page="dydx.md" %} + +{% page-ref page="uniswap.md" %} + +{% page-ref page="curve.md" %} + +{% page-ref page="balancer.md" %} + +Although DeFi has grown very quickly and there are now billions of dollars worth of value deposited on these platforms, several of these projects are still in beta and are highly experimental. There may be hidden vulnerabilities in the smart contracts that power these platforms, and there have been multi-million dollar losses caused by vulnerabilities in Ethereum applications in the past. + +We closely monitor security events on the platforms we support and will immediately move to secure OUSD holder funds if we identify any threats. + + + diff --git a/nl/core-concepts/supported-platforms/aave.md b/nl/core-concepts/supported-platforms/aave.md new file mode 100644 index 000000000..df02edab3 --- /dev/null +++ b/nl/core-concepts/supported-platforms/aave.md @@ -0,0 +1,25 @@ +# Aave + +{% hint style="info" %} +Coming soon. Aave has not yet been integrated. +{% endhint %} + +Aave is a lending protocol and platform built on Ethereum and launched in January 2020 by the creators of ETHLend. Users on Aave can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and users can choose between a variable interest rate based on supply and demand or a fixed interest rate. + +Collateral balances are represented by ERC-20 aTokens at a 1:1 ratio to the underlying assets they represent. Interest is compounded automatically and paid to lenders with aTokens, meaning lenders will steadily see their aToken balance increase over time. Users can borrow assets against their aTokens. aTokens are freely transferable and can be used on many other DeFi protocols. aTokens can be redeemed for their underlying collateral at any time. + +Aave supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +Aave is currently governed by LEND, an ERC-20 token that was formerly the utility token for ETHLend. Aave has announced a transition to fully decentralized governance that includes a token swap where users exchange LEND for AAVE, a new ERC-20 governance token with staking rewards. Some AAVE will be distributed to users of the platform in a liquidity mining campaign. + +Aave's total value locked \(TVL\) has quickly grown to over $1.2 billion, making it one of the largest DeFi protocols. LEND has a circulating market cap of over $700 million. + +Aave has undergone security audits by OpenZeppelin, Trail of Bits, and Consensys Diligence. Aave maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------------ | +| Official site | [https://aave.com/](https://aave.com/) | +| Developer docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/aave/aave-protocol](https://github.com/aave/aave-protocol) | +| Discord | [https://discordapp.com/invite/AnSqnvV](https://discordapp.com/invite/AnSqnvV) | + diff --git a/nl/core-concepts/supported-platforms/balancer.md b/nl/core-concepts/supported-platforms/balancer.md new file mode 100644 index 000000000..f8d9e3c0a --- /dev/null +++ b/nl/core-concepts/supported-platforms/balancer.md @@ -0,0 +1,27 @@ +# Balancer + +{% hint style="info" %} +Coming soon. Balancer has not yet been integrated. +{% endhint %} + +Balancer is a decentralized liquidity protocol and exchange on Ethereum, launched in March 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Balancer is an Automated Market Maker \(AMM\) that allows for liquidity pools of up to 8 different assets with custom weights. Liquidity pools on Balancer can be thought of as similar to Exchange Traded Funds \(ETFs\) or portfolios with weight targets for specific assets. If trading causes the pool to shift from its target weight distribution, exchange rates between assets in the pool change. Arbitrageurs can execute trades to take advantage of this and act to rebalance the pool back to its target weight distribution. Liquidity can also be shared across pools, unlike other AMMs. + +Balancer supports private pools, where only the owner of the pool can contribute liquidity, shared pools, which are completely public, and smart pools, which are shared pools controlled by a smart contract that can implement automated rules and logic. Liquidity providers are given Balancer Pool Tokens \(BPTs\) that represent their share of a given pool and fees. These tokens are freely transferable and can be redeemed for the assets provided and accrued fees. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Balancer pools. + +Balancer is governed by BAL, an ERC-20 governance token. BAL holders can vote on protocol changes. BAL is continuously awarded to liquidity providers and a large portion of the total supply of BAL was allocated to the team and investors on a continuous vesting schedule. + +Trading volumes on Balancer are often over $25 million daily. Balancer has a Total Value Locked \(TVL\) of over $250 million by liquidity providers at the time of writing. + +Balancer has undergone a security audit by Trail of Bits and has a bug bounty program. However, Balancer has suffered a major exploit in June 2020. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://balancer.finance/](https://balancer.finance/) | +| Developer docs | [https://docs.balancer.finance/](https://docs.balancer.finance/) | +| GitHub | [https://github.com/balancer-labs](https://github.com/balancer-labs) | +| Discord | [https://discord.gg/ARJWaeF](https://discord.gg/ARJWaeF) | + diff --git a/nl/core-concepts/supported-platforms/compound.md b/nl/core-concepts/supported-platforms/compound.md new file mode 100644 index 000000000..a4d2660a1 --- /dev/null +++ b/nl/core-concepts/supported-platforms/compound.md @@ -0,0 +1,19 @@ +# Compound + +Compound is a lending protocol and platform built on Ethereum and launched in September 2018. Users can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and interest rates are adjusted automatically based on supply and demand. + +Collateral balances are represented by ERC-20 cTokens, which automatically accrue interest and increase in value over time relative to the underlying asset they represent. Users can borrow assets against the value of their cTokens. cTokens are freely transferable and can be used on many other DeFi protocols. cTokens can be redeemed for their underlying collateral at any time. + +Compound is governed by COMP, an ERC-20 governance token. COMP holders can propose and vote on protocol changes or delegate their votes to someone else. COMP tokens are awarded pro rata to users of the protocol daily, split equally between borrowers and lenders. A large portion of the COMP token supply was retained by the Compound team, investors, and advisors. + +Compound's total value locked \(TVL\) has quickly grown to nearly $800 million, making it one of the largest DeFi protocols. COMP has a circulating market cap of over $500 million. + +Compound has undergone multiple security audits by OpenZeppelin and Trail of Bits. The Compound protocol was formally verified by CertiK and has undergone economic stress testing by Gauntlet. Compound maintains a bug bounty program. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------------------------------------------------- | +| Official site | [https://compound.finance/](https://compound.finance/) | +| Developer docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/compound-finance/compound-protocol](https://github.com/compound-finance/compound-protocol) | +| Discord | [https://discord.com/invite/cU7vmVW](https://discord.com/invite/cU7vmVW) | + diff --git a/nl/core-concepts/supported-platforms/curve.md b/nl/core-concepts/supported-platforms/curve.md new file mode 100644 index 000000000..021d0041b --- /dev/null +++ b/nl/core-concepts/supported-platforms/curve.md @@ -0,0 +1,25 @@ +# Curve + +{% hint style="info" %} +Coming soon. Curve has not yet been integrated. +{% endhint %} + +Curve is a decentralized liquidity protocol and exchange on Ethereum for stablecoins and wrapped BTC, launched in January 2020. Users can swap between popular ERC-20 stablecoins or between ERC-20 representations of bitcoin. Liquidity providers facilitate trading and earn fees. + +Curve is an Automated Market Maker \(AMM\) where each market has an associated liquidity pool with two or more assets that should have the same value, like USDT, USDC, DAI and TUSD, which are all US dollar pegged stablecoins. The exchange rate between each stablecoin and their relative weights are determined by an algorithm based on supply and demand. Arbitrageurs act to normalize these exchange rates. + +Some of Curve's liquidity pools earn extra fees for liquidity providers on top of the exchange fees from traders. Curve offers stablecoin pools integrated with Compound, yearn.finance, and Synthetix. The assets in each liquidity pool are provided to those platforms to generate additional yield which is passed on to each pool's liquidity providers. Liquidity Provider \(LP\) tokens are given to pool participants and can be redeemed for their initial liquidity supplied plus accrued fees and yield. LP tokens can also transferred for use in other protocols. + +Curve is governed by CRV, an ERC-20 governance token. CRV holders can vote on protocol changes. CRV holders can stake their tokens for additional voting power proportional to time staked. CRV is continuously awarded to liquidity providers and a large portion of the total supply of CRV was allocated to the team and investors on a continuous vesting schedule. + +Trading volumes on Curve are often over $50 million daily. Curve has a Total Value Locked \(TVL\) of over $1 billion by liquidity providers at the time of writing. + +Curve has undergone two audits by Trail of Bits and maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------ | +| Official site | [https://uniswap.org/](https://uniswap.org/) | +| Developer docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/nl/core-concepts/supported-platforms/dydx.md b/nl/core-concepts/supported-platforms/dydx.md new file mode 100644 index 000000000..24f1a895e --- /dev/null +++ b/nl/core-concepts/supported-platforms/dydx.md @@ -0,0 +1,27 @@ +# dYdX + +{% hint style="info" %} +Coming soon. DyDx has not yet been integrated. +{% endhint %} + +dYdX is a trading and lending protocol and platform built on Ethereum and launched in May 2019. Users can trade assets on dYdX's non-custodial, decentralized exchange or participate in borrowing and lending. The lending protocol enables margin and futures trading. Interest rates are adjusted based on supply and demand and only short term loans are offered. + +Liquidity for assets available for borrowing and lending are pooled together by asset type. Interest paid to lenders is accrued automatically and borrowers must put up collateral to take out a loan. + +dYdX also supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +dYdX has around $40 million in total value locked \(TVL\) at the time of this writing. dYdX does not have a native token. + +dYdX has undergone security audits by OpenZeppelin and Bramah Systems. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://dydx.exchange/](https://dydx.exchange/) | +| Developer docs | [https://docs.dydx.exchange/](https://docs.dydx.exchange/) | +| GitHub | [https://github.com/dydxprotocol/](https://github.com/dydxprotocol/) | +| Discord | [https://discord.gg/yah42Rb](https://discord.gg/yah42Rb) | + + + + + diff --git a/nl/core-concepts/supported-platforms/uniswap.md b/nl/core-concepts/supported-platforms/uniswap.md new file mode 100644 index 000000000..012e25e93 --- /dev/null +++ b/nl/core-concepts/supported-platforms/uniswap.md @@ -0,0 +1,27 @@ +# Uniswap + +{% hint style="info" %} +Coming soon. Uniswap has not yet been integrated. +{% endhint %} + +Uniswap is a decentralized liquidity protocol and exchange on Ethereum, launched in November 2018. Uniswap v2 launched in May 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Markets on Uniswap operate as liquidity pools rather than order books. This type of exchange is called an Automated Market Maker \(AMM\). The exchange rate between the two assets is determined by a constant product formula and moves along a price curve depending on the relative weight of each asset in the pool. This encourages arbitrageurs to enter liquidity pools to rebalance the relative weights and normalize the exchange rate. + +Traders can suffer from slippage if there is not enough liquidity in a given pool and may not be protected from unfavorable exchange rates. Liquidity providers may suffer impermanent loss when the pool exchange rate does not match market realities and arbitrageurs execute trades along the pricing curve. + +Pool participants are given Uniswap Liquidity Provider \(LP\) tokens that correspond to their share of liquidity provided in a given pool. These LP tokens are freely transferable. Participants can exit pools at any time by redeeming these tokens for the assets provided and fees accrued. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Uniswap pools. + +Trading volumes on Uniswap now eclipse that of many traditional exchanges and regularly surpass $200 million daily. Uniswap has over $170 million in Total Value Locked \(TVL\) by liquidity providers. Uniswap does not have a native platform or governance token. + +Uniswap has had its smart contracts audited and formally verfied by dapp.org. Uniswap maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------ | +| Official site | [https://uniswap.org/](https://uniswap.org/) | +| Developer docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/nl/core-concepts/supported-platforms/yearn.finance.md b/nl/core-concepts/supported-platforms/yearn.finance.md new file mode 100644 index 000000000..3f23b9fdb --- /dev/null +++ b/nl/core-concepts/supported-platforms/yearn.finance.md @@ -0,0 +1,25 @@ +# Yearn.finance + +{% hint style="info" %} +Coming soon. Yearn.finance has not yet been integrated. +{% endhint %} + +Yearn.finance, formerly iEarn.finance, is a yield aggregation platform built on Ethereum and launched in January 2020 by Andre Cronje. Yearn manages yield farming and rebalancing strategies using a combination of automation and human decision making on behalf of users who have deposited capital. + +Yearn has two yield aggregation products, Earn and Vaults. Earn allows users to deposit stablecoins or wrapped BTC into liquidity pools on Curve to earn fees and governance token rewards. These assets are also lent out on platforms offering high yield and token rewards, adding to the yield earned. + +Vaults offer a more automated and managed experience. Users deposit assets such as LINK, Curve liquidity provider tokens, or stablecoins and the Vault pools these assets together and deploys the highest earning yield farming strategy as deemed safe by the community and Andre Cronje. Governance tokens earned as rewards are sold off for the original asset deposited and combined with other fees and automatically rolled into the Vault to compound yield. Strategies can be changed frequently and pooling assets together saves gas costs for users. + +Yearn is governed by YFI, an ERC-20 governance token. YFI holders can vote on protocol changes after agreeing to lock up their YFI for 3 days. YFI can also be staked for yield in the governance portal. This yield comes from fees charged to users on Yearn products. YFI was distributed entirely to liquidity providers on Curve and Balancer. There was no allocation for team members or investors. + +Yearn's total value locked \(TVL\) has quickly grown to over $800 million, making it one of the largest DeFi platforms. YFI has a circulating market cap of over $400 million. + +Yearn has undergone multiple security and smart contract audits by CertiK, Quantstamp, HackMD, and CryptoManiacs. Yearn has a reputation for launching experimental products very quickly and warns users that their products are in beta. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://yearn.finance/](https://yearn.finance/) | +| Developer docs | [https://docs.yearn.finance/](https://docs.yearn.finance/) | +| GitHub | [https://github.com/iearn-finance](https://github.com/iearn-finance) | +| Discord | [https://discord.gg/uTmHe8r](https://discord.gg/uTmHe8r) | + diff --git a/nl/core-concepts/supported-stablecoins/README.md b/nl/core-concepts/supported-stablecoins/README.md new file mode 100644 index 000000000..1c4b60eb5 --- /dev/null +++ b/nl/core-concepts/supported-stablecoins/README.md @@ -0,0 +1,25 @@ +# Supported Stablecoins + +**Supported Stablecoins** + +It is important to understand that OUSD is only as strong as the stablecoins that are backing it. Any loss to the underlying assets will cause a similar loss to the value of OUSD. + +Currently, OUSD supports the following stablecoins: + +{% content-ref url="usdt.md" %} +[usdt.md](usdt.md) +{% endcontent-ref %} + +{% content-ref url="usdc.md" %} +[usdc.md](usdc.md) +{% endcontent-ref %} + +{% content-ref url="dai.md" %} +[dai.md](dai.md) +{% endcontent-ref %} + +None of these stablecoins are perfect, but we selected them because of their widespread usage. While these stablecoins have lost their USD peg on multiple occasions, they have demonstrated resiliency in eventually getting back to their 1 USD targets. + +It is important to note that all these stablecoins introduce non-trivial counter-party risk. Tether, in particular, has had well-documented banking troubles and regulatory challenges. In addition, both USDT and USDC have backdoors that grant their issuers the power to freeze money in their holder's wallets. While DAI does not have any direct backdoors, its assets can also be negatively impacted since USDC and USDT are accepted as collateral for minting DAI. + +Despite these concerns, there are already billions of dollars betting on the security of these stablecoins. It is possible that additional stablecoins will be added to the protocol over time. Support may also be removed if any of these stablecoins prove to be too unreliable or put OUSD holder's funds in jeopardy. diff --git a/nl/core-concepts/supported-stablecoins/dai.md b/nl/core-concepts/supported-stablecoins/dai.md new file mode 100644 index 000000000..b80269d11 --- /dev/null +++ b/nl/core-concepts/supported-stablecoins/dai.md @@ -0,0 +1,19 @@ +# DAI + +![](../../.gitbook/assets/dai.png) + +Dai is a fiat-pegged stablecoin launched as a ERC-20 token on the Ethereum blockchain in December 2017. A major upgrade from single-collateral Dai (SAI) to multi-collateral Dai (DAI) was completed in November 2019. Dai is pegged to the US dollar. + +Dai is minted by users locking up crypto assets such as ETH or USDC as collateral in a collateralized debt position (CDP) called a vault. Previously, only ETH was accepted as collateral. The reserves and status of each vault can be viewed on the blockchain in real-time. The health of these vaults and the Dai stablecoin are closely monitored. + +Dai is the world's third-largest stablecoin with over $400 million in circulation. In addition, cDAI and aDAI, synthetic versions of Dai on the lending platforms Compound and Aave, combine for over $600 million in circulation. + +| Key Facts | | +| ------------- | ------------------------------------------------------------------------------------------------------------------- | +| Issued by | MakerDAO | +| Name | Dai | +| Symbol | DAI | +| Address | [0x6b175474e89094c44da98b954eedeac495271d0f](https://etherscan.io/token/0x6b175474e89094c44da98b954eedeac495271d0f) | +| Decimals | 18 | +| Official site | [https://makerdao.com/](https://makerdao.com) | +| Holders | Over 380k addresses | diff --git a/nl/core-concepts/supported-stablecoins/usdc.md b/nl/core-concepts/supported-stablecoins/usdc.md new file mode 100644 index 000000000..e47385909 --- /dev/null +++ b/nl/core-concepts/supported-stablecoins/usdc.md @@ -0,0 +1,20 @@ +# USDC + +![](../../.gitbook/assets/usdc-coin-bd351fb779 (1).png) + +USD Coin (USDC) is a fiat-pegged stablecoin launched as a ERC-20 token on the Ethereum blockchain in October 2018. USDC is pegged to the US dollar and can easily be redeemed for US dollars. + +Each USDC is backed by a 1:1 ratio with the equivalent amount of fiat currency held in custodial accounts by members of Centre, a consortium founded by Circle and Coinbase. Members of Centre are regulated financial institutions based in the US. Monthly audits of reserves are published by Grant Thornton LLP. + +USDC is the world's second-largest stablecoin after USDT and has quickly grown to over $1 billion in circulation. However, USDC remains far behind USDT's $12+ billion in circulation. + +| Key Facts | | +| ------------- | ------------------------------------------------------------------------------------------------------------------- | +| Issued by | Centre | +| Name | USD Coin | +| Symbol | USDC | +| Address | [0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48](https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48) | +| Decimals | 6 | +| Official site | [https://www.centre.io/usdc](https://www.centre.io/usdc) | +| Holders | Over 1M addresses | + diff --git a/nl/core-concepts/supported-stablecoins/usdt.md b/nl/core-concepts/supported-stablecoins/usdt.md new file mode 100644 index 000000000..4f07af957 --- /dev/null +++ b/nl/core-concepts/supported-stablecoins/usdt.md @@ -0,0 +1,20 @@ +# USDT + +![](../../.gitbook/assets/image (1).png) + +Tether (USDT) is a fiat-pegged stablecoin that was initially built on top of Bitcoin via the Omni Layer Protocol. In September 2017, Tether announced they would be launching additional ERC-20 tokens for United States dollars on the Ethereum blockchain. + +Each Tether issued into circulation is said to be backed by a one-to-one ratio with the equivalent amount of fiat currency held in a custodial account by Tether Limited, a Hong Kong-based company with close ties to the cryptocurrency exchange, Bitfinex. + +Despite the controversy **** around **** the company's failure to provide a promised audit showing adequate reserves backing tether, USDT is still the world's largest stablecoin by market cap and currently the fourth-largest cryptocurrency after BTC, ETH and XRP. + +| Key Facts | | +| ------------- | ---------------------------------------------------------------------------------------------------------------- | +| Issued by | Tether Limited | +| Name | Tether | +| Symbol | USDT | +| Address | [0xdac17f958d2ee523a2206206994597c13d831](https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7) | +| Decimals | 6 | +| Official site | [https://tether.to/ ](https://tether.to) | +| Holders | Over 3.4M addresses | + diff --git a/nl/core-concepts/supported-strategies/README.md b/nl/core-concepts/supported-strategies/README.md new file mode 100644 index 000000000..b1bb5828c --- /dev/null +++ b/nl/core-concepts/supported-strategies/README.md @@ -0,0 +1,27 @@ +# Supported Strategies + +**Supported DeFi Platforms** + +OUSD generates yield by depositing stablecoins into lending platforms and market maker liquidity pools. It is important to understand that these platforms do carry technological risk and funds can be lost if there is a major security event. We are choosing to work with the platforms that have had their smart contracts audited and that we feel are most secure. + +Currently, OUSD earns yield from the following platform(s): + +{% content-ref url="compound.md" %} +[compound.md](compound.md) +{% endcontent-ref %} + +{% content-ref url="aave.md" %} +[aave.md](aave.md) +{% endcontent-ref %} + +{% content-ref url="curve.md" %} +[curve.md](curve.md) +{% endcontent-ref %} + +{% content-ref url="convex.md" %} +[convex.md](convex.md) +{% endcontent-ref %} + +Although DeFi has grown very quickly and there are now billions of dollars worth of value deposited on these platforms, several of these projects are still in beta and are highly experimental. There may be hidden vulnerabilities in the smart contracts that power these platforms, and there have been multi-million dollar losses caused by vulnerabilities in Ethereum applications in the past. + +We closely monitor security events on the platforms we support and will immediately move to secure OUSD holder funds if we identify any threats. diff --git a/nl/core-concepts/supported-strategies/aave.md b/nl/core-concepts/supported-strategies/aave.md new file mode 100644 index 000000000..cf77e0ffb --- /dev/null +++ b/nl/core-concepts/supported-strategies/aave.md @@ -0,0 +1,20 @@ +# Aave + +Aave is a lending protocol and platform built on Ethereum and launched in January 2020 by the creators of ETHLend. Users on Aave can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and users can choose between a variable interest rate based on supply and demand or a fixed interest rate. + +Collateral balances are represented by ERC-20 aTokens at a 1:1 ratio to the underlying assets they represent. Interest is compounded automatically and paid to lenders with aTokens, meaning lenders will steadily see their aToken balance increase over time. Users can borrow assets against their aTokens. aTokens are freely transferable and can be used on many other DeFi protocols. aTokens can be redeemed for their underlying collateral at any time. + +Aave supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +Aave's governance token was formerly called LEND which was the utility token for ETHLend. As part of their transition to fully decentralized governance, LEND holders were able to exchange LEND for AAVE, a new ERC-20 governance token with staking rewards. Some AAVE tokens have been distributed to users of the platform in a liquidity mining campaign. + +Aave's total value locked (TVL) has quickly grown to over $15.5 billion, making it the largest DeFi protocol at the time of writing. LEND has a circulating market cap of over $5.3 billion. + +Aave has undergone security audits by OpenZeppelin, Trail of Bits, and Consensys Diligence. Aave maintains a bug bounty program. + +| Resources | | +| -------------- | ------------------------------------------------------------------------------ | +| Official site | [https://aave.com/](https://aave.com) | +| Developer docs | [http://docs.aave.com/](http://docs.aave.com) | +| GitHub | [https://github.com/aave/aave-protocol](https://github.com/aave/aave-protocol) | +| Discord | [https://aave.com/discord](https://aave.com/discord) | diff --git a/nl/core-concepts/supported-strategies/balancer.md b/nl/core-concepts/supported-strategies/balancer.md new file mode 100644 index 000000000..f8d9e3c0a --- /dev/null +++ b/nl/core-concepts/supported-strategies/balancer.md @@ -0,0 +1,27 @@ +# Balancer + +{% hint style="info" %} +Coming soon. Balancer has not yet been integrated. +{% endhint %} + +Balancer is a decentralized liquidity protocol and exchange on Ethereum, launched in March 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Balancer is an Automated Market Maker \(AMM\) that allows for liquidity pools of up to 8 different assets with custom weights. Liquidity pools on Balancer can be thought of as similar to Exchange Traded Funds \(ETFs\) or portfolios with weight targets for specific assets. If trading causes the pool to shift from its target weight distribution, exchange rates between assets in the pool change. Arbitrageurs can execute trades to take advantage of this and act to rebalance the pool back to its target weight distribution. Liquidity can also be shared across pools, unlike other AMMs. + +Balancer supports private pools, where only the owner of the pool can contribute liquidity, shared pools, which are completely public, and smart pools, which are shared pools controlled by a smart contract that can implement automated rules and logic. Liquidity providers are given Balancer Pool Tokens \(BPTs\) that represent their share of a given pool and fees. These tokens are freely transferable and can be redeemed for the assets provided and accrued fees. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Balancer pools. + +Balancer is governed by BAL, an ERC-20 governance token. BAL holders can vote on protocol changes. BAL is continuously awarded to liquidity providers and a large portion of the total supply of BAL was allocated to the team and investors on a continuous vesting schedule. + +Trading volumes on Balancer are often over $25 million daily. Balancer has a Total Value Locked \(TVL\) of over $250 million by liquidity providers at the time of writing. + +Balancer has undergone a security audit by Trail of Bits and has a bug bounty program. However, Balancer has suffered a major exploit in June 2020. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://balancer.finance/](https://balancer.finance/) | +| Developer docs | [https://docs.balancer.finance/](https://docs.balancer.finance/) | +| GitHub | [https://github.com/balancer-labs](https://github.com/balancer-labs) | +| Discord | [https://discord.gg/ARJWaeF](https://discord.gg/ARJWaeF) | + diff --git a/nl/core-concepts/supported-strategies/compound.md b/nl/core-concepts/supported-strategies/compound.md new file mode 100644 index 000000000..77e40733e --- /dev/null +++ b/nl/core-concepts/supported-strategies/compound.md @@ -0,0 +1,18 @@ +# Compound + +Compound is a lending protocol and platform built on Ethereum and launched in September 2018. Users can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and interest rates are adjusted automatically based on supply and demand. + +Collateral balances are represented by ERC-20 cTokens, which automatically accrue interest and increase in value over time relative to the underlying asset they represent. Users can borrow assets against the value of their cTokens. cTokens are freely transferable and can be used on many other DeFi protocols. cTokens can be redeemed for their underlying collateral at any time. + +Compound is governed by COMP, an ERC-20 governance token. COMP holders can propose and vote on protocol changes or delegate their votes to someone else. COMP tokens are awarded pro-rata to users of the protocol daily, split equally between borrowers and lenders. A large portion of the COMP token supply was retained by the Compound team, investors, and advisors. + +Compound's total value locked (TVL) has quickly grown to over $10 billion, making it one of the largest DeFi protocols. COMP has a circulating market cap of over $2.5 billion. + +Compound has undergone multiple security audits by OpenZeppelin and Trail of Bits. The Compound protocol was formally verified by CertiK and has undergone economic stress testing by Gauntlet. Compound maintains a bug bounty program. + +| Resources | | +| -------------- | -------------------------------------------------------------------------------------------------------------- | +| Official site | [https://compound.finance/](https://compound.finance) | +| Developer docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/compound-finance/compound-protocol](https://github.com/compound-finance/compound-protocol) | +| Discord | [https://discord.com/invite/cU7vmVW](https://discord.com/invite/cU7vmVW) | diff --git a/nl/core-concepts/supported-strategies/convex.md b/nl/core-concepts/supported-strategies/convex.md new file mode 100644 index 000000000..771280a68 --- /dev/null +++ b/nl/core-concepts/supported-strategies/convex.md @@ -0,0 +1,18 @@ +# Convex + +Convex is an aggregation platform for Curve that launched in May 2021. Convex allows liquidity providers on Curve to earn boosted CRV rewards without having to vote-lock CRV. Convex vote-locks CRV on behalf of users and distributes boosted CRV rewards to them. Convex passes on trading fees earned on Curve to users as well. + +Convex also rewards users with their own ERC-20 governance token, CVX. Convex supports both CRV and CVX staking for additional rewards. Vote-locking CVX is required to participate in Convex governance. + +Convex is one of the few protocols whitelisted to participate in Curve governance and controls a huge amount of vote-locked CRV, making them one of the biggest players in Curve governance. A large proportion of liquidity provided on Curve is now done through Convex. Convex has a Total Value Locked (TVL) of over $15.4 billion in deposits at the time of writing. + +Convex has been audited by MixBytes. + +| | | +| -------------- | ---------------------------------------------------------------- | +| Resources | | +| Official site | [https://www.convexfinance.com](https://www.convexfinance.com) | +| Developer docs | [https://docs.convexfinance.com](https://docs.convexfinance.com) | +| GitHub | [https://github.com/convex-eth](https://github.com/convex-eth) | +| Discord | [https://discord.gg/uAwvZfs9qU](https://discord.gg/uAwvZfs9qU) | + diff --git a/nl/core-concepts/supported-strategies/curve.md b/nl/core-concepts/supported-strategies/curve.md new file mode 100644 index 000000000..40d2aade6 --- /dev/null +++ b/nl/core-concepts/supported-strategies/curve.md @@ -0,0 +1,20 @@ +# Curve + +Curve is a decentralized liquidity protocol and exchange on Ethereum for stablecoins and wrapped BTC, launched in January 2020. Users can swap between popular ERC-20 stablecoins or between ERC-20 representations of bitcoin. Liquidity providers facilitate trading and earn fees. + +Curve is an Automated Market Maker (AMM) where each market has an associated liquidity pool with two or more assets that should have the same value, like USDT, USDC, DAI and TUSD, which are all US dollar pegged stablecoins. The exchange rate between each stablecoin and their relative weights are determined by an algorithm based on supply and demand. Arbitrageurs act to normalize these exchange rates. + +Some of Curve's liquidity pools earn extra fees for liquidity providers on top of the exchange fees from traders. Curve offers stablecoin pools integrated with Compound, yearn.finance, and Synthetix. The assets in each liquidity pool are provided to those platforms to generate additional yield which is passed on to each pool's liquidity providers. Liquidity Provider (LP) tokens are given to pool participants and can be redeemed for their initial liquidity supplied plus accrued fees and yield. LP tokens can also transferred for use in other protocols. + +Curve is governed by CRV, an ERC-20 governance token. CRV holders can vote on protocol changes. CRV holders can stake or "vote-lock" their tokens for additional voting power proportional to time staked. Vote-locking CRV also significantly boosts liquidity provider rewards. CRV is continuously awarded to liquidity providers and a large portion of the total supply of CRV was allocated to the team and investors on a continuous vesting schedule. + +Curve has a Total Value Locked (TVL) of over $20.4 billion by liquidity providers at the time of writing. Hundreds of millions of dollars of trading volume are generated on Curve every day. + +Curve has undergone two audits by Trail of Bits and maintains a bug bounty program. + +| Resources | | +| -------------- | ------------------------------------------------------------------------ | +| Official site | [https://www.curve.fi/](https://www.curve.fi) | +| Developer docs | [https://www.curve.fi/devdocs](https://www.curve.fi/devdocs) | +| GitHub | [https://github.com/curvefi](https://github.com/curvefi) | +| Discord | [https://discord.com/invite/9uEHakc](https://discord.com/invite/9uEHakc) | diff --git a/nl/core-concepts/supported-strategies/dydx.md b/nl/core-concepts/supported-strategies/dydx.md new file mode 100644 index 000000000..24f1a895e --- /dev/null +++ b/nl/core-concepts/supported-strategies/dydx.md @@ -0,0 +1,27 @@ +# dYdX + +{% hint style="info" %} +Coming soon. DyDx has not yet been integrated. +{% endhint %} + +dYdX is a trading and lending protocol and platform built on Ethereum and launched in May 2019. Users can trade assets on dYdX's non-custodial, decentralized exchange or participate in borrowing and lending. The lending protocol enables margin and futures trading. Interest rates are adjusted based on supply and demand and only short term loans are offered. + +Liquidity for assets available for borrowing and lending are pooled together by asset type. Interest paid to lenders is accrued automatically and borrowers must put up collateral to take out a loan. + +dYdX also supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +dYdX has around $40 million in total value locked \(TVL\) at the time of this writing. dYdX does not have a native token. + +dYdX has undergone security audits by OpenZeppelin and Bramah Systems. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://dydx.exchange/](https://dydx.exchange/) | +| Developer docs | [https://docs.dydx.exchange/](https://docs.dydx.exchange/) | +| GitHub | [https://github.com/dydxprotocol/](https://github.com/dydxprotocol/) | +| Discord | [https://discord.gg/yah42Rb](https://discord.gg/yah42Rb) | + + + + + diff --git a/nl/core-concepts/supported-strategies/uniswap.md b/nl/core-concepts/supported-strategies/uniswap.md new file mode 100644 index 000000000..012e25e93 --- /dev/null +++ b/nl/core-concepts/supported-strategies/uniswap.md @@ -0,0 +1,27 @@ +# Uniswap + +{% hint style="info" %} +Coming soon. Uniswap has not yet been integrated. +{% endhint %} + +Uniswap is a decentralized liquidity protocol and exchange on Ethereum, launched in November 2018. Uniswap v2 launched in May 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Markets on Uniswap operate as liquidity pools rather than order books. This type of exchange is called an Automated Market Maker \(AMM\). The exchange rate between the two assets is determined by a constant product formula and moves along a price curve depending on the relative weight of each asset in the pool. This encourages arbitrageurs to enter liquidity pools to rebalance the relative weights and normalize the exchange rate. + +Traders can suffer from slippage if there is not enough liquidity in a given pool and may not be protected from unfavorable exchange rates. Liquidity providers may suffer impermanent loss when the pool exchange rate does not match market realities and arbitrageurs execute trades along the pricing curve. + +Pool participants are given Uniswap Liquidity Provider \(LP\) tokens that correspond to their share of liquidity provided in a given pool. These LP tokens are freely transferable. Participants can exit pools at any time by redeeming these tokens for the assets provided and fees accrued. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Uniswap pools. + +Trading volumes on Uniswap now eclipse that of many traditional exchanges and regularly surpass $200 million daily. Uniswap has over $170 million in Total Value Locked \(TVL\) by liquidity providers. Uniswap does not have a native platform or governance token. + +Uniswap has had its smart contracts audited and formally verfied by dapp.org. Uniswap maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------ | +| Official site | [https://uniswap.org/](https://uniswap.org/) | +| Developer docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/nl/core-concepts/supported-strategies/yearn.finance.md b/nl/core-concepts/supported-strategies/yearn.finance.md new file mode 100644 index 000000000..3f23b9fdb --- /dev/null +++ b/nl/core-concepts/supported-strategies/yearn.finance.md @@ -0,0 +1,25 @@ +# Yearn.finance + +{% hint style="info" %} +Coming soon. Yearn.finance has not yet been integrated. +{% endhint %} + +Yearn.finance, formerly iEarn.finance, is a yield aggregation platform built on Ethereum and launched in January 2020 by Andre Cronje. Yearn manages yield farming and rebalancing strategies using a combination of automation and human decision making on behalf of users who have deposited capital. + +Yearn has two yield aggregation products, Earn and Vaults. Earn allows users to deposit stablecoins or wrapped BTC into liquidity pools on Curve to earn fees and governance token rewards. These assets are also lent out on platforms offering high yield and token rewards, adding to the yield earned. + +Vaults offer a more automated and managed experience. Users deposit assets such as LINK, Curve liquidity provider tokens, or stablecoins and the Vault pools these assets together and deploys the highest earning yield farming strategy as deemed safe by the community and Andre Cronje. Governance tokens earned as rewards are sold off for the original asset deposited and combined with other fees and automatically rolled into the Vault to compound yield. Strategies can be changed frequently and pooling assets together saves gas costs for users. + +Yearn is governed by YFI, an ERC-20 governance token. YFI holders can vote on protocol changes after agreeing to lock up their YFI for 3 days. YFI can also be staked for yield in the governance portal. This yield comes from fees charged to users on Yearn products. YFI was distributed entirely to liquidity providers on Curve and Balancer. There was no allocation for team members or investors. + +Yearn's total value locked \(TVL\) has quickly grown to over $800 million, making it one of the largest DeFi platforms. YFI has a circulating market cap of over $400 million. + +Yearn has undergone multiple security and smart contract audits by CertiK, Quantstamp, HackMD, and CryptoManiacs. Yearn has a reputation for launching experimental products very quickly and warns users that their products are in beta. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://yearn.finance/](https://yearn.finance/) | +| Developer docs | [https://docs.yearn.finance/](https://docs.yearn.finance/) | +| GitHub | [https://github.com/iearn-finance](https://github.com/iearn-finance) | +| Discord | [https://discord.gg/uTmHe8r](https://discord.gg/uTmHe8r) | + diff --git a/nl/core-concepts/wrapped-ousd.md b/nl/core-concepts/wrapped-ousd.md new file mode 100644 index 000000000..bea00ee4b --- /dev/null +++ b/nl/core-concepts/wrapped-ousd.md @@ -0,0 +1,31 @@ +# Wrapped OUSD + +Wrapped OUSD provides a non-rebasing version of OUSD that still earns yield. This makes it easier to use OUSD as a building block for other contracts and it may provide tax benefits in some jurisdictions. + +![Two flavors, up only](https://cdn-images-1.medium.com/max/1600/1\*cqRG-8-64XYx9QChoMxk3g.png) + +### How wrapped OUSD works + +When you wrap OUSD, you get back a fixed number of wOUSD tokens. This number will not go up - you will have the same number of wOUSD tokens tomorrow as you have today. However, the number of OUSD tokens that you can unwrap will go up over time. + +For example, if you wrap 10,000 OUSD, you might receive 9,423 wOUSD. If you hold for a while, you will still have 9,423 wOUSD, but when you unwrap the wOUSD, you receive 11,500 OUSD. + +Both OUSD and wOUSD earn at the same rate and can be transferred just like any other ERC-20 token. wOUSD is one of the first implementations of [EIP-4626](https://eips.ethereum.org/EIPS/eip-4626), which is an extension on ERC-20 that provides basic functionality for depositing and withdrawing tokens and reading balances on a tokenized vault. wOUSD was independently [audited by Solidified](https://github.com/OriginProtocol/security/blob/3dc8c1dec2f6fbf4f7d0bdf92408f79262624647/audits/Solidified%20-%20OGV,%20wOUSD,%20and%20ERC721a%20-%20May%202022.pdf) in May 2022 and is ready for production use. + +### Wrapping + +If you don’t already have OUSD, you can buy it from Gate.io, KuCoin, Curve, Uniswap, or [get it directly from the OUSD DApp](https://www.youtube.com/watch?v=UabjvL-7iu4). + +Once you have OUSD in your wallet, visit [ousd.com/wrap](https://ousd.com/wrap) and follow these steps: + +1. Connect your wallet +2. Enter the amount of OUSD that you want to wrap +3. Submit the allowance for the wOUSD contract to use your OUSD +4. Submit the transaction to wrap your OUSD + +![ousd.com/wrap](https://cdn-images-1.medium.com/max/1600/1\*57fSZSSlzebhpIl8R4UqUQ.png) + +### Unwrapping + +Unwrapping your OUSD does not require any approvals since you already hold the wOUSD in your wallet. There's also no minimum term or lock-up period. You can use the same form shown above and just click the arrow to flip it to unwrap mode. This form calls the `redeem` function to unwrap a spcific amount of wOUSD. You can also [use Etherscan](https://etherscan.io/address/0xd2af830e8cbdfed6cc11bab697bb25496ed6fa62#writeProxyContract) to call the `withdraw` function if you prefer to specify the amount of OUSD that you want to be taken out. + diff --git a/nl/core-concepts/yield-generation/README.md b/nl/core-concepts/yield-generation/README.md new file mode 100644 index 000000000..b1d3861bc --- /dev/null +++ b/nl/core-concepts/yield-generation/README.md @@ -0,0 +1,30 @@ +# Yield Generation + +**Automated Yield Farming** + +While the Cambrian explosion of new lending and automated market maker pools has fueled total value locked (TVL), it has also made it increasingly challenging for yield farmers to manually allocate capital in efficient and optimal ways. + +[Yearn](https://yearn.finance) has demonstrated that smart contracts can automate the rebalancing of funds across various strategies to optimally earn lending interest, market-making fees, and rewards tokens. Over time, new strategies will be deployed that maximize returns while minimizing risk and dependencies. + +![Automated yield farming on the OUSD protocol](../../.gitbook/assets/ousd_earnings_graphic.png) + +OUSD uses the following high-level strategies for generating yield: + +{% content-ref url="lending.md" %} +[lending.md](lending.md) +{% endcontent-ref %} + +{% content-ref url="market-making.md" %} +[market-making.md](market-making.md) +{% endcontent-ref %} + +{% content-ref url="rewards.md" %} +[rewards.md](rewards.md) +{% endcontent-ref %} + +OUSD is able to generate higher yields than competing protocols due to a combination of important design decisions that amplify the rewards that are returned to OUSD holders: + +* Exit fees are returned to the pool, rewarding long term holders +* Price oracles favor the collective over the individual, again rewarding long term holders +* Smart contracts must manually opt-in to earn yield. This allows the protocol to put more capital to work than would be otherwise possible. +* Smart strategies balance risk and reward more effectively than deploying capital in any single underlying strategy. diff --git a/nl/core-concepts/yield-generation/lending.md b/nl/core-concepts/yield-generation/lending.md new file mode 100644 index 000000000..fa7607781 --- /dev/null +++ b/nl/core-concepts/yield-generation/lending.md @@ -0,0 +1,26 @@ +# Lending + +**Unbank the Banked** + +DeFi lending platforms let users lend and borrow crypto assets without any middlemen. Both lenders and borrowers get more value from their crypto. Lenders earn interest, while borrowers deposit crypto as collateral to gain access to credit without traditional banking headaches. DeFi lending platforms currently provide far superior returns for lenders than are generally available in the traditional markets. + +OUSD integrates with DeFi lending platforms that provide over-collateralized loans. Over-collateralization, combined with smart rules around liquidations, provide a reasonable level of security for lenders. Aave also additionally secures their lending pools with AAVE tokens respectively, further lowering risk. + +OUSD integrates with leading lending providers that have a proven track record, audited smart contracts, and have successfully lent hundreds of millions of dollars without issue. We are currently integrated with the following lending platforms: + +{% content-ref url="../supported-strategies/compound.md" %} +[compound.md](../supported-strategies/compound.md) +{% endcontent-ref %} + +{% content-ref url="../supported-strategies/aave.md" %} +[aave.md](../supported-strategies/aave.md) +{% endcontent-ref %} + + + + + + + + + diff --git a/nl/core-concepts/yield-generation/market-making.md b/nl/core-concepts/yield-generation/market-making.md new file mode 100644 index 000000000..464b5f13e --- /dev/null +++ b/nl/core-concepts/yield-generation/market-making.md @@ -0,0 +1,22 @@ +# Market Making + +**Own your Stake in Decentralized Exchanges** + +Automated market makers (AMMs) have quickly risen as the preferred form of decentralized exchange on the Ethereum network. This is in part due to the difficulty of supporting order book DEXes on Ethereum 1.0 that can rival the instant and low-slippage experiences on centralized exchanges. Further, AMMs like Uniswap are relatively user-friendly and gas-efficient to use. + +AMMs can only enable new markets when liquidity providers supply liquidity (e.g. multiple tokens for given trading pairs or pools). In return for providing liquidity, liquidity providers are rewarded with trading fees when other users swap tokens. For example, when traders swap two tokens on Uniswap v3, they are currently charged anywhere between 0.05% and 1% on top of the gas fees. These fees are distributed pro-rata to liquidity providers of the pair based on the percentage of total liquidity that they have provided. + +{% hint style="info" %} +[Impermanent loss](https://medium.com/@pintail/uniswap-a-good-deal-for-liquidity-providers-104c0b6816f2) is an important risk factor to understand, but this concern is largely mitigated by OUSD only providing liquidity for stablecoins of approximately equal value. +{% endhint %} + +The OUSD protocol routes USDT, USDC, and DAI to highly-performing liquidity pools as determined by trading volume and rewards tokens (e.g. Curve rewards CRV tokens to liquidity providers). Yields are then passed on to OUSD holders. + +We are currently integrated with the following automated market maker: + +{% content-ref url="../supported-strategies/curve.md" %} +[curve.md](../supported-strategies/curve.md) +{% endcontent-ref %} + + + diff --git a/nl/core-concepts/yield-generation/rewards.md b/nl/core-concepts/yield-generation/rewards.md new file mode 100644 index 000000000..f598afe7c --- /dev/null +++ b/nl/core-concepts/yield-generation/rewards.md @@ -0,0 +1,12 @@ +# Rewards + +**Collecting Rewards** + +In addition to collecting interest from lending and fees from market making, we intend to automatically claim and convert the bonus incentives that are being distributed by many of the DeFi protocols. For example, Compound gives away COMP tokens and Curve gives away CRV tokens. These bonus rewards will be regularly converted into stablecoins, deployed in the market, and distributed to OUSD holders in the form of additional yield. + +{% hint style="info" %} +While the vault safely stores any unexpected rewards that it receives, custom strategies will need to be written and deployed to decide when and how the protocol should convert them to stablecoins. +{% endhint %} + +Today, rewards are a significant factor for yield farmers as they represent a large percentage of their returns. We anticipate that the OUSD protocol will be upgraded over time to take advantage of the most attractive yields available across the DeFi landscape. The protocol will factor in the market value of the various rewards being offered when deciding how to best allocate resources. + diff --git a/nl/faq.md b/nl/faq.md new file mode 100644 index 000000000..6d47859ae --- /dev/null +++ b/nl/faq.md @@ -0,0 +1,33 @@ +# FAQ + +**Where can I buy OUSD?** + +Check out [Getting Started](https://docs.ousd.com/getting-started) to see a variety of options. + +**What are the costs to mint and redeem OUSD?** + +As with any Ethereum transaction, you will need Ether to interact with the OUSD smart contract. We have taken measures to reduce gas usage where possible, but these costs can vary. + +Anytime you mint or redeem OUSD, there will be an exchange rate applied to your stablecoins deposited or withdrawn. You can read more about this in [Price Oracles](https://docs.ousd.com/core-concepts/price-oracles). + +To encourage long-term holding of OUSD and to protect the protocol from attackers, an exit fee of 0.25% is charged on all redeems. You can read more about this in [How It Works](https://docs.ousd.com/how-it-works). + +**How soon will my balance increase once I have OUSD?** + +The amount of OUSD in your wallet will grow each time there is a positive rebase event. You can read more about this in [Elastic Supply](https://docs.ousd.com/core-concepts/elastic-supply). The supply is currently rebased several times per day and is usually correlated with how many people are minting and redeeming OUSD. + +**Why does OUSD not grow when it's held in Uniswap, SushiSwap, etc?** + +By default, rebase events don't affect the supply of OUSD that is sitting in smart contracts. These contracts can opt in to receiving additional OUSD if they are capable of handling elastic supply tokens. You can read more about this in [Rebasing & Smart Contracts](https://docs.ousd.com/core-concepts/elastic-supply/rebasing-and-smart-contracts). + +**How is it possible for the APY to be so high?** + +You can read about our various strategies in [Yield Generation](https://docs.ousd.com/core-concepts/yield-generation). We currently get most of the yield from harvesting rewards tokens (namely COMP and CRV). Additionally, the yield increases as more OUSD is held in smart contracts that do not opt into rebasing since the underlying collateral continues to earn for the average OUSD holder. + +**Why is my balance increasing at a slower rate than the advertised APY?** + +OUSD balances increase when the supply is rebased. But the size of each rebase varies wildly depending on how much the vault has earned since the last rebase. And while most rebases collect a small amount earnings from lending strategies, other rebases involve liquidating rewards tokens or collecting fees. As a result, the yield will vary significantly during short time periods. + +**What about the hack? Is OUSD safe?** + +On November 7th 2020, OUSD was exploited for 7M USD due to a previously undetected reentrancy bug. You can read more [details about the hack](https://medium.com/originprotocol/urgent-ousd-has-hacked-and-there-has-been-a-loss-of-funds-7b8c4a7d534c) on our blog as well as the [detailed compensation plan](https://medium.com/originprotocol/origin-dollar-ousd-detailed-compensation-plan-faa73f87442e) for taking care of the affected users. Origin Dollar was relaunched in December after completing multiple audits and security upgrades. You can learn more about the steps taken to secure the protocol in our [relaunch announcement](https://medium.com/originprotocol/origin-dollar-ousd-is-back-b8ee0c601dad). diff --git a/nl/getting-started.md b/nl/getting-started.md new file mode 100644 index 000000000..a02770326 --- /dev/null +++ b/nl/getting-started.md @@ -0,0 +1,71 @@ +# Getting Started + +These docs are intended to explain how OUSD works, communicate the potential risks and benefits, and provide a guide for developers who wish to contribute to our codebase or integrate OUSD into their products. Here are a few ways for you to dive in and get started. + +**Buying OUSD** + +{% hint style="info" %} +The [Origin Dollar DApp](https://ousd.com/swap) will intelligently route your transaction to get you the best rate. +{% endhint %} + +The [Origin Dollar DApp](https://ousd.com/swap) allows anyone to buy or sell OUSD using a web-3 enabled cryptocurrency wallet like [Metamask](https://www.metamask.io), [Ledger](https://www.ledger.com), or [Gnosis Safe](https://gnosis-safe.io). This is the native way to get OUSD, especially if you want a large amount that could risk moving the market on other exchanges. The DApp will intelligently decide whether to create or trade-in OUSD tokens using the vault or help you complete the trade on whichever AMM is currently offering the best rate. + +**Decentralized Exchanges** + +OUSD is currently available on the following decentralized exchanges. These are listed here for reference only. We recommend using the [Origin Dollar DApp](https://ousd.com/swap) to ensure you always get the best rate. + +* [Buy OUSD on 1inch](https://app.1inch.io/#/1/swap/USDT/OUSD) +* [Buy OUSD on Curve](https://curve.fi/factory/9) +* [Buy OUSD on Uniswap v3](https://app.uniswap.org/#/swap?inputCurrency=0xdac17f958d2ee523a2206206994597c13d831ec7\&outputCurrency=0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86) +* [Buy OUSD on Uniswap v2](https://app.uniswap.org/#/swap?inputCurrency=0xdac17f958d2ee523a2206206994597c13d831ec7\&outputCurrency=0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86\&use=v2) +* [Buy OUSD on Sushiswap](https://exchange.sushiswapclassic.org/#/swap?inputCurrency=0xdac17f958d2ee523a2206206994597c13d831ec7\&outputCurrency=0x2a8e1e676ec238d8a992307b495b45b3feaa5e86) + +**Centralized Exchanges** + +OUSD is currently available on the following centralized exchanges. Be sure to check on how they are handling the yield that is being generated by the protocol. Depending on the exchange, there may be additional steps you need to take to participate in the yield while it's being held in their custody. + +* Buy OUSD on KuCoin + * [OUSD/USDT](https://trade.kucoin.com/OUSD-USDT) + * [OUSD/BTC](https://trade.kucoin.com/OUSD-BTC) +* Buy OUSD on Gate.io + * [OUSD/USDT](https://www.gate.io/trade/OUSD\_USDT) +* Buy OUSD on Virgox + * [OUSD/USDT](https://virgox.com/exchange/141) +* [Buy OUSD on Dharma App](https://www.dharma.io) (US only) + +We're continuing to work on making OUSD available on additional centralized exchanges. + +**Adding OUSD to Your Wallet** + +{% hint style="success" %} +The main ERC20 address for Origin Dollar (OUSD) is: \ +**0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +If your OUSD does not automatically show up in your wallet, you should be able to add it manually using the address above. If you are planning on [storing your OUSD in a multi-sig wallet](core-concepts/elastic-supply/rebasing-and-smart-contracts.md), be sure to opt-in to receive yield. We want to have OUSD supported by as many wallets as possible and included on all the various lists of well-known tokens. We would greatly appreciate any help you can offer in this area. + +**Integrating OUSD** + +OUSD is a non-standard ERC-20 token that requires custom integration work for most applications that wish to support it. In particular, it is important for developers to understand how our elastic supply works as this can easily cause unexpected behavior. + +If you are a wallet provider or crypto exchange that is interested in supporting OUSD, please refer to the following guides: + +{% content-ref url="core-concepts/elastic-supply/rebasing-and-smart-contracts.md" %} +[rebasing-and-smart-contracts.md](core-concepts/elastic-supply/rebasing-and-smart-contracts.md) +{% endcontent-ref %} + +{% content-ref url="smart-contracts/architecture.md" %} +[architecture.md](smart-contracts/architecture.md) +{% endcontent-ref %} + +{% content-ref url="smart-contracts/api/" %} +[api](smart-contracts/api/) +{% endcontent-ref %} + +**Developer Analytics** + +Our internal developer dashboard is available at [analytics.ousd.com](https://analytics.ousd.com). The dashboard shows the current circulating supply, the assets under management in the vault, and the current allocations between each of the stablecoins and strategies. + +**Getting Help** + +Please join the Origin Dollar #engineering room in Origin's [Discord](https://www.originprotocol.com/discord) server. Our team and members of our community look forward to helping you build. Your questions help us improve, so please don't hesitate to ask if you can't find what you are looking for here. diff --git a/nl/governance/admin-privileges.md b/nl/governance/admin-privileges.md new file mode 100644 index 000000000..30ed8065a --- /dev/null +++ b/nl/governance/admin-privileges.md @@ -0,0 +1,32 @@ +# Admin Privileges + +The OUSD smart contracts are designed to be owner upgradable. The Origin team uses two different Gnosis multisig wallet contracts in order to make changes to the protocol. These multisig wallets have been [audited by OpenZeppelin](https://blog.openzeppelin.com/gnosis-multisig-wallet-audit-d702ff0e2b1e/), [ConsenSys Dilligence](https://blog.gnosis.pm/the-gnosis-multisig-wallet-and-our-commitment-to-security-ce9aca0d17f6), Origin’s team, and others. + +{% hint style="info" %} +Time-delayed admin actions gives users a chance to exit OUSD if its admins become malicious, are compromised, or make a change that the users do not like. +{% endhint %} + +### Admin + +The primary admin is a 5 of 8 multisig contract which is required to make any code changes to the protocol. OUSD can only be upgraded from this 5 of 8 multi-sig wallet. The keys to this multi-sig are held by individuals with close ties to the company, and not even the Origin founders acting together have enough control to execute owner functions on their own. In addition, the OUSD contracts are owned by a [timelock](../smart-contracts/api/timelock.md) which places a 48 hour time delay before any changes to the protocol can be made. + +### Strategist + +Some functionality, such as rebalancing funds between strategies or pausing deposits, can be triggered without the timelock and with far fewer signers. This allows the Origin team to react more quickly to market conditions or security threats. These signers, known as Strategists, have the ability to execute a limited number of functions __ with only 2 of 9 signers. + +The strategist multisig can do the following actions on the vault: + +* reallocate - move funds between strategies +* setVaultBuffer - adjust the amount of funds held outside strategies for cheaper redeems. +* setAssetDefaultStrategy - which strategy mints and redeems pull from for a particular strategy +* withdrawAllFromStrategy - remove funds from a single strategy and send them to the vault +* withdrawAllFromStrategies - remove funds from all active strategies and send them to the vault +* pauseRebase - pause all rebases +* pauseCapital - pause all mints and redeems +* unpauseCapital - allow all mints and redeems + +### Future + +Having these admin privileges is necessary in the early days to ensure that the protocol is secure and optimized for earning yields while minimizing risks. We expect to release multiple iterations of our smart contracts in the first several months of the protocol's existence. + +Once several upgrade cycles have been completed, we intend to transfer ownership from our company control to a decentralized governance contract, thereby allowing the community to vote and participate in future protocol updates. diff --git a/nl/governance/contributing.md b/nl/governance/contributing.md new file mode 100644 index 000000000..5b63d22c7 --- /dev/null +++ b/nl/governance/contributing.md @@ -0,0 +1,103 @@ +# Contributing + +**100% Open-source** + +OUSD is an entirely open-source project and we welcome contributions of all sorts. There are many ways to help, from reporting issues, contributing code, and helping us improve our community. + +{% content-ref url="broken-reference" %} +[Broken link](broken-reference) +{% endcontent-ref %} + +We work in public and our company Discord is open to all. If you have questions or need help getting started, our [Discord OUSD channels](https://discord.gg/jyxpUSe) are the best place to get assistance from our team and community. + +{% content-ref url="broken-reference" %} +[Broken link](broken-reference) +{% endcontent-ref %} + +**Developer Analytics** + +Our internal developer dashboard is available at [analytics.ousd.com](https://analytics.ousd.com). The dashboard shows the current circulating supply, the assets under management in the vault, and the current allocations between each of the stablecoins and strategies. Various other developer tools can be found at [ousd.com/dashboard](https://ousd.com/dashboard). + +#### Development Process + +Our branching strategy is similar to [GitFlow](http://nvie.com/posts/a-successful-git-branching-model/), but we do all of our development in the `master` branch and have a `stable` branch for code that has been released. + +Your development flow should look like: + +1. Find an interesting issue and communicate! Please let the `#engineering` [Discord](https://discord.gg/jyxpUSe) channel know what you want to work on. +2. Ping a [core team member](https://github.com/orgs/OriginProtocol/teams/core/members) member on Discord and ask to be added to our [contributors team](https://github.com/orgs/OriginProtocol/teams/contributors). Otherwise, you’ll need to fork the relevant repository and push feature branches to your own fork. +3. Add a comment to the issue or self-assign so we don’t have multiple contributors unintentionally working on the same task. +4. Start with the `master` branch and check out a new feature branch unless you’re contributing to an existing feature. +5. Write some awesome code. +6. Pull the latest commits from `master` and confirm that your code works with any other work that has been merged since you started. +7. Push your branch to the upstream repository (i.e. https://github.com/OriginProtocol/\[repo]) so that other contributors can easily work off of it if necessary. +8. Please request a review in the PR by clicking on the gear icon next to “Reviewers” in the right column. + +For critical smart contract code to be merged it must pass the following checklist: + +* Code reviewed by 2 reviewers +* Unit tests pass +* Slither tests pass with no warning +* Echidna tests pass + +The `master` branch is locked so that only members of the [core team](https://github.com/orgs/OriginProtocol/teams/core) are able to merge your pull requests. Pull requests that are peer-reviewed by other trusted contributors will be fast-tracked and merged faster! Check in the `#engineering` Discord channel for appropriate reviewers. + +#### Coding Style + +We use a variety of programming languages in our repositories. When contributing, please follow existing coding conventions and refer to the CONTRIBUTING.md file in the repository, if one exists. + +For JavaScript, we use [NPM’s style](https://docs.npmjs.com/misc/coding-style), which is automatically enforced via [prettier](https://prettier.io). + +For Solidity, we use two-space indents. + +#### Protocol Design + +When considering protocol or implementation design proposals, we are looking for: + +* A description of the problem this design proposal solves +* Discussion of the trade-offs involved +* Review of other existing solutions +* Links to relevant literature (RFCs, papers, etc) +* Discussion of the proposed solution + +Please note that protocol design is hard and meticulous work. You may need to review existing literature and think through generalized use cases. + +#### Community Guidelines + +We want to keep the Origin community awesome, growing and collaborative. We need your help to keep it that way. To help with this we’ve come up with some general guidelines for the community as a whole: + +* Be nice: Be courteous, respectful and polite to fellow community members: no regional, racial, gender, or other abuse will be tolerated. We like nice people way better than mean ones! +* Encourage diversity and participation: Make everyone in our community feel welcome, regardless of their background and the extent of their contributions, and do everything possible to encourage participation in our community. +* Keep it legal: Basically, don’t get anybody in trouble. Share only content that you own, do not share private or sensitive information, and don’t break laws. +* Stay on topic: Make sure that you are posting to the correct channel and avoid off-topic discussions. Remember when you update an issue or respond to an email you are potentially sending to a large number of people. Please consider this before you update. Also remember that nobody likes spam. + +#### Reporting Issues + +If you find bugs, mistakes or inconsistencies in Origin’s code or documents, please let us know by filing a GitHub issue. No issue is too small. Help us fix our tpyos! + +#### Security Issues + +OUSD is still in early development, which means there may be problems with the protocol or in our implementations. We take security vulnerabilities very seriously. If you discover a security issue, please bring it to our attention right away! + +If you find a security vulnerability please send your report privately to [security@originprotocol.com](mailto:security@originprotocol.com) or send an encrypted message to [@joshfraser on Keybase](https://keybase.io/joshfraser). Please DO NOT file a public issue. Be sure to review our guidelines for responsible disclosure and eligibility for bug bounties. + +{% content-ref url="../security-and-risks/bug-bounties.md" %} +[bug-bounties.md](../security-and-risks/bug-bounties.md) +{% endcontent-ref %} + +#### **Community Improvement** + +Origin is just as much about community as it is about our technology. + +We need constant help in improving our documentation, building new tools to interface with our platform, spreading the word to new users, helping new users getting setup and much more. + +Please get in touch if you would like to help out. Our `discussion` channel on [Discord](https://www.originprotocol.com/discord) is a great place to share ideas and volunteer to help. + +#### Full-Time Positions + +Origin occasionally hires developers for part-time or full-time positions. + +We have a strong preference for hiring people who have already started contributing to the project. If you want a full-time position on our team, your best shot is to engage with our team and start contributing code. It is very unlikely that we would offer you a full-time position on our engineering team unless you’ve had at least a few pull requests merged. + +If you are interested, check out [the Origin Protocol job listings](https://angel.co/originprotocol/jobs). If you’d like to help in other ways, please propose your ideas in [our Discord channel](https://www.originprotocol.com/discord). + diff --git a/nl/governance/governance.md b/nl/governance/governance.md new file mode 100644 index 000000000..eea11a787 --- /dev/null +++ b/nl/governance/governance.md @@ -0,0 +1,26 @@ +# Principles + +**Progressive Decentralization** + +OUSD is designed to be a decentralized protocol governed by many stakeholders all over the world. We believe that the minters and holders of OUSD should collectively determine important protocol decisions as soon as possible. + +That being said, in the very early days, it is imperative that the core engineering team can act quickly and decisively to build the foundational parts of the protocol. + +Decentralization will progress across four phases rapidly over the next few months. It is our intent to relinquish control and governance to the community as soon as possible. + +![](../.gitbook/assets/ousd_docs_graphics_2%20%283%29.png) + +**Timelock** + +Prior to full decentralized governance, we will implement a [timelock](../smart-contracts/api/timelock-1.md) in front of all admin function calls, giving OUSD users time \(48 hours\) to withdraw their funds if they have objections to our proposed upgrades. This timelock will be added shortly after launch. + +**New and Existing Stakeholders** + +OUSD is a new project founded by Origin Protocol [team](www.originprotocol.com/team) and will be supported by the existing Origin community as well as many new stakeholders that choose to mint, hold, use, and provide liquidity for OUSD. + +In addition, we also want to ensure high participation from our existing Origin Token \(OGN\) holders, community of close to 500,000 members, and buyers/sellers on the Platform. Existing OGN holders will be able to stake their OGN to participate in governance and earn incentives for driving value to OUSD. More details will be provided in the near future. + +The strong connection between OUSD and the rest of the Origin commerce platform will fuel growth in both initiatives. + + + diff --git a/nl/governance/ogn-staking.md b/nl/governance/ogn-staking.md new file mode 100644 index 000000000..e7a3e0bc2 --- /dev/null +++ b/nl/governance/ogn-staking.md @@ -0,0 +1,18 @@ +# OGN Staking + +Origin Token (OGN) is intended as the governance token for OUSD and OGN will play an increasingly important role as the Origin Platform becomes more decentralized. Today, users can stake their OGN tokens to earn additional OGN after a chosen staking period has elapsed. + +{% hint style="info" %} +Visit the [OUSD DApp](https://www.ousd.com/stake) in a web3-enabled browser to stake your OGN. +{% endhint %} + +The initial staking program offers three staking periods and respective yields: + +* 30-day staking period: Earn 7.5% annualized interest +* 90-day staking period: Earn 12.5% annualized interest +* 365-day staking period: Earn 25% annualized interest + +Staked tokens will be locked for the duration of the staking period. After each staking period ends, you will be able to claim both your initial OGN (principal) and yield. + +OGN is currently trading on top exchanges like [Coinbase](https://www.coinbase.com/price/origin-token), [Binance](https://www.binance.com/en/register?ref=NPPYAEAE), [Huobi](https://www.huobi.com/en-us/exchange/ogn_usdt/), [Upbit](https://upbit.com/exchange?code=CRIX.UPBIT.BTC-OGN), [Bittrex Global](https://global.bittrex.com/Market/Index?MarketName=BTC-OGN), and [dozens more](https://coinmarketcap.com/currencies/origin-protocol/markets/). Visit the Origin website to [learn more about OGN](https://www.originprotocol.com/ogn-token) or check out the [OGN Dashboard](https://www.originprotocol.com/dashboard) to track important token metrics. + diff --git a/nl/governance/phases.md b/nl/governance/phases.md new file mode 100644 index 000000000..4b45be826 --- /dev/null +++ b/nl/governance/phases.md @@ -0,0 +1,6 @@ +# Phases + +Progressive decentralization will follow four phases as outlined below. + +![](../.gitbook/assets/ousd_docs_graphics_2%20%282%29.png) + diff --git a/nl/governance/principles.md b/nl/governance/principles.md new file mode 100644 index 000000000..b809ce66f --- /dev/null +++ b/nl/governance/principles.md @@ -0,0 +1,30 @@ +# Principles + +**Governance Portal** + +OGN holders are encouraged to participate in creating and voting on proposals that impact the protocol in the [OGN governance portal](https://vote.originprotocol.com). Anyone with at least 1,000 OGN in their wallet or staked in our OGN Staking contract can create a new proposal using Snapshot. All OGN holders are able to vote for proposals. Our desire is for our community to have a strong impact on the direction of Origin’s products, open-source codebase, and to have a voice in key business decisions and the overall direction of the project. + +OGN holders can also [delegate votes](vote-delegation.md) to another account. + +**Progressive Decentralization** + +OUSD is designed to be a decentralized protocol governed by many stakeholders all over the world. We believe that the holders of OUSD should collectively determine important protocol decisions as soon as possible. + +That being said, in the very early days, it is imperative that the core engineering team can act quickly and decisively to build the foundational parts of the protocol. + +Decentralization will progress across four phases rapidly over the next few months. It is our intent to relinquish control and governance to the community as soon as possible. + +![](../.gitbook/assets/ousd\_docs\_graphics\_2 (2).png) + +**Timelock** + +Prior to full decentralized governance, we will implement a [timelock](../smart-contracts/api/timelock.md) in front of all admin function calls, giving OUSD users time to withdraw their funds if they have objections to our proposed upgrades. + +**New and Existing Stakeholders** + +OUSD is a new project founded by Origin Protocol [team](https://www.originprotocol.com/team) and will be supported by the existing Origin community as well as many new stakeholders that choose to mint, hold, use, and provide liquidity for OUSD. + +In addition, we also want to ensure high participation from our existing Origin Token (OGN) holders and the millions of people in our community. Existing OGN holders are able to [stake their OGN](ogn-staking.md) to participate in governance and earn incentives for driving value to OUSD. + +The strong connection between OUSD and the rest of the Origin commerce platform will fuel growth in both initiatives. + diff --git a/nl/governance/vote-delegation.md b/nl/governance/vote-delegation.md new file mode 100644 index 000000000..9a8149d2f --- /dev/null +++ b/nl/governance/vote-delegation.md @@ -0,0 +1,18 @@ +# Vote Delegation + +OGN holders can forward their voting power on the [Governance Portal](https://vote.originprotocol.com/#/) to another Ethereum address. Choosing this option does not strip the delegator of their voting power. The delegatee receives the extra voting power only on proposals the delegator has not voted on. + +This is convenient when users want someone they trust or even one of Origin's team members to make governance decisions regarding Origin's ecosystem. It is also useful when users have OGN stored more safely in a hardware wallet and don’t want to go through the hassle of connecting it to the computer. A more accessible Ethereum wallet e.g. Metamask can be used to vote by having voting power delegated to it from the hardware wallet.\ + + +**How to Delegate** + +* Go to: [https://snapshot.org/#/delegate](https://snapshot.org/#/delegate). +* Type in the address or ENS name you want to delegate to. +* There is an option to limit the delegation power to only Origin’s products by selecting _Limit delegation to a specific space_ and typing in “origingov.eth”. +* Click confirm to save your delegation.\ + + +![](../.gitbook/assets/Screenshot 2022-03-20 at 10.47.43.png) + +After completing these steps, the OGN voting power is successfully delegated to the address specified. diff --git a/nl/guides/incentivized-harvesting-guide.md b/nl/guides/incentivized-harvesting-guide.md new file mode 100644 index 000000000..a24597e9c --- /dev/null +++ b/nl/guides/incentivized-harvesting-guide.md @@ -0,0 +1,46 @@ +# Incentivized Harvesting Guide + +The OUSD Harvester contract collects reward tokens earned by the OUSD strategies, sells them, and sends them on to increase protocol yield. **Anyone can call the harvest and earn 1% of the resulting USDT** for doing so. This creates a self-incentivizing system that operates at a known cost to the protocol. + +### When to call + +You'll want to call this contract when it is profitable to do so. You gain the 1% harvest USDT given by the contract, and spend the gas cost to send the transaction. + +The simplest way to calculate both of these is to simulate the transaction. You can then look at the resulting transfers to know the income received, and you can look at the gas amount used, the current gas prices, and the current cost of ETH, to find out the cost. + +Alternatively you can precompute the gas used for a given strategy's harvest, look up the pending reward tokens using various online services, then do your calculations without using the blockchain. + +The amount of rewards increases at a fairly steady, predictable rate. The primary variation is in gas prices, which will make a much bigger minute to minute difference on when you should call this. + +When calculating profitability, remember to account for the cost to swap back to ETH from USDT. + +### How to call + +When you call the harvest, **you will want to use some form of MEV protection**. Otherwise bots will see that your transaction is profitable, and execute it ahead of you, leaving you no gain and only gas fees. + +To harvest, you call `harvester.harvestAndSwap(strategyAddress, rewardTo)`. + +The harvester address and strategyAddresses can be found in the strategy tab of the [contract registry](../smart-contracts/registry.md). The `rewardTo` address is the account that will receive the USDT funds as a reward for calling the function - use your own address for it. + +Below is the harvestAndSwap ABI: + +``` +[{ + "inputs": [ + { + "internalType": "address", + "name": "_strategyAddr", + "type": "address" + }, + { + "internalType": "address", + "name": "_rewardTo", + "type": "address" + } + ], + "name": "harvestAndSwap", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" +}] +``` diff --git a/nl/guides/integration-guide-for-exchanges.md b/nl/guides/integration-guide-for-exchanges.md new file mode 100644 index 000000000..cda6f2cd1 --- /dev/null +++ b/nl/guides/integration-guide-for-exchanges.md @@ -0,0 +1,34 @@ +# Integration Guide For Exchanges + +Centralized exchanges will play an important role in helping us reach our goal of making OUSD ubiquitous. We are happy to help any exchange that wants to make OUSD available to its users. We believe OUSD will make a great addition to any exchange that wants to offer both a superior stablecoin and a new high-yield opportunity for their users. + +These docs are a great starting point for understanding how OUSD works. Here are some important questions for exchanges that wish to integrate OUSD to consider: + +**Do you want to participate in the yield that is generated?** + +We're assuming the answer will be yes and we highly encourage this as well! However, there may be some instances where you would prefer to move fast and list OUSD without participating in the [rebasing nature of OUSD](../core-concepts/elastic-supply/rebasing-and-smart-contracts.md) since it's the fastest and simplest integration. For exchanges that want to list OUSD, but are strapped for engineering resources, you may want to launch the non-rebasing version first while your engineers make whatever changes are necessary. To make OUSD non-rebasing you can call `rebaseOptOut()` from each EOA wallet that holds OUSD, or do nothing if you are storing OUSD on smart contracts. Non-rebasing OUSD behaves just like any other ERC-20 token. + +**Are you storing customer balances on smart contracts (ie. multi-sigs) or EOA wallets?** + +Any smart contract that is holding OUSD needs to manually opt-in to receive the yield by calling `rebaseOptIn()`. This is due to the [elastic supply](../core-concepts/elastic-supply/) and the [rebasing nature of OUSD](../core-concepts/elastic-supply/rebasing-and-smart-contracts.md). Many exchanges sweep customer funds into a multi-sig wallet for cold storage. If you do this, you'll want to make sure that you opt-in to rebasing so that you are always earning. + +**Are you caching user balances?** + +OUSD dynamically updates the value returned by the `balanceOf()` function on our ERC20 contract. Users' balances will update at unpredictable times as new yield is generated by the protocol. As long as you aren't caching this value, users will always see the correct amount of OUSD that they are holding. + +It's important to note that while OUSD is a rebasing token, user balances will only rebase in a positive direction (your balance will never go down). This makes things a lot simpler than integrating with other rebasing coins like AMPL or other algo-stables. + +**Are you comingling user funds?** + +If you are comingling funds, you'll want to be sure that each user gets their pro-rata amount of the yield that is generated by the protocol. Probably the easiest way to do this is to track each user's balance as a percentage of a pool instead of as a fixed amount. + +**Are you planning to provide liquidity?** + +The Origin team is often willing to provide a market maker and initial liquidity for exchanges that wish to integrate OUSD. There are also 9 figures worth of liquidity available on decentralized exchanges like [Curve](https://curve.fi/factory/9). + +If you are interested in using OUSD to power your own staking or earning program, you will probably want to be able to access OUSD on demand. OUSD can always be minted or redeemed using the [Origin Dollar DApp](https://www.ousd.com), or directly from the OUSD [smart contracts](../smart-contracts/registry.md). If you are planning on providing liquidity yourself, you should be aware that the exact amount of OUSD you will receive in exchange for your USDT, USDC, or DAI depends on the current exchange rates as determined by the [oracles.](../core-concepts/price-oracles.md) If you are planning on redeeming OUSD for the underlying stablecoins, you should know there is a 0.25% exit fee and OUSD will return a basket of stable coins in proportion to the backing stablecoins in the pool. We encourage exchanges to leverage existing pools of liquidity to avoid those fees. If possible, mints or redeems should be done in large batches for maximum efficiency. + +#### Do you have other questions? + +The best way to get help from both our engineering and business teams is usually on [Discord](https://www.originprotocol.com/discord). + diff --git a/nl/how-it-works.md b/nl/how-it-works.md new file mode 100644 index 000000000..061ececf6 --- /dev/null +++ b/nl/how-it-works.md @@ -0,0 +1,39 @@ +# How It Works + +#### 100% Backed and Stable + +Origin Dollar (OUSD) is an ERC-20 compliant token for the Ethereum network. + +OUSD is a stable currency that is backed 1:1 by other stablecoins like USDT, USDC and DAI. As a result, 1 OUSD should always be very close to 1 USD in value. + +{% hint style="success" %} +1 OUSD = 1 USD +{% endhint %} + +#### Buying OUSD + +Users can convert their existing stablecoins (currently USDT, USDC, and DAI) to OUSD at the official [Origin Dollar DApp](https://www.ousd.com). Received OUSD begins accruing compounding yield immediately. + +The Origin DApp will intelligently route user's transactions to give them the best available price while taking slippage and gas costs into consideration. This means that the DApp will sometimes encourage users to buy OUSD that is already in circulation versus minting fresh OUSD from the vault. The OUSD DApp will choose from multiple sources of liquidity and will suggest the option that gives the user the best possible rate. + +**Selling OUSD** + +Users can convert their OUSD back into other stablecoins at any time using the [Origin Dollar DApp](https://www.ousd.com). The Origin DApp will intelligently route user's transactions to give them the best available price while taking slippage, gas costs, and the vault's exit fee into consideration. This means that the DApp will often help users sell their OUSD on AMM's instead of redeeming OUSD with the vault and incurring the protocol's exit fee. + +A 0.25% exit fee is charged upon redemption with the vault. This fee is distributed as additional yield to the remaining participants in the vault (ie. other OUSD holders). The fee serves as a security feature to make it difficult for attackers to take advantage of lagging oracles, preventing them from siphoning stablecoins from the vault in the event of mispriced underlying assets. The fee exists to incentivize long-term holders over short-term speculators. + +Upon redemption, the vault will determine which stablecoin(s) to return to the user. In the current implementation, the vault will return coins in the same ratio as the current holdings. This lack of user optionality also protects the vault as a whole in the event that any of the supported stablecoins loses its peg to the dollar. + +{% hint style="warning" %} +Redemptions on the OUSD vault incur a **0.25% exit fee** and the user doesn't get to pick which stablecoins they receive. Users can often avoid this fee by selling to an AMM instead. +{% endhint %} + +#### A**utomated Yield Farming** + +OUSD generates yields by deploying the underlying stablecoins that were deposited to the OUSD smart contract to other DeFi protocols such as Compound, Aave, and Curve. There may be new diversified strategies added to the vault in the future. Collected interest, trading fees, and rewards tokens are pooled and converted to stablecoins to produce OUSD-denominated yields. Over time, the protocol will move assets in and out of different liquidity pools in order to provide the best yield to the holders of OUSD. + +#### **Elastic Supply** + +The generated returns are passed on to the holders of OUSD via constant rebasing of the money supply. OUSD constantly adjusts the money supply in response to the yield the protocol has generated. This allows the price of OUSD to stay pegged at $1 while the balances in token holders' wallets adjust in real-time to reflect yields that have been earned by the protocol. + +The end result is a stablecoin that is easy to spend, earns outsized yields automatically, and is more desirable to hold than existing stablecoins. diff --git a/nl/security-and-risks/asset-risk.md b/nl/security-and-risks/asset-risk.md new file mode 100644 index 000000000..92140f5ed --- /dev/null +++ b/nl/security-and-risks/asset-risk.md @@ -0,0 +1,33 @@ +# Bug Bounties + +**Bug Bounties** + +Bug bounties are granted at the full discretion of Origin Protocol. The rewards range in size from **$100** for minor issues to **$250,000** for major vulnerabilities. Currently, the bounty program only applies to OUSD and not other products from Origin. + +{% hint style="warning" %} +In order to be eligible for a bug bounty, you must follow the rules of Responsible Disclosure outlined below. +{% endhint %} + +**Responsible Disclosure** + +Security is our top priority and we've taken every effort to make sure our code is secure and works as intended. However, it's completely possible that vulnerabilities both large and small may have gone undetected. + +In case you discover a vulnerability, we would like to know about it immediately so we can take steps to address it as quickly as possible. + +If you discover a vulnerability, please do the following: + +* Report your findings to [security@originprotocol.com](mailto:security@originprotcol.com) or contact [Josh Fraser on Keybase](https://keybase.io/joshfraser) +* Do not take advantage of the vulnerability or problem you have discovered +* Do not reveal the problem to others until it has been resolved +* Do not use attacks on physical security, social engineering, distributed denial of service, spam or applications of third parties +* Do provide sufficient information to reproduce the problem, so we will be able to resolve it as quickly as possible. Complex vulnerabilities may require further explanation so we might ask you for additional information. + +In return, we promise: + +* We will respond to your report within 3 business days with our evaluation of the report and an expected resolution date +* If you have followed the instructions above, we will not take any legal action against you in regard to the report +* We will handle your report with strict confidentiality, and not pass on your personal details to third parties without your permission +* If you so wish we will keep you informed of the progress towards resolving the problem +* In the public information concerning the problem reported, we will give your name as the discoverer of the problem \(unless you desire otherwise\) +* As a token of our gratitude for your assistance, we offer a reward for every report of a security problem that was not yet known to us. The amount of the reward will be determined based on the severity of the leak, the quality of the report, and any additional assistance you provide. + diff --git a/nl/security-and-risks/audits.md b/nl/security-and-risks/audits.md new file mode 100644 index 000000000..8d5402c70 --- /dev/null +++ b/nl/security-and-risks/audits.md @@ -0,0 +1,40 @@ +# Audits + +**The OUSD Vault, ERC-20, and Overall System** + +OUSD has been audited by multiple, well-respected security firms. We have worked with [OpenZeppelin](https://openzeppelin.com), [Trail of Bits](https://www.trailofbits.com), [Solidified](https://solidified.io), and [Certora](https://www.certora.com) to audit all of the code that powers Origin Dollar. Their findings are available below: + +* [Trail of Bits, OUSD Audit, December 2020](https://github.com/OriginProtocol/security/blob/master/audits/Trail%20of%20Bits%20-%20Origin%20Dollar%20-%20Dec%202020.pdf) +* [Solidified, OUSD Audit, December 2020](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20Origin%20Dollar%20-%20Dec%202020.pdf) +* [Solidified, OGN Staking Audit, December 2020](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20OGN%20Staking%20-%20Dec%202020.pdf) +* [Certora, OUSD Formal Verification Audit, January 2021](https://www.certora.com/pubs/OriginFeb2021.pdf) +* [OpenZeppelin, OUSD Audit, August 2021](https://github.com/OriginProtocol/security/blob/master/audits/OpenZeppelin%20-%20Origin%20Dollar%20-%20October%202021.pdf) +* [Solidified, wOUSD, ERC721a, Governance, Harvester & Dripper Audit, May 2022](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20OGV%2C%20wOUSD%2C%20and%20ERC721a%20-%20May%202022.pdf) + +Both our initial and future governance tokens have been audited as well: + +* [Trail of Bits, OGN Audit, November 2018](https://github.com/OriginProtocol/security/blob/master/audits/Trail%20of%20Bits%20-%20Origin%20Marketplace%20and%20OGN%20Token%20-%20Nov%202018.pdf) +* [Solidified, OGV Audit, May 2022](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20OGV%2C%20wOUSD%2C%20and%20ERC721a%20-%20May%202022.pdf) + +In addition, the underlying strategies and dependencies that OUSD utilizes have been thoroughly audited by various firms. + +{% hint style="info" %} +OUSD only integrates strategies that have been carefully audited and battle-tested with significant capital over an extended period of time. +{% endhint %} + +**Compound Strategy and Open Price Feed** + +Compound has been audited by [Trail of Bits](https://www.trailofbits.com) and [OpenZeppelin](https://openzeppelin.com) and formally verified by [Certora](https://www.certora.com). Visit the Compound website for their [full list of audits](https://compound.finance/docs/security#audits) including the original code for the modified [Timelock](../smart-contracts/api/timelock.md) that OUSD is using. + +**Aave Strategy** + +Aave has been audited by [Trail of Bits](https://www.trailofbits.com), [OpenZeppelin](https://openzeppelin.com), [ConsenSys Diligence](https://consensys.net/diligence/), [Certik](https://certik.io), [MixBytes](https://mixbytes.io), and [PeckShield](https://peckshield.com). They have also been formally verified by [Certora](https://www.certora.com). Visit the Aave website for [their full list of audits](https://docs.aave.com/developers/security-and-audits). + +**Curve Strategy** + +Curve has been audited by [Trail of Bits](https://www.trailofbits.com) and [Quantstamp](https://quantstamp.com). Visit the Curve website for [their full list of audits](https://www.curve.fi/audits). + +**Chainlink Oracles** + +Chainlink has been audited by [Quantstamp](https://github.com/smartcontractkit/chainlink/tree/bafa91c), [SigmaPrime](https://github.com/smartcontractkit/chainlink/tree/cee356), [Callisto](https://gist.github.com/yuriy77k/c3a70d212a7f9ecda715252e45073158), and [Nick Johnson](https://github.com/smartcontractkit/chainlink/tree/5327f9). + diff --git a/nl/security-and-risks/bug-bounties.md b/nl/security-and-risks/bug-bounties.md new file mode 100644 index 000000000..d6e21196f --- /dev/null +++ b/nl/security-and-risks/bug-bounties.md @@ -0,0 +1,32 @@ +# Bug Bounties + +**Bug Bounties** + +Bug bounties are granted at the full discretion of Origin Protocol. The rewards range in size from **$100 OUSD** for minor issues to **$250,000 OUSD** for major vulnerabilities. Currently, the bounty program only applies to OUSD and not other products from Origin. + +{% hint style="warning" %} +In order to be eligible for a bug bounty, you must follow the rules of Responsible Disclosure outlined below. +{% endhint %} + +**Responsible Disclosure** + +Security is our top priority and we've taken every effort to make sure our code is secure and works as intended. However, it's completely possible that vulnerabilities both large and small may have gone undetected. + +In case you discover a vulnerability, we would like to know about it immediately so we can take steps to address it as quickly as possible. + +If you discover a vulnerability, please do the following: + +* Report your findings to [security@originprotocol.com](mailto:security@originprotocol.com) or contact [Josh Fraser on Keybase](https://keybase.io/joshfraser). Here is an example of a [well written disclosure](https://gist.github.com/DanielVF/66f459da88804d1fd917c47576c68523). +* Do not take advantage of the vulnerability or problem you have discovered +* Do not reveal the problem to others until it has been resolved +* Do not use attacks on physical security, social engineering, distributed denial of service, spam or applications of third parties +* Do provide sufficient information to reproduce the problem, so we will be able to resolve it as quickly as possible. Complex vulnerabilities may require further explanation so we might ask you for additional information. + +In return, we promise: + +* We will respond to your report within 3 business days with our evaluation of the report and an expected resolution date +* If you have followed the instructions above, we will not take any legal action against you in regard to the report +* We will handle your report with strict confidentiality, and not pass on your personal details to third parties without your permission +* If you so wish we will keep you informed of the progress towards resolving the problem +* In the public information concerning the problem reported, we will give your name as the discoverer of the problem (unless you desire otherwise) +* As a token of our gratitude for your assistance, we offer a reward for every report of a security problem that was not yet known to us. The amount of the reward will be determined based on the severity of the leak, the quality of the report, and any additional assistance you provide. diff --git a/nl/security-and-risks/contributing.md b/nl/security-and-risks/contributing.md new file mode 100644 index 000000000..6937c347d --- /dev/null +++ b/nl/security-and-risks/contributing.md @@ -0,0 +1,95 @@ +# Contributing + +**100% Open-source** + +OUSD is an entirely open-source project and we welcome contributions of all sorts. There are many ways to help, from reporting issues, contributing code, and helping us improve our community. + +We work in public and our company Discord is open to all. If you have questions or need help getting started, our Discord OUSD channels are the best place to get assistance from our team and community. + +**Developer Analytics** + +Our internal developer dashboard is available at [analytics.ousd.com](https://analytics.ousd.com). The dashboard shows the current circulating supply, the assets under management in the vault, and the current allocations between each of the stablecoins and strategies. + +#### Development Process + +Our branching strategy is similar to [GitFlow](http://nvie.com/posts/a-successful-git-branching-model/), but we do all of our development in the `master` branch and have a `stable` branch for code that has been released. + +Your development flow should look like: + +1. Find an interesting issue and communicate! Please let the `#engineering` [Discord](https://discord.gg/jyxpUSe) channel know what you want to work on. +2. Ping a [core team member](https://github.com/orgs/OriginProtocol/teams/core/members) member on Discord and ask to be added to our [contributors team](https://github.com/orgs/OriginProtocol/teams/contributors). Otherwise, you’ll need to fork the relevant repository and push feature branches to your own fork. +3. Add a comment to the issue or self-assign so we don’t have multiple contributors unintentionally working on the same task. +4. Start with the `master` branch and check out a new feature branch unless you’re contributing to an existing feature. +5. Follow the appropriate [coding style](https://docs.originprotocol.com/guides/getting_started/contributing.html#contributing-email-coding-style) and write some awesome code. +6. Pull the latest commits from `master` and confirm that your code works with any other work that has been merged since you started. +7. Push your branch to the upstream repository \(i.e. https://github.com/OriginProtocol/\[repo\]\) so that other contributors can easily work off of it if necessary. +8. Please request a review in the PR by clicking on the gear icon next to “Reviewers” in the right column. + +For critical smart contract code to be merged it must pass the following checklist: + +* Code reviewed by 2 reviewers +* Unit tests pass +* Slither tests pass with no warning +* Echidna tests pass + +The `master` branch is locked so that only members of the [core team](https://github.com/orgs/OriginProtocol/teams/core) are able to merge your pull requests. Pull requests that are peer-reviewed by other trusted contributors will be fast-tracked and merged faster! Check in the `#engineering` Discord channel for appropriate reviewers. + +#### Coding Style + +We use a variety of programming languages in our repositories. When contributing, please follow existing coding conventions and refer to the CONTRIBUTING.md file in the repository, if one exists. + +For JavaScript, we use [NPM’s style](https://docs.npmjs.com/misc/coding-style), which is automatically enforced via [prettier](https://prettier.io/). + +For Solidity, we use two-space indents. + +#### Protocol Design + +When considering protocol or implementation design proposals, we are looking for: + +* A description of the problem this design proposal solves +* Discussion of the trade-offs involved +* Review of other existing solutions +* Links to relevant literature \(RFCs, papers, etc\) +* Discussion of the proposed solution + +Please note that protocol design is hard and meticulous work. You may need to review existing literature and think through generalized use cases. + +#### Community Guidelines + +We want to keep the Origin community awesome, growing and collaborative. We need your help to keep it that way. To help with this we’ve come up with some general guidelines for the community as a whole: + +* Be nice: Be courteous, respectful and polite to fellow community members: no regional, racial, gender, or other abuse will be tolerated. We like nice people way better than mean ones! +* Encourage diversity and participation: Make everyone in our community feel welcome, regardless of their background and the extent of their contributions, and do everything possible to encourage participation in our community. +* Keep it legal: Basically, don’t get anybody in trouble. Share only content that you own, do not share private or sensitive information, and don’t break laws. +* Stay on topic: Make sure that you are posting to the correct channel and avoid off-topic discussions. Remember when you update an issue or respond to an email you are potentially sending to a large number of people. Please consider this before you update. Also remember that nobody likes spam. + +#### Reporting Issues + +If you find bugs, mistakes or inconsistencies in Origin’s code or documents, please let us know by filing a GitHub issue. No issue is too small. Help us fix our tpyos! + +#### Security Issues + +OUSD is still in early development, which means there may be problems with the protocol or in our implementations. We take security vulnerabilities very seriously. If you discover a security issue, please bring it to our attention right away! + +If you find a security vulnerability please send your report privately to [security@originprotocol.com](mailto:security@originprotocol.com) or send an encrypted message to [@joshfraser on Keybase](https://keybase.io/joshfraser). Please DO NOT file a public issue. Be sure to review our guidelines for responsible disclosure and eligibility for bug bounties. + +{% page-ref page="bug-bounties.md" %} + +#### **Community Improvement** + +Origin is just as much about community as it is about our technology. + +We need constant help in improving our documentation, building new tools to interface with our platform, spreading the word to new users, helping new users getting setup and much more. + +Please get in touch if you would like to help out. Our `general` channel on [Discord](https://www.originprotocol.com/discord) is a great place to share ideas and volunteer to help. + +#### Full-Time Positions + +Origin occasionally hires developers for part-time or full-time positions. + +We have a strong preference for hiring people who have already started contributing to the project. If you want a full time position on our team, your best shot is to engage with our team and start contributing code. It is very unlikely that we would offer you a full-time position on our engineering team unless you’ve had at least a few pull requests merged. + +If you are interested, check out [the Origin Protocol job listings](https://angel.co/originprotocol/jobs). If you’d like to help in other ways, please propose your ideas in [our Discord channel](https://www.originprotocol.com/discord). + + + diff --git a/nl/security-and-risks/insurance.md b/nl/security-and-risks/insurance.md new file mode 100644 index 000000000..f805d14f1 --- /dev/null +++ b/nl/security-and-risks/insurance.md @@ -0,0 +1,15 @@ +# Insurance + +OUSD holders can buy smart contract insurance to cover any losses that might result from any bugs or vulnerabilities in the OUSD contracts, including economic exploits (such as flash loans attacks). In addition, anyone who wants to make a financial bet on the security of our contracts can earn a yield by providing coverage. + +DeFi coverage for OUSD is currently available via[ Nexus Mutual](https://nexusmutual.io) and [InsurAce Protocol](https://www.insurace.io). These partnerships allow for more effective risk management by OUSD holders while creating new opportunities for coverage providers to profit. + +Read our [announcement post](https://medium.com/originprotocol/origin-partners-with-nexus-mutual-to-offer-defi-insurance-for-origin-dollar-ousd-6eb3432ee042) to learn how to [buy coverage](https://app.nexusmutual.io/cover/buy/get-quote?address=0xE75D77B1865Ae93c7eaa3040B038D7aA7BC02F70), [provide coverage](https://app.nexusmutual.io/staking), or [participate in shield mining campaigns](https://app.nexusmutual.io/rewards) with Nexus Mutual. You can learn more about InsurAce and how to buy coverage on their [user guide](https://docs.insurace.io/landing-page/documentation-1/user-guide) or [documentation](https://docs.insurace.io/landing-page/). + +**Nexus Mutual Coverage** + +Read our[ announcement post](https://medium.com/originprotocol/origin-partners-with-nexus-mutual-to-offer-defi-insurance-for-origin-dollar-ousd-6eb3432ee042) to learn how to[ buy coverage](https://app.nexusmutual.io/cover/buy/get-quote?address=0x0000000000000000000000000000000000000016),[ provide coverage](https://app.nexusmutual.io/staking), and[ participate in shield mining campaigns](https://app.nexusmutual.io/rewards) with Nexus Mutual. + +**InsurAce Protocol Coverage** + +Read InsurAce Protocol’s [User Guide](https://docs.insurace.io/landing-page/documentation-1/user-guide) to learn how to [buy coverage](https://docs.insurace.io/landing-page/documentation-1/user-guide/dashboard) and participate in [underwriting mining](https://docs.insurace.io/landing-page/documentation-1/user-guide/how-to-stake) for OUSD. diff --git a/nl/security-and-risks/risks.md b/nl/security-and-risks/risks.md new file mode 100644 index 000000000..64dc13dc0 --- /dev/null +++ b/nl/security-and-risks/risks.md @@ -0,0 +1,44 @@ +# Risks + +{% hint style="danger" %} +Use at your own risk. Do not deploy more capital than you are willing to lose. +{% endhint %} + +As with any yield-generating DeFi product, there are associated risks with holding OUSD that are important to understand. These risks can be broadly classified into 3 categories: + +* OUSD smart contract risk +* Underlying third-party platform risk +* Underlying stablecoin risk + +**OUSD smart contract risk** + +Our smart contracts have been [audited](audits.md) by multiple, well-respected security firms. However, it is important to note that even with formal audits, it is still possible for there to be logic errors that could lead to the loss of funds for OUSD holders. The contracts involve complex math and logic. While we have taken every precaution to ensure the safety and security of our smart contracts, users are reminded to use at their own risk. Origin Protocol will not be held responsible for any loss of funds, regardless of who is at fault. + +**Third-party platform risk** + +OUSD is built on top of other DeFi platforms like Aave, Compound, and Curve that add additional smart contract risk. We are choosing to work with platforms that have literally billions of dollars of assets under management and have made a reasonable efforts to ensure the security of their protocols. However, there are no guarantees that the underlying third-party platforms will continue to work as intended, and any failure in an underlying strategy would potentially lead to a loss of funds for OUSD holders. + +**Stablecoin risks** + +It is important to understand that OUSD is only as strong as the stablecoins that are backing it. Any loss of value to an underlying stablecoin asset will cause a similar loss to the value of OUSD. While OUSD is designed to maintain a 1:1 relationship between supply and number of backing stablecoins, it does not guarantee which stablecoins will make up that backing nor the value of those coins. + +It is important to note that each of the supported stablecoins introduces non-trivial counter-party risk. Tether, in particular, has had well-documented banking troubles and regulatory challenges. In addition, both USDT and USDC have backdoors that grant their issuers the power to freeze money in their holder's wallets. While DAI does not have any direct backdoors, its assets can also be negatively impacted since USDC and USDT are accepted as collateral for minting DAI. + +**Risk mitigation** + +While it's impossible to guarantee our contracts are 100% safe, we have taken every step possible to mitigate the chance of losing funds: + +We regularly have our work [audited ](audits.md)by the top auditors in the industry. + +[DeFi insurance](insurance.md) is availble to offer smart contract coverage as an optional add-on service for OUSD holders. + +We have retained [Certora](https://www.certora.com) to formally verify the various security properties of our contracts. They helped us establish automated verifications that will run anytime we update our contract code. We have automated checking for common errors with [Slither](https://github.com/crytic/slither) and [Echidna](https://github.com/crytic/echidna) tests. Together, these alert our team to common security issues in addition to our own test suite. + +Code reviews involving our smart contracts are incredibly rigorous. We require at least two engineers to review each change with a detailed checklist and we prioritize security reviews over new feature development. + +Finally, we have formalized an engineering [rotation](https://github.com/OriginProtocol/security/blob/master/incidents/ROTATION.md) for reviewing [attacks on other projects](https://github.com/OriginProtocol/security/tree/master/incidents) as well as ensuring we deep dive into each of these reviews, including reviewing the affected contracts' source code ourselves. We've observed that attackers often exploit the same fundamental vulnerability on multiple different projects. By reviewing other project's vulnerabilities, we force ourselves to stay up to date on the latest security threats in our industry and are constantly learning from their mistakes. + +**Actions speak louder than words** + +You should also know that many members of the Origin team, including both founders, are holding a significant portion of their personal wealth in OUSD. Origin Protocol's corporate treasury is also holding millions of dollars in OUSD. We have skin in the game and are willing to put our own money at risk with the code we have written. + diff --git a/nl/security-and-risks/untitled.md b/nl/security-and-risks/untitled.md new file mode 100644 index 000000000..21b692090 --- /dev/null +++ b/nl/security-and-risks/untitled.md @@ -0,0 +1,20 @@ +# Audits + +{% hint style="danger" %} +The OUSD smart contracts have not yet been audited. We strongly recommend reviewing our smart contracts before depositing significant amounts of capital. +{% endhint %} + +**OUSD** + +Audits have already been scheduled with the respected security firm, [Trail of Bits](https://www.trailofbits.com/), for early October 2020. Their audit results will be publicly released as soon as they are available. + +**Supported Strategies** + +Multiple audits for Compound have already been completed and are available on their website. This includes the original code for the modified [Timelock](../smart-contracts/api/timelock-1.md) that OUSD is using. + +{% page-ref page="untitled.md" %} + + + + + diff --git a/nl/smart-contracts/api/README.md b/nl/smart-contracts/api/README.md new file mode 100644 index 000000000..ff400f20f --- /dev/null +++ b/nl/smart-contracts/api/README.md @@ -0,0 +1,9 @@ +# API + +Documentation of contracts API used by the protocol: + +* [Vault](vault.md) +* [ERC-20](erc-20-1.md) +* [Timelock](timelock.md) +* [Stategies](strategies.md) + diff --git a/nl/smart-contracts/api/erc-20-1.md b/nl/smart-contracts/api/erc-20-1.md new file mode 100644 index 000000000..164343cc0 --- /dev/null +++ b/nl/smart-contracts/api/erc-20-1.md @@ -0,0 +1,16 @@ +# ERC-20 + +{% hint style="success" %} +The main ERC20 address for Origin Dollar (OUSD) is: \ **0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +OUSD is an ERC-20 compliant token with one novel property (elastic supply) that is important to understand. + +{% hint style="warning" %} +Wallets and exchanges that wish to integrate OUSD should not cache token balances for OUSD as this value will change frequently as yield is accrued to token holders. +{% endhint %} + +The biggest difference separating OUSD from your average ERC-20 token is the way OUSD's`balanceOf()` function will return a variable amount based on the total value of the vault multiplied by the holder's stake in the vault. This difference is vital to understand, particularly for wallets and exchanges that wish to integrate the OUSD token. This value should be fetched in real-time instead of being cached since OUSD rebases frequently. + + + diff --git a/nl/smart-contracts/api/oracle.md b/nl/smart-contracts/api/oracle.md new file mode 100644 index 000000000..362749de7 --- /dev/null +++ b/nl/smart-contracts/api/oracle.md @@ -0,0 +1,7 @@ +# Oracles + +{% hint style="info" %} +Documentation coming soon. +{% endhint %} + +OUSD uses Chainlink [oracles](../../core-concepts/price-oracles.md) to secure the protocol from pricing attacks. You can [read more about our decision to work with Chainlink](https://blog.originprotocol.com/how-origin-uses-chainlink-oracles-to-secure-ousd-bff5601e840e) on the Origin blog. diff --git a/nl/smart-contracts/api/ousd.md b/nl/smart-contracts/api/ousd.md new file mode 100644 index 000000000..8d6981144 --- /dev/null +++ b/nl/smart-contracts/api/ousd.md @@ -0,0 +1,8 @@ +# OUSD + +{% hint style="info" %} +Documentation coming soon. +{% endhint %} + + + diff --git a/nl/smart-contracts/api/strategies.md b/nl/smart-contracts/api/strategies.md new file mode 100644 index 000000000..a275b76e6 --- /dev/null +++ b/nl/smart-contracts/api/strategies.md @@ -0,0 +1,14 @@ +# Strategies + +{% hint style="info" %} +Documentation coming soon. +{% endhint %} + +New strategies can be added or removed at any time to respond to new market realities and diversify risk. + +Once we migrate to decentralized governance, it is our intent for the community to propose new strategies and to vote on the appropriate weight for each strategy in the pool. We anticipate that most OUSD holders will value having some exposure to higher yield opportunities while maintaining more conservative positions for a portion of the funds. + + + + + diff --git a/nl/smart-contracts/api/timelock-1.md b/nl/smart-contracts/api/timelock-1.md new file mode 100644 index 000000000..88954aca7 --- /dev/null +++ b/nl/smart-contracts/api/timelock-1.md @@ -0,0 +1,22 @@ +# Timelock + +{% hint style="danger" %} +The timelock will be added soon after everything is verified as working. Until then, the contracts will be governed by Origin's 5 of 8 multi-sig. This allows for a faster response if any critical issues are discovered. +{% endhint %} + +The timelock contract enforces a 48 hour wait period before any changes to the OUSD contracts can be executed. The timelock can be called by our multi-sig and is the owner of our [ERC-20](../architecture.md), [Vault](vault.md), and [Strategies](strategies.md) contracts. Time-delaying admin actions gives users a chance to exit OUSD if its admins become malicious, are compromised, or make a change that the users do not like. + +{% hint style="info" %} +The timelock is a safety measure that gives OUSD holders 48 hours to withdraw their funds if they have objections to any proposed upgrades to the protocol. +{% endhint %} + +OUSD is using a slightly modified version of the [Compound Timelock](https://compound.finance/docs/governance) which has been [audited by OpenZeppelin](https://blog.openzeppelin.com/compound-finance-patch-audit/). The 3 notable differences are: + +1. OUSD will initially use a shorter wait period \(48 hours\) than Compound \(72 hours\) to allow for a faster response if any issues are discovered. +2. Once the 48 hours have passed, anyone is free to execute the call, not just the owner of the contract. +3. Deposits \(but not withdrawals or transfers\) can be immediately frozen without requiring the 48 waiting period. This is in case a major vulnerability is discovered. + + + + + diff --git a/nl/smart-contracts/api/timelock.md b/nl/smart-contracts/api/timelock.md new file mode 100644 index 000000000..2273ddad7 --- /dev/null +++ b/nl/smart-contracts/api/timelock.md @@ -0,0 +1,15 @@ +# Timelock + +The timelock contract enforces a 48 hour wait period before any changes to the OUSD contracts can be executed. The timelock can be called by our multi-sig and is the owner of our [ERC-20](../architecture.md), [Vault](vault.md), and [Strategies](strategies.md) contracts. Time-delaying admin actions gives users a chance to exit OUSD if its admins become malicious, are compromised, or make a change that the users do not like. + +{% hint style="info" %} +The timelock is a safety measure that gives OUSD holders 48 hours to withdraw their funds if they have objections to any proposed upgrades to the protocol. +{% endhint %} + +OUSD is using a slightly modified version of the [Compound Timelock](https://compound.finance/docs/governance) which has been [audited by OpenZeppelin](https://blog.openzeppelin.com/compound-finance-patch-audit/). The two notable differences are: + +1. OUSD will initially use a shorter wait period (48 hours) than Compound (72 hours) to allow for a faster response if any issues are discovered. +2. Some actions, such as reallocating funds between existing strategies and freezing deposits can be called immediately by a multisig wallet without requiring the 48 waiting period. This is in case a major vulnerability is discovered. + + + diff --git a/nl/smart-contracts/api/vault.md b/nl/smart-contracts/api/vault.md new file mode 100644 index 000000000..13a7a8601 --- /dev/null +++ b/nl/smart-contracts/api/vault.md @@ -0,0 +1,184 @@ +--- +description: >- + The vault is the main contract of the protocol. The vault is responsible for minting/redeeming OUSD tokens, rebalancing funds between the various supported strategies, and liquidating rewards tokens. +--- + +# Vault + +## Units + +All OUSD amounts passed or returned by the Vault methods use 18 decimal places. For example, 1 OUSD is expressed as 1000000000000000000. + +For other stable coins, the number of decimal places varies. DAI uses 18 decimal places while USDC and USDT use only 6. + +The protocol was updated in November are [currently underway](https://github.com/OriginProtocol/origin-dollar/issues/590) to increase the resolution of rebasing calculations from 18 decimals to 27 decimals. The OUSD token itself will still retain 18 decimals of precision and user balances should not change. + +## Methods‌ + +### mint() + +**`function mint(address _asset, uint256 _amount, uint256 _minimumOusdAmount)`**‌ + +Mints OUSD in exchange for a deposit of a certain `_amount` of stablecoin specified by the `_asset` parameter. The caller receives a certain amount of OUSD depending on the **exchange rate**. + +| Parameter Name | Type | Description | +| --------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | +| \_asset | address | Address of the [supported](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/core-concepts/supported-assets) stablecoin | +| \_amount | uint256 | Amount deposited, expressed in decimal units | +| \_minimumOusdAmount | uint256 | Minimum amount of OUSD the caller is willing to receive. The call to mint() reverts if the minimum is not met. | + +### mintMultiple() + +**`function mintMultiple(address[] _assets, uint256[] _amounts, uint256 _minimumOusdAmount)`**‌ + +Mints OUSD in exchange for a deposit of multiple stablecoins in a single call. Stablecoins are specified by the `_assets` array parameter and the amounts by the `_amounts` array parameter. The caller receives a certain amount of OUSD depending on the **exchange rate**. + +| Parameter Name | Type | Description | +| --------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| \_assets | address\[] | Addresses of the [supported](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/core-concepts/supported-assets) stablecoins | +| \_amounts | uint256\[] | Amounts deposited, expressed in decimal units | +| \_minimumOusdAmount | uint256 | Minimum amount of OUSD the caller is willing to receive. The call to mint() reverts if the minimum is not met. | + +{% hint style="warning" %} +On redemptions, it is the protocol and not the user that decides which stablecoin(s) are returned to the user. This decision of which coin(s) to return is based on the internal ratios of the assets that are being held in the vault.‌ +{% endhint %} + +### redeem() + +**`function redeem(uint256 _amount)`**‌ + +OUSD specified by the `_amount` parameter is redeemed in exchange for one or multiple supported stablecoins. Amount of stablecoins received depends on the **exchange rate**. + +| Parameter Name | Type | Description | +| -------------- | ------- | ----------------------------------------- | +| \_amount | uint256 | amount of OUSD expressed in decimal units | + +### redeemAll()‌ + +**`function redeemAll()`**‌ + +All OUSD in user's possession is redeemed in exchange for one or multiple supported stablecoins. Amount of stablecoins received depends on the **exchange rate**. + +### rebase() + +**`function rebase()`**‌ + +Updates the balances for all users based on the value of the assets currently stored in the vault. Returns total value of the underlying assets and strategies represented by `uint256` type.‌ + +### allocate() + +**`function allocate()`**‌ + +Moves the assets under management into their prescribed [Stategies](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/architecture/strategies) to maximize yield and diversify risk.‌ + +### totalValue() + +**`function totalValue()`**‌ + +Returns total value of underlying assets and strategies. + +| `return` name | Type | Description | +| ------------- | ------- | ------------------------------------------------ | +| value | uint256 | total value of underlying assets and strategies. | + +### checkBalance() + +**`function checkBalance(address _asset)`**‌ + +Returns the balance of an asset specified by the`_asset` parameter held in Vault and all strategies represented by `uint256` type. + +| Parameter Name | Type | Description | +| -------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | +| \_asset | address | Address of the [supported](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/core-concepts/supported-assets) stablecoin | + +### calculateRedeemOutputs() + +**`function calculateRedeemOutputs(uint256 _amount)`**‌ + +Calculate the mix of stablecoins that a `redeem` function would return when redeeming certain amount of OUSD specified by the `_amount` parameter. Returns an array of stablecoin values. + +To attribute the stablecoin values to the correct stablecoin currency this call should be used in conjunction with `getAllAssets` function that returns an array of stablecoin addresses. + +The index of an array that is returned by the `calculateRedeemOutputs` corresponds to the stablecoin address with the same index in an array returned by the `getAllAssets` function. + +| Parameter Name | Type | Description | +| -------------- | ------- | ----------------------------------------- | +| \_amount | uint256 | amount of OUSD expressed in decimal units | + +| `return` name | Type | Description | +| ------------- | ----------- | --------------------------------------------------------------------------- | +| outputs | uint256\[] | array of the amount of the stablecoin assets `redeem` function would return | + +### getAssetCount() + +**`function getAssetCount()`**‌ + +Return the number of supported stablecoin assets represented by `uint256` type.‌ + +### getAllAssets() + +**`function getAllAssets()`**‌ + +Return all assets addresses of supported stablecoin assets in order represented by `uint256` type.‌ + +### getStrategyCount()‌ + +**`function getStrategyCount()`**‌ + +Return the number of strategies active on the Vault represented by `uint256` type.‌ + +### getAPR() + +**`function getAPR()`**‌ + +Return the total annual percentage yield (APR) of the Vault and all Strategies represented by `uint256` type. Resulting number has 18 decimal places.‌ + +### isSupportedAsset() + +**`function isSupportedAsset(address _asset)`**‌ + +Return the boolean that is true if the asset specified by the `_asset` parameter is supported by the Vault. + +| Parameter Name | Type | Description | +| -------------- | ------- | ------------------------- | +| \_asset | address | Address of the stablecoin | + +### priceUSDMint() + +**`function priceUSDMint(string symbol)`**‌‌ + +Returns the exchange rate price of a stable coin specified by the `symbol` parameters used when minting OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Parameter Name | Type | Description | +| -------------- | ------ | ------------------------ | +| symbol | string | Symbol of the stablecoin | + +### priceUSDRedeem() + +**`function priceUSDRedeem(string symbol)`**‌‌ + +Returns the exchange rate price of a stable coin specified by the `symbol` parameters used when redeeming OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Parameter Name | Type | Description | +| -------------- | ------ | ------------------------ | +| symbol | string | Symbol of the stablecoin | + +### priceAssetUSDMint()‌ + +**`function priceAssetUSDMint(address _asset)`**‌‌ + +Returns the exchange rate price of a stable coin specified by the `_asset` parameters used when minting OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Parameter Name | Type | Description | +| -------------- | ------- | -------------------------- | +| \_asset | address | Address of the stablecoin‌ | + +### priceAssetUSDRedeem()‌ + +**`function priceAssetUSDRedeem(address _asset)`**‌‌‌ + +Returns the exchange rate price of a stable coin specified by the `_asset` parameters used when redeeming OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Parameter Name | Type | Description | +| -------------- | ------- | ------------------------- | +| \_asset | address | Address of the stablecoin | diff --git a/nl/smart-contracts/architecture.md b/nl/smart-contracts/architecture.md new file mode 100644 index 000000000..f53eacf24 --- /dev/null +++ b/nl/smart-contracts/architecture.md @@ -0,0 +1,18 @@ +# Architecture + +![](../.gitbook/assets/ousd\_docs\_graphics\_3.png) + +OUSD is made up of a series of smart contracts. Each of these contracts is wrapped in a proxy contract that can be upgraded via the governance protocols. + +Internally, ownership in the vault is tracked using a credits system that represents the percent ownership of the vault for each holder. The [ERC-20](api/erc-20-1.md) contract handles the conversion to USD terms when viewing a balance or initiating a transfer between wallets. + +The [Vault](api/vault.md) is responsible for minting and burning OUSD. It also enforces the percentage of assets that are deployed to each of the supported [Strategies](../core-concepts/supported-strategies/). To optimize gas costs, the vault may maintain a buffer to allow most deposits and redemptions to occur without winding/unwinding assets from strategies. + +The Flipper is a smart contract for users to swap in and out of OUSD cheaply for any of DAI, USDC, or USDT at a fixed 1:1 rate. This contract is used as an alternative way to route user transactions originating from the web app. It's important to note that this contract may be empty on one side (e.g., contain 0 OUSD balance), and thus sometimes provides limited swap routes. While limited in functionality, Flipper uses around 45% less gas than Uniswap v3 due to its simplicity. + +The Harvester contract collects reward tokens earned by the strategies, sells them, and sends the resulting stablecoins to the Dripper to be released to the vault. Anyone can call the harvest and earn 1% of the resulting USDT for doing so. This creates a self-incentivizing system that operates at a known fixed cost. See our [incentivized-harvesting-guide.md](../guides/incentivized-harvesting-guide.md "mention") for details. + +The Dripper contract buffers aproximately one week of reward token sales proceeds and makes it avaiable at a smooth rate to the vault. This keeps OUSD yield from being extremely spiky when harvests come in. The rate is recalculated at least once per day and is the rate that it would take to distribute the current dripper holdings out over a one week period. + + + diff --git a/nl/smart-contracts/erc-20.md b/nl/smart-contracts/erc-20.md new file mode 100644 index 000000000..c3a21d407 --- /dev/null +++ b/nl/smart-contracts/erc-20.md @@ -0,0 +1,12 @@ +# Architecture + +![](../.gitbook/assets/ousd_docs_graphics_3.png) + +OUSD is made up of a series of smart contracts. Each of these contracts is wrapped in a proxy contract that can be upgraded via the governance protocols. + +Internally, ownership in the pool is tracked using a credits system that represents the percent ownership of the pool for each holder. The [ERC-20](api/erc-20-1.md) contract handles the conversion to USD terms when viewing a balance or initiating a transfer between wallets. + +The [Vault](api/vault.md) is responsible for minting and burning OUSD. It also enforces the percentage of assets that are deployed to each of the supported [Strategies](../core-concepts/supported-strategies/). To optimize gas costs, the vault maintains a buffer to allow most deposits and redemptions to occur without winding/unwinding assets from strategies. + + + diff --git a/nl/smart-contracts/registry.md b/nl/smart-contracts/registry.md new file mode 100644 index 000000000..f2d45b7dd --- /dev/null +++ b/nl/smart-contracts/registry.md @@ -0,0 +1,156 @@ +# Registry + +Here is the full registry of OUSD smart contracts that have been deployed to the Ethereum mainnet. + +{% hint style="success" %} +The main ERC20 address for Origin Dollar (OUSD) is: \ +**0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +{% tabs %} +{% tab title="Core" %} +Well-known addresses (proxy wrappers): + + + +| Contract | Address | ENS | +| -------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------- | +| OUSD | [0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86](https://etherscan.io/address/0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86) |

ousd.eth

origindollar.eth

| +| Vault | [0xE75D77B1865Ae93c7eaa3040B038D7aA7BC02F70](https://etherscan.io/address/0xe75d77b1865ae93c7eaa3040b038d7aa7bc02f70) | [originvault.eth](https://etherscan.io/address/originvault.eth) | + + + +Internal implementation contracts. The Vault is split into VaultAdmin and VaultCore to work around the maximum contract size limit on Ethereum: + + + +| Contract | Address | +| ---------- | --------------------------------------------------------------------------------------------------------------------- | +| OUSD | [0x33db8d52d65F75E4cdDA1b02463760c9561A2aa1](https://etherscan.io/address/0x33db8d52d65F75E4cdDA1b02463760c9561A2aa1) | +| VaultAdmin | [0x3EB68D8f4992A0e34aA58cc3dF86A40814078cF6](https://etherscan.io/address/0x3EB68D8f4992A0e34aA58cc3dF86A40814078cF6) | +| VaultCore | [0x226de75867B2f785BA19600e2a7e6eFccD57157B](https://etherscan.io/address/0x226de75867B2f785BA19600e2a7e6eFccD57157B) | +{% endtab %} + +{% tab title="Strategies" %} +Well-known addresses (proxy wrappers): + + + +| Strategy | Address | Auto-Allocation | +| -------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------- | +| Aave | [0x5e3646A1Db86993f73E6b74A57D8640B69F7e259](https://etherscan.io/address/0x5e3646A1Db86993f73E6b74A57D8640B69F7e259) | Manual allocation | +| Compound | [0x9c459eeb3FA179a40329b81C1635525e9A0Ef094](https://etherscan.io/address/0x9c459eeb3FA179a40329b81C1635525e9A0Ef094) | 100% of USDC, USDT and DAI | +| Convex | [0xEA2Ef2e2E5A749D4A66b41Db9aD85a38Aa264cb3](https://etherscan.io/address/0xEA2Ef2e2E5A749D4A66b41Db9aD85a38Aa264cb3#code) | Manual allocation | + + + +Internal implementation contracts: + + + +| Strategy | Address | +| -------- | -------------------------------------------------------------------------------------------------------------------------- | +| Aave | [0xA050eBE34Be464902F7E0F7F451f4B5253d57114](https://etherscan.io/address/0xA050eBE34Be464902F7E0F7F451f4B5253d57114) | +| Compound | [0x47f3eb71b5507df5ab6ac7f8660ef282ab0e560f](https://etherscan.io/address/0x47f3eb71b5507dF5Ab6aC7F8660Ef282Ab0E560f) | +| Convex | [0x08f3a0637851aA1B0E0750aA3d46E0E356f349aC](https://etherscan.io/address/0x08f3a0637851aa1b0e0750aa3d46e0e356f349ac#code) | + + + +Yield harvesting and collection: + + + +| | | +| --------- | -------------------------------------------------------------------------------------------------------------------------- | +| Contract | Address | +| Harvester | [0x21fb5812d70b3396880d30e90d9e5c1202266c89](https://etherscan.io/address/0x21fb5812d70b3396880d30e90d9e5c1202266c89#code) | +| Dripper | [0x80c898ae5e56f888365e235ceb8cea3eb726cb58](https://etherscan.io/address/0x80c898ae5e56f888365e235ceb8cea3eb726cb58#code) | +{% endtab %} + +{% tab title="Oracles" %} +The following Chainlink oracles are used to protect the vault in case a backing stablecoin loses value. They also offer slippage protection when harvesting rewards tokens or executing the OGN buyback. + + + +| Pair | Contract | +| ------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| [USDT/USD](https://data.chain.link/ethereum/mainnet/stablecoins/usdt-usd) | [0x3E7d1eAB13ad0104d2750B8863b489D65364e32D](https://etherscan.io/address/0x3E7d1eAB13ad0104d2750B8863b489D65364e32D) | +| [USDC/USD](https://data.chain.link/ethereum/mainnet/stablecoins/usdc-usd) | [0x8fFfFfd4AfB6115b954Bd326cbe7B4BA576818f6](https://etherscan.io/address/0x8fFfFfd4AfB6115b954Bd326cbe7B4BA576818f6) | +| [DAI/USD](https://data.chain.link/ethereum/mainnet/stablecoins/dai-usd) | [0xAed0c38402a5d19df6E4c03F4E2DceD6e29c1ee9](https://etherscan.io/address/0xAed0c38402a5d19df6E4c03F4E2DceD6e29c1ee9) | +| [COMP/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/comp-usd) | [0xdbd020caef83efd542f4de03e3cf0c28a4428bd5](https://etherscan.io/address/0xdbd020caef83efd542f4de03e3cf0c28a4428bd5) | +| [AAVE/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/aave-usd) | [0x547a514d5e3769680Ce22B2361c10Ea13619e8a9](https://etherscan.io/address/0x547a514d5e3769680Ce22B2361c10Ea13619e8a9) | +| [CRV/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/crv-usd) | [0xcd627aa160a6fa45eb793d19ef54f5062f20f33f](https://etherscan.io/address/0xcd627aa160a6fa45eb793d19ef54f5062f20f33f) | +| [CVX/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/cvx-usd) | [0xd962fC30A72A84cE50161031391756Bf2876Af5D](https://etherscan.io/address/0xd962fC30A72A84cE50161031391756Bf2876Af5D) | +| [OGN/ETH](https://data.chain.link/ethereum/mainnet/crypto-eth/ogn-eth) | [0x2c881b6f3f6b5ff6c975813f87a4dad0b241c15b](https://etherscan.io/address/0x2c881b6f3f6b5ff6c975813f87a4dad0b241c15b) | +{% endtab %} + +{% tab title="Governance" %} + + +| Contract | Address | ENS | +| ------------------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------- | +| 5 of 8 Multisig | [0xbe2AB3d3d8F6a32b96414ebbd865dBD276d3d899](https://etherscan.io/address/0xbe2AB3d3d8F6a32b96414ebbd865dBD276d3d899) | [originprotocol.eth](https://etherscan.io/address/originprotocol.eth) | +| 2 of 9 Multisig | [0xF14BBdf064E3F67f51cd9BD646aE3716aD938FDC](https://etherscan.io/address/0xF14BBdf064E3F67f51cd9BD646aE3716aD938FDC) | [originstrategist.eth](https://etherscan.io/address/originstrategist.eth) | +| Governor / Timelock | [0x72426BA137DEC62657306b12B1E869d43FeC6eC7](https://etherscan.io/address/0x72426BA137DEC62657306b12B1E869d43FeC6eC7) |

origingovernor.eth

origintimelock.eth

| +| OGN Buyback | [0x77314EB392b2be47C014cde0706908b3307Ad6a9](https://etherscan.io/address/0x77314EB392b2be47C014cde0706908b3307Ad6a9) | [originbuyback.eth](https://etherscan.io/address/originbuyback.eth) | +{% endtab %} + +{% tab title="Stablecoins" %} +| Contract | Address | +| ------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| [USDT](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | [0xdac17f958d2ee523a2206206994597c13d831ec7](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | +| [USDC](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | [0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | +| [DAI](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | [0x6b175474e89094c44da98b954eedeac495271d0f](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | +{% endtab %} + +{% tab title="Staking" %} +| Contract | Address | ENS | +| ----------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- | +| OGN Staking | [0x501804B374EF06fa9C427476147ac09F1551B9A0](https://etherscan.io/address/0x501804B374EF06fa9C427476147ac09F1551B9A0) | [originstaking.eth](https://etherscan.io/address/originstaking.eth) | + + + +Internal implementation contracts: + + + +| Contract | Address | +| ----------- | --------------------------------------------------------------------------------------------------------------------- | +| OGN Staking | [0x8cd68a1e0b79150455c5498882d5d5d3df2dde08](https://etherscan.io/address/0x8cd68a1e0b79150455c5498882d5d5d3df2dde08) | + + + +OUSD compensation contract ([details](https://medium.com/originprotocol/origin-delivers-on-compensation-promise-claim-your-ousd-and-ogn-now-a9fa9b840476)): + + + +| Contract | Address | +| ----------------- | --------------------------------------------------------------------------------------------------------------------- | +| OUSD Compensation | [0x9C94df9d594BA1eb94430C006c269C314B1A8281](https://etherscan.io/address/0x9C94df9d594BA1eb94430C006c269C314B1A8281) | +{% endtab %} + +{% tab title="Flipper" %} +Flipper is a gas-optimized way for users to swap in and out of OUSD at a fixed 1:1 rate with other stablecoins. This contract may become empty on one side (e.g., contain 0 OUSD balance), and thus sometimes provides limited swap routes. + + + +| Contract | Address | ENS | +| -------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- | +| Flipper | [0xcecaD69d7D4Ed6D52eFcFA028aF8732F27e08F70](https://etherscan.io/address/0xcecaD69d7D4Ed6D52eFcFA028aF8732F27e08F70) | [originflipper.eth](https://etherscan.io/address/originflipper.eth) | +{% endtab %} + +{% tab title="Wrapped" %} +Wrapped OUSD\ +\ **Well known proxy address:** - [0xD2af830E8CBdFed6CC11Bab697bB25496ed6FA62](https://etherscan.io/address/0xD2af830E8CBdFed6CC11Bab697bB25496ed6FA62) + +Internal implementation address - [0xbf3b9b141cb3629f5bb8f721cba9265c92494539](https://etherscan.io/address/0xbf3b9b141cb3629f5bb8f721cba9265c92494539) +{% endtab %} +{% endtabs %} + + + + + + + + diff --git a/pt/README.md b/pt/README.md new file mode 100644 index 000000000..7c08388ed --- /dev/null +++ b/pt/README.md @@ -0,0 +1,29 @@ +--- +description: The first stablecoin that earns a yield while it's still in your wallet +--- + +# Introduction + +## **A Better Form of Money** + +Origin Dollar (OUSD) is a new stablecoin that was initially launched in September 2020 on the Ethereum network. Its design is superior to existing stablecoins because OUSD captures competitive yields while being passively held in wallets. + +![](.gitbook/assets/origin-dollar-summary.jpeg) + +**Background** + +In 1999, Yu Pan, Origin’s R\&D engineer, and his fellow PayPal co-founders [conceived](https://www.cnbc.com/2017/08/14/david-sacks-cryptocurrency-interview.html) of creating “the new world currency”, complete with interest yielding strategies and debit cards without having to connect to traditional banking systems. Several pivots and an eBay acquisition later, PayPal dropped its ambitions in this area. + +Almost two decades later, Tether introduced the concept of a USD-denominated stablecoin in 2014. Since then, stablecoins have proven themselves as an ideal way of transferring value without exposing users to the price volatility of free-floating currencies. Today, more value is [transferred via Tether](https://www.bloomberg.com/news/articles/2019-10-01/tether-not-bitcoin-likely-the-world-s-most-used-cryptocurrency) than with Bitcoin. Meanwhile, Decentralized Finance (DeFi) has experienced an explosion of growth with [billions of dollars](https://defipulse.com) of capital now locked up in smart contracts that generate yields from lending and trading protocols. + +One of the problems with existing stablecoins is that users have to constantly choose between holding an easily spendable coin and earning yields by locking their tokens up in smart contracts. For example, users that lock up USDC in Aave cannot spend a portion of that USDC simultaneously. Expensive Ethereum gas fees serve as "switching costs" each time those users want to switch between spending mode and earning mode. + +To make matters worse, yields from lending and trading activities change rapidly. Sophisticated DeFi yield earners are familiar with constantly having to rebalance their portfolio of assets across many competing platforms. This is time-consuming and expensive as gas fees once again eat into yields. In addition, it is time-consuming to calculate real ROI as APYs are unstable and constantly fluctuating. There isn't an easy unit of account. As a result, while DeFi is growing extremely rapidly, it still makes it difficult for many cryptocurrency users to participate. + +With OUSD, there’s no need to unwind complicated positions when you want to spend your OUSD. You can transfer it freely without having to pay gas to unlock spendable capital. In addition, OUSD gives you access to some of the highest-earning opportunities across DeFi with none of the hassles. The OUSD smart contract will deploy your underlying capital to a diversified set of yield-earning strategies, rebalancing over time to achieve great yields while diversifying risk. Earnings automatically accrue in your wallet and compound continuously while you hold OUSD. Again, no staking or lockups are required. OUSD also serves as an ideal unit of account. DeFi investors no longer need complicated spreadsheets to calculate their earnings as they can easily see their constantly updated OUSD balances in real-time as their interest compounds automatically. OUSD is an ideal stablecoin for DeFi yield farmers and novice cryptocurrency users alike. + +Created by cryptocurrency and fintech veterans, the Origin Dollar is brought to you by the [team](https://www.originprotocol.com/team) at [Origin Protocol](https://www.originprotocol.com) that includes serial entrepreneurs, early cryptocurrency investors, early employees at YouTube, engineering managers at Google/Dropbox, and one of the Paypal co-founders, Yu Pan. + +For those interested in diving into the technical details of how it works, these docs are a great place to start. We encourage developers to audit and contribute to our [Github](http://www.github.com/OriginProtocol) (100% open-source). Our team hangs out in [Discord](https://www.originprotocol.com/discord) if you have questions or need help getting started. + +Welcome to the future of money. diff --git a/pt/SUMMARY.md b/pt/SUMMARY.md new file mode 100644 index 000000000..a389e6c18 --- /dev/null +++ b/pt/SUMMARY.md @@ -0,0 +1,64 @@ +# Table of contents + +* [Introducing OUSD](README.md) +* [How It Works](how-it-works.md) +* [Getting Started](getting-started.md) +* [Analytics Dashboard](analytics-dashboard.md) +* [FAQ](faq.md) + +## Core Concepts + +* [Elastic Supply](core-concepts/elastic-supply/README.md) + * [Rebasing & Smart Contracts](core-concepts/elastic-supply/rebasing-and-smart-contracts.md) +* [Yield Generation](core-concepts/yield-generation/README.md) + * [Lending](core-concepts/yield-generation/lending.md) + * [Market Making](core-concepts/yield-generation/market-making.md) + * [Rewards](core-concepts/yield-generation/rewards.md) +* [Wrapped OUSD](core-concepts/wrapped-ousd.md) +* [Supported Stablecoins](core-concepts/supported-stablecoins/README.md) + * [USDT](core-concepts/supported-stablecoins/usdt.md) + * [USDC](core-concepts/supported-stablecoins/usdc.md) + * [DAI](core-concepts/supported-stablecoins/dai.md) +* [Supported Strategies](core-concepts/supported-strategies/README.md) + * [Compound](core-concepts/supported-strategies/compound.md) + * [Aave](core-concepts/supported-strategies/aave.md) + * [Curve](core-concepts/supported-strategies/curve.md) + * [Convex](core-concepts/supported-strategies/convex.md) +* [Fund Management](core-concepts/fund-management.md) +* [Price Oracles](core-concepts/price-oracles.md) + +## Governance + +* [Principles](governance/principles.md) +* [Admin Privileges](governance/admin-privileges.md) +* [OGN Staking](governance/ogn-staking.md) +* [Contributing](governance/contributing.md) +* [Vote Delegation](governance/vote-delegation.md) + +## Smart Contracts + +* [Architecture](smart-contracts/architecture.md) +* [Registry](smart-contracts/registry.md) +* [API](smart-contracts/api/README.md) + * [Vault](smart-contracts/api/vault.md) + * [ERC-20](smart-contracts/api/erc-20-1.md) + * [Timelock](smart-contracts/api/timelock.md) + * [Strategies](smart-contracts/api/strategies.md) + +## Security & Risks + +* [Risks](security-and-risks/risks.md) +* [Audits](security-and-risks/audits.md) +* [Insurance](security-and-risks/insurance.md) +* [Bug Bounties](security-and-risks/bug-bounties.md) + +## Guides + +* [Integration Guide For Exchanges](guides/integration-guide-for-exchanges.md) +* [Incentivized Harvesting Guide](guides/incentivized-harvesting-guide.md) + +## Links + +* [Github](https://www.github.com/originprotocol/origin-dollar) +* [Discord](https://www.originprotocol.com/discord) +* [originprotocol.com](https://www.originprotocol.com) diff --git a/pt/analytics-dashboard.md b/pt/analytics-dashboard.md new file mode 100644 index 000000000..9c3e6a577 --- /dev/null +++ b/pt/analytics-dashboard.md @@ -0,0 +1,31 @@ +# Analytics Dashboard + +{% hint style="info" %} +Visit [analytics.ousd.com](https://analytics.ousd.com) to see how funds are allocated, view historical performance data, and track your personal gains. +{% endhint %} + +The [APY dashboard](https://analytics.ousd.com/apy) is primarily intended for consumption by our engineering team, but we went ahead and deployed it since our ethos is "public by default" and everything that we do is [open-source](http://github.com/OriginProtocol). Unfortunately, that often means erring on the side of transparency and not necessarily the side of taking the time to explain things clearly. + +Before diving into the yield calculation, it's important to understand how OUSD works both in terms of [yield generation](https://docs.ousd.com/core-concepts/yield-generation) and [rebasing](https://docs.ousd.com/core-concepts/elastic-supply). You can read all about that in these [docs](https://docs.ousd.com), including [the part about smart contracts being excluded from yield](https://docs.ousd.com/core-concepts/elastic-supply/rebasing-and-smart-contracts). + +To summarize how APY is calculated, it's the annualized rate of change in OUSD's internal accounting of users' balances between two points in time. To understand that, let's break down the columns in the historical APY table (in reverse order). + +**Ratio** + +There are two types of OUSD balances: rebasing (most accounts) and non-rebasing (smart contracts that have not opted in). The OUSD token contract maintains a separate internal accounting for each type of balance using what it calls "credits". The ratio shown here is the rebasing supply of OUSD divided by the rebasing credits, which gives us the exchange rate between the two. + +**Credits** + +Some smart contracts holding OUSD have unique credit balances because their rebasing status has changed at some point in the past (by opting in or out). Here we show the sum of all rebasing credits and non-rebasing credits. When multiplied by the ratio, it gives the difference between backing supply and non-rebasing supply. + +**Non-rebasing** + +This is the portion of supply held in other smart contracts that have not opted in to rebasing. When added to (credits \* ratio), this equals backing supply. Note also that the **%** column shows the percentage of OUSD that is non-rebasing. + +**Boost** + +The APY is effectively "boosted" for rebasing accounts thanks to the fact that some OUSD is non-rebasing. Think about all of the stablecoins that were used as collateral to mint the non-rebasing OUSD. Those stablecoins are still earning through our yield farming strategies, but the gains are accruing only to the rebasing accounts. The result is that the effective APY is higher than it would be without this mechanism. The boost is the measure of this difference. If boost is 100%, then regular OUSD holders are enjoying double the APY that they otherwise would. + +**APR/APY calculation** + +Bringing this full circle, we currently measure yield by measuring the change in the [rebasing credits per token](https://github.com/OriginProtocol/origin-dollar/blob/master/contracts/contracts/token/OUSD.sol#L45) between two points in time. But there are a few other considerations to note. First, we have to make an assumption about how many Ethereum blocks are mined on an average day. We use a [fixed 6,500](https://github.com/OriginProtocol/ousd-analytics/blob/master/eagleproject/core/views.py#L43), but the actual number of blocks per day is variable. Second, we need a reasonable time horizon to measure. We focus on 30 days, which has proven to be a relatively consistent window of time during which a complete sample of yield-generating activities has occurred. Third, we convert APR into APY by assuming [constant daily compounding](https://github.com/OriginProtocol/ousd-analytics/blob/master/eagleproject/core/views.py#L449-L451). In other words, yield is constantly being reinvested into the same strategies. Finally, there is one notable drawback to using the rebase ratio to measure yield. Since rebase events currently occur sporadically (and not very frequently in a world of high gas prices), the APY won't reflect earnings that have not yet been translated to account balances. For example, there could be an interest rate spike in Compound or a volume spike in the Curve 3pool strategy, which would cause OUSD to earn more than it does on an average day. Until [the rebase method](https://github.com/OriginProtocol/origin-dollar/blob/master/contracts/contracts/vault/VaultCore.sol#L365-L370) gets called, the APY will underreport these earnings. In fact, anyone who sells OUSD during that time would be missing out on the "[next rebase](https://analytics.ousd.com)". The good news is that you should be able to observe the change in your balance over one week and it (annualized) should approximately equal our advertised APY. diff --git a/pt/architecture/erc-20-1.md b/pt/architecture/erc-20-1.md new file mode 100644 index 000000000..a9caff400 --- /dev/null +++ b/pt/architecture/erc-20-1.md @@ -0,0 +1,19 @@ +# ERC-20 + +{% hint style="success" %} +The main ERC20 address for Origin Dollar \(OUSD\) is: +**0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +OUSD is an ERC-20 compliant token with one novel property that is important to understand. + +{% hint style="warning" %} +Wallets and exchanges that wish to integrate OUSD should not cache token balances for OUSD as this value will change frequently as yield is accrued to token holders. +{% endhint %} + +The biggest difference separating OUSD from your average ERC-20 token is the way OUSD's`balanceOf()` function will return a variable amount based on the total value of the pool multiplied by the holder's stake in the pool. This difference is vital to understand, particularly for wallets and exchanges that wish to integrate the OUSD token. This value should be fetched in real-time instead of being cached since OUSD rebases frequently. + + + + + diff --git a/pt/architecture/erc-20.md b/pt/architecture/erc-20.md new file mode 100644 index 000000000..9a789241b --- /dev/null +++ b/pt/architecture/erc-20.md @@ -0,0 +1,12 @@ +# Overview + +![](../.gitbook/assets/ousd_docs_graphics_3.png) + +OUSD is made up of a series of smart contracts. Each of these contracts is wrapped in a proxy contract that can be upgraded via the governance protocols. + +Internally, ownership in the pool is tracked using a credits system that represents the percent ownership of the pool for each holder. The ERC-20 contract handles the conversion to USD terms when viewing a balance or initiating a transfer between wallets. + +The Vault is responsible for minting and burning OUSD. It also enforces the percentage of assets that are deployed to each of the supported [Strategies](../core-concepts/supported-strategies/). To optimize gas costs, the vault maintains a buffer to allow most deposits and redemptions to occur without winding/unwinding assets from strategies. + + + diff --git a/pt/architecture/strategies.md b/pt/architecture/strategies.md new file mode 100644 index 000000000..254dca41d --- /dev/null +++ b/pt/architecture/strategies.md @@ -0,0 +1,14 @@ +# Estratégias + +New strategies can be added or removed at any time to respond to new market realities and diversify risk. + +At launch, OUSD will take advantage of a single strategy and deploy deposited capital to Compound. We intend to deploy many other strategies soon thereafter. + +Once we migrate to decentralized governance, it is our intent for the community to propose new strategies and to vote on the appropriate weight for each strategy in the pool. We anticipate that most OUSD holders will value having some exposure to higher yield opportunities while maintaining more conservative positions for a portion of the funds. + + + + + + + diff --git a/pt/architecture/timelock.md b/pt/architecture/timelock.md new file mode 100644 index 000000000..b26b30f1c --- /dev/null +++ b/pt/architecture/timelock.md @@ -0,0 +1,22 @@ +# Timelock + +{% hint style="danger" %} +The timelock will be added soon after everything is verified as working. Until then, the contracts will be governed by Origin's 5 of 8 multi-sig. This allows for a faster response if any critical issues are discovered. +{% endhint %} + +The timelock contract enforces a 48 hour wait period before any changes to the OUSD contracts can be executed. The timelock can be called by our multi-sig and is the owner of our [ERC-20](erc-20.md), [Vault](vault.md), and [Strategies](strategies.md) contracts. Time-delaying admin actions gives users a chance to exit OUSD if its admins become malicious, are compromised, or make a change that the users do not like. + +{% hint style="info" %} +The timelock is a safety measure that gives OUSD holders 48 hours to withdraw their funds if they have objections to any proposed upgrades to the protocol. +{% endhint %} + +OUSD is using a slightly modified version of the [Compound Timelock](https://compound.finance/docs/governance) which has been [audited by OpenZeppelin](https://blog.openzeppelin.com/compound-finance-patch-audit/). The 3 notable differences are: + +1. OUSD will initially use a shorter wait period \(48 hours\) than Compound \(72 hours\) to allow for a faster response if any issues are discovered. +2. Once the 48 hours have passed, anyone is free to execute the call, not just the owner of the contract. +3. Deposits \(but not withdrawals or transfers\) can be immediately frozen without requiring the 48 waiting period. This is in case a major vulnerability is discovered. + + + + + diff --git a/pt/architecture/vault.md b/pt/architecture/vault.md new file mode 100644 index 000000000..b582a079b --- /dev/null +++ b/pt/architecture/vault.md @@ -0,0 +1,17 @@ +# Cofre + +O cofre está no núcleo do protocolo. O cofre é responsável pela emissão/resgate de tokens OUSD, pelo reequilibrio de fundos entre as várias estratégias suportadas, e pela liquidação de tokens de recompensa. + +As funções mais importantes do Cofre que podem ser chamadas publicamente são: + +* `mint()`permite que uma única stablecoin suportada seja convertida para OUSD +* `mintMultiple()`permite que múltiplas stablecoims suportadas sejam convertidas para OUSD numa única chamada +* `redeem()`permite que um determinado montante de ousd seja resgatado por outras stablecoins suportadas. +* `redeemAll()`permite que um usuário resgate todo o seu saldo de OUSD por outras stablecoins suportadas. Isto é particularmente útil, visto que os saldos dos usuários estão em constante crescimento à medida que o rendimento é acumulado. +* `rebase()`atualiza os saldos de todos os usuários com base no valor dos ativos atualmente armazenados na pool. +* `allocate()`moves the assets under management into their prescribed [Stategies](strategies.md) to maximize yield and diversify risk. + +On redemptions, it is the protocol and not the user that decides which stablecoin\(s\) to return to the user. This decision of which coin\(s\) to return is based on the internal ratios of the assets that are being held in the pool. + + + diff --git a/pt/core-concepts/elastic-supply.md b/pt/core-concepts/elastic-supply.md new file mode 100644 index 000000000..2cf0fd8ae --- /dev/null +++ b/pt/core-concepts/elastic-supply.md @@ -0,0 +1,18 @@ +# Elastic Supply + +**Elastic Supply. Stable Price.** + +OUSD works differently than most tokens. Instead of the price increasing as the value of the assets under management increase \(as with Compound cTokens or Yearn yTokens\), the value of one OUSD remains constant at approximately $1. Instead, the contracts constantly adjust the monetary supply and automatically updates the balance in every token holder’s wallet to reflect the yield that has been earned by the protocol. + +{% hint style="info" %} +Think of it as interest accruing in your bank account. The unit of account and value for the US dollar doesn’t change. You just get more US dollars over time as you earn interest. +{% endhint %} + +![](../.gitbook/assets/ousd_docs_graphics_4.png) + +This mechanism was inspired by the novel approach taken by [Ampleforth](https://www.ampleforth.org/), but there are some key differences that are worth highlighting: + +1. OUSD is 100% backed by other stablecoins and will not have the same challenge maintaining the peg to the dollar. Given the ease of minting and redeeming OUSD, we can count on arbitrageurs to ensure the peg is maintained. +2. OUSD rebasing should only increase supply since the amount of OUSD minted is tied to the realized gains earned by the underlying strategies. Your principal is protected as long as nothing goes wrong with the underlying lending/AMM and stablecoin protocols. Any decrease in your balance would be an indication of trouble in the system. +3. Unlike Ampleforth, which rebases once a day, the monetary supply of OUSD is constantly being updated in real-time as yield is generated. + diff --git a/pt/core-concepts/elastic-supply/README.md b/pt/core-concepts/elastic-supply/README.md new file mode 100644 index 000000000..a681d0615 --- /dev/null +++ b/pt/core-concepts/elastic-supply/README.md @@ -0,0 +1,21 @@ +# Elastic Supply + +**Elastic Supply. Stable Price.** + +OUSD works differently than most tokens. Instead of the price increasing as the value of the assets under management increase (as with Compound cTokens or Yearn yTokens), the value of one OUSD remains constant at approximately $1. Instead, the contracts constantly adjust the monetary supply and automatically updates the balance in every token holder’s wallet to reflect the yield that has been earned by the protocol. + +{% hint style="info" %} +Think of it as interest accruing in your bank account. The unit of account and value for the US dollar doesn’t change. You just get more US dollars over time as you earn interest. +{% endhint %} + +![](../../.gitbook/assets/ousd\_docs\_graphics\_4.png) + +This mechanism was inspired by the novel approach taken by [Ampleforth](https://www.ampleforth.org), but there are some key differences that are worth highlighting: + +1. OUSD is 100% backed by other stablecoins and does not have the same challenge maintaining the peg to the dollar. Given the ease of minting and redeeming OUSD, we can count on arbitrageurs to ensure the peg is maintained. +2. OUSD rebasing will only increase supply since the amount of OUSD minted is tied to the realized gains earned by the underlying strategies. Your principal is protected as long as nothing goes wrong with the underlying lending/AMM and stablecoin protocols. Your OUSD balance will never decrease, but the value could drop if there's a failure in the underlying systems. +3. Unlike Ampleforth, which only rebases once a day, the monetary supply of OUSD is constantly being updated in real-time as yield is generated. Rebases are triggered regularly as users interact with the OUSD contracts. Chainlink Keepers ensure at least one rebase occurs every day. + +**Manually triggering a rebase** + +Anyone can trigger a rebase at any time by [calling the rebase function on the vault](https://etherscan.io/address/originvault.eth#writeProxyContract). You can do this on Etherscan by connecting a web3 wallet. diff --git a/pt/core-concepts/elastic-supply/rebasing-and-smart-contracts.md b/pt/core-concepts/elastic-supply/rebasing-and-smart-contracts.md new file mode 100644 index 000000000..cdebbc4bf --- /dev/null +++ b/pt/core-concepts/elastic-supply/rebasing-and-smart-contracts.md @@ -0,0 +1,22 @@ +# Rebasing & Smart Contracts + +If you are using a multi-sig wallet or another smart contract that wishes to participate in the rebasing aspect of OUSD you must call OUSD’s`rebaseOptIn()` function. This only applies to smart contracts as standard EOA wallets are enrolled automatically. + +{% hint style="info" %} +Multi-sig wallets or other smart contracts must call`rebaseOptIn()`to earn yield. +{% endhint %} + +By default, OUSD that is held on smart contracts will not participate in the rebasing nature of the token and will forfeit any yield unless the smart contract explicitly opts-in. This increases the composability of OUSD within DeFi as many protocols weren't designed with the expectation that balances might change. To other DeFi protocols, OUSD works just like any other normal, well-behaved ERC-20 until you ask it to change. This is a particularly useful attribute for automated market makers (AMM’s) like Uniswap which break when the number of tokens they are holding changes unexpectedly. + +![The Gnosis Safe OUSD app will prompt you to opt in to yield](../../.gitbook/assets/ousd-app-in-gnosis-safe.png) + +Smart contracts must explicitly opt-in to receiving yield via the rebasing mechanism. This fixes the issue with the expanding supply on AMM’s while still allowing multi-sig wallets and other smart contracts the opportunity to still participate and earn yield. + +{% hint style="warning" %} +If you are deploying a contract and intend to call`rebaseOptIn()`to earn yield you cannot call it from the contract's constructor. The contract must be deployed before it can be called. +{% endhint %} + +[Gnosis Safe](https://gnosis-safe.io) users are encouraged to use the Origin Dollar app which will prompt you to opt in to receiving yield. If you are using the "Old" [Gnosis Wallet](https://github.com/gnosis/MultiSigWallet) or another contract-based wallet, you will need the [proxy contract address for OUSD](../../smart-contracts/registry.md) and the corresponding [ABI](https://api.etherscan.io/api?module=contract\&action=getabi\&address=0x1ae95dd4eeae7ed03da79856c2d44ffa3318f805). Once you add those, you will be able to call the `rebaseOptIn()` function to opt into receiving yield via rebasing or`rebaseOptOut()` to turn it off again. + + + diff --git a/pt/core-concepts/fund-management.md b/pt/core-concepts/fund-management.md new file mode 100644 index 000000000..d6b1920c5 --- /dev/null +++ b/pt/core-concepts/fund-management.md @@ -0,0 +1,23 @@ +# Fund Management + +The OUSD smart contract aggregates all users' stablecoin deposits into a single pool of assets that are then deployed into earning strategies based on preset allocations. In contrast to Yearn Vaults, TokenSets, or Zapper opportunities, users do not select individual strategies. All deposited stablecoins and consequently all OUSD tokens are fungible. + +The weighting of how assets are distributed between the supported strategies is decided by OGN holders using weekly snapshot voting. These votes happen offchain and do not cost any gas. The results of the weekly poll will then be executed onchain by members of the [Strategist multi-sig](https://etherscan.io/address/0xF14BBdf064E3F67f51cd9BD646aE3716aD938FDC) (known as "Strategists"). + +Ultimately, we believe it should be up to the community to decide what the right balance of risk/reward is appropriate for OUSD. We encourage the community to favor high-yield strategies while still maintaining diversification across multiple strategies to remove single points of failure and minimize risk. + +**How strategy allocation voting works:** + +* New snapshot proposals will open for voting on the [OGN governance portal ](http://vote.originprotocol.com)at midnight Tuesday UTC (7pm eastern Monday). The poll will be open for 48 hours, ending at midnight Thursday UTC (7pm eastern on Wednesday). +* During this time, those interested can discuss allocation changes in a thread in the #governance channel on [Origin's Discord](https://www.originprotocol.com/discord). +* Each proposal will use "weighted voting", with options for each coin/strategy combination and an option to keep the existing allocation unchanged. OGN holders can spread their votes among different listed strategies or the existing allocation. +* After the voting time has ended, Strategists will submit, verify, and execute transactions to change OUSD to the determined allocation percentages for the week. If more than 50% of the weighted votes are cast for the existing allocation, Strategists will take no action. +* Allocations will be executed for strategies that use all stablecoins first (like Convex), then each stablecoin will be allocated to the remaining strategies according to the ratio of votes for that stablecoin / strategy combination. +* If the Strategists deem any of the allocations unsafe to the funds behind OUSD, they may choose to not execute those. In addition, Strategists may decline to execute minor adjustments where the gas costs would be greater than the expected benefits. +* Like all governance proposals, Strategist allocations must meet the minimum quorum requirements (currently 1M OGN) to be considered valid. +* From a security standpoint, it is important to know that while Strategists have the ability to move funds between approved strategies or instantly pause rebasing in the case of an emergency, Strategists do not have the power to add new strategies or withdraw funds without going through the timelock. Community members can use the Strategy Validator tools to more easily [create](https://analytics.ousd.com/strategist/creator) and [decode](https://analytics.ousd.com/strategist) which actions are being performed by the Strategists. +* When voting, please remember it is inefficient to move in and out of the Convex strategy frequently and some funds need to always remain outside of Convex in order to accommodate withdrawals. + + + +**** diff --git a/pt/core-concepts/fund-management/README.md b/pt/core-concepts/fund-management/README.md new file mode 100644 index 000000000..4f6287602 --- /dev/null +++ b/pt/core-concepts/fund-management/README.md @@ -0,0 +1,6 @@ +# Fund Management + +The OUSD smart contract aggregates all users' stablecoin deposits into a single pool of investable assets. Funds are then allocated across one or more [earning strategies](earning-strategies.md) at any given moment in time. The Vault favors high-yield strategies but also seeks to maintain diversification across multiple strategies. Diversification removes single points of failures and mitigates risks. + +In contrast to Yearn Vaults, TokenSets, or Zapper opportunities, users do not select individual strategies. All deposited stablecoins and consequently all OUSD tokens are fungible. + diff --git a/pt/core-concepts/fund-management/diversification.md b/pt/core-concepts/fund-management/diversification.md new file mode 100644 index 000000000..3d98a522e --- /dev/null +++ b/pt/core-concepts/fund-management/diversification.md @@ -0,0 +1,8 @@ +# Diversification + +The initial version of the OUSD Vault smart contract gives each valid strategy a simple weight between 0% and 100% to perform simple asset allocation. These weights will be shifted often via updates by Origin in the short-term and by decentralized governance in the long-term. + +Diversification across multiple underlying DeFi [platforms](../supported-strategies/) will reduce smart contract and other systemic risks. The smart contract will calculate current and expected APYs in an effort to provide competitive returns to OUSD holders. Over time, the Vault contract will be upgraded to intelligently and autonomously shift between strategies without any manual intervention. For example, the Vault will automatically shift capital between various lending strategies to optimize for yields. + +However, it is still expected that certain risk parameters or decisions on whether certain strategies will be included in the automated decision-making engine will be made through governance votes. + diff --git a/pt/core-concepts/fund-management/earning-strategies.md b/pt/core-concepts/fund-management/earning-strategies.md new file mode 100644 index 000000000..0fb0111e4 --- /dev/null +++ b/pt/core-concepts/fund-management/earning-strategies.md @@ -0,0 +1,6 @@ +# Earning Strategies + +Earning strategies put deployed capital to work across various DeFi platforms. The Vault will determine which strategies are active and what percentage of deployed capital they will receive. + +In addition, strategies will be upgraded over time. For example, at launch, there will be an initial [Compound strategy](../supported-strategies/compound.md). Over time, this may be replaced by a v2 or v3 Compound strategy. + diff --git a/pt/core-concepts/price-oracles.md b/pt/core-concepts/price-oracles.md new file mode 100644 index 000000000..1b08c685f --- /dev/null +++ b/pt/core-concepts/price-oracles.md @@ -0,0 +1,38 @@ +- - - +description: OUSD uses Chainlink to secure the protocol from pricing attacks +- - - + +# Price Oracles + +### Stablecoin Pricing + +OUSD is designed to stay pegged at 1 USD and be 1:1 backed with its underlying stablecoins. This is trickier than it sounds because these underlying stablecoins are constantly deviating from their own desired 1 USD pegs. While the majority of daily fluctuations are minor, there have been major swings in price that have occurred in the past and are likely to occur again in the future. + +| Coin | **Low** | **High** | **Delta** | **Source** | +| ---- | ---------------------------------------------------- | ---------------------------------------------------- | --------- | --------------------------------------------------------------------------- | +| USDC |

$0.929222

Mar 13, 2020

|

$1.11

Oct 15, 2018

| $0.180778 | [CoinMarketCap](https://coinmarketcap.com/currencies/usd-coin/) | +| USDC |

$0.924188

Aug 02, 2020

|

$1.17

May 08, 2019

| $0.245812 | [CoinGecko](https://www.coingecko.com/en/coins/usd-coin) | +| DAI |

$0.945505

May 10, 2020

|

$1.11

Mar 13, 2020

| $0.164495 | [CoinMarketCap](https://coinmarketcap.com/currencies/multi-collateral-dai/) | +| DAI |

$0.903243

Nov 25, 2019

|

$1.22

Mar 13, 2020

| $0.316757 | [CoinGecko](https://www.coingecko.com/en/coins/dai) | +| USDT |

$0.849809

Feb 02, 2017

|

$1.21

May 27, 2017

| $0.360191 | [CoinGecko](https://www.coingecko.com/en/coins/tether) | +| USDT |

$0.572521

Mar 02, 2015

|

$1.32

Jul 24, 2018

| $0.747479 | [CoinMarketCap](https://coinmarketcap.com/currencies/tether/) | + +The rebasing function treats 1 stablecoin as 1 OUSD for simplicity and to protect OUSD balances from being affected by the daily fluctuations in the price of the underlying stablecoins. Since the rebase function only counts coins, OUSD balances should only increase. + +In order to mint and redeem the appropriate number of OUSD on entry and exit, the smart contracts need to accurately price the USDT, USDC, and DAI that is entering and exiting the system. + +As an added precaution, OUSD never pays more than a dollar for a stablecoin, nor sells a stablecoin for less than a dollar. Oracles giving wrong prices will not result in a reduction of the number of stablecoins held. Gains that are collected as a result of stablecoins slipping from their peg are redistributed to the remaining holders of OUSD in the form of additional yield. + +As a decentralized protocol, OUSD must rely on non-centralized sources for these prices. OUSD uses Chainlink oracles for pricing data for DAI, USDC and USDT. You can read more about [our decision to work with Chainlink](https://blog.originprotocol.com/how-origin-uses-chainlink-oracles-to-secure-ousd-bff5601e840e) on our blog. Here are the Chainlink oracles we are currently using for stablecoin pricing: + +{% embed url="https://data.chain.link/usdt-usd" %} + +{% embed url="https://data.chain.link/usdc-usd" %} + +{% embed url="https://data.chain.link/dai-usd" %} + +### Reward Token Oracles & Front Running Protection + +When reward tokens from OUSD strategies are sold for additional yield, Chainlink oracles are checked to ensure that the sale price slippage has not exceeded normal bounds. These oracles are listed on our [registry](../smart-contracts/registry.md) page under the "Oracles" tab. + +The same is also true for OGN buybacks from OUSD yield.\ \ When minting and redeeming OUSD, a miniumun required amount can be passed into the contract call to ensure that the entire transaction fails if not enough OUSD or stablecoins would be returned to the user due to changing prices. diff --git a/pt/core-concepts/price-oracles/README.md b/pt/core-concepts/price-oracles/README.md new file mode 100644 index 000000000..58ed68ed4 --- /dev/null +++ b/pt/core-concepts/price-oracles/README.md @@ -0,0 +1,126 @@ +# Price Oracles + +OUSD is designed to stay pegged at 1 USD and be 1:1 backed with its underlying stablecoins. This is trickier than it sounds because these underlying stablecoins are constantly deviating from their own desired 1 USD pegs. While the majority of daily fluctuations are minor, there have been major swings in price that have occurred in the past and are likely to occur again in the future. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CoinLow + High + Delta + Source +
USDC +

$0.929222

+

Mar 13, 2020

+
+

$1.11

+

Oct 15, 2018

+
$0.180778CoinMarketCap +
USDC +

$0.924188

+

Aug 02, 2020

+
+

$1.17

+

May 08, 2019

+
$0.245812CoinGecko +
DAI +

$0.945505

+

May 10, 2020

+
+

$1.11

+

Mar 13, 2020

+
$0.164495CoinMarketCap +
DAI +

$0.903243

+

Nov 25, 2019

+
+

$1.22

+

Mar 13, 2020

+
$0.316757CoinGecko +
USDT +

$0.849809

+

Feb 02, 2017

+
+

$1.21

+

May 27, 2017

+
$0.360191CoinGecko +
USDT +

$0.572521

+

Mar 02, 2015

+
+

$1.32

+

Jul 24, 2018

+
$0.747479CoinMarketCap +
+ +The rebasing function treats 1 stablecoin as 1 OUSD for simplicity and to protect OUSD balances from being affected by the daily fluctuations in the price of the underlying stablecoins. Since the rebase function only counts coins, OUSD balances should only increase. + +In order to mint and redeem the appropriate number of OUSD on entry and exit, the smart contracts need to accurately price the USDT, USDC, and DAI that is entering and exiting the system. As a decentralized protocol, OUSD must rely on non-centralized sources for these prices. + +{% hint style="info" %} +OUSD fetches the price from multiple on-chain oracles and uses the exchange rate that is most advantageous for the vault when minting or redeeming. +{% endhint %} + +In order to prevent malicious attacks and to encourage long-term investors over short-term speculators, the OUSD contract compares price feeds from multiple sources and will use whichever exchange rate benefits the entire vault over the individual. This mechanism protects the vault funds from arbitrageurs and prevents any individual from being able to take advantage of any temporary inefficiencies caused by mispriced oracles to deplete the shared pool of assets. + +This protects the funds in the vault while rewarding long-term holders. Since the safest price depends on the direction of the trade, the Origin oracle exposes both a `priceUSDMint()` and a `priceUSDRedeem()`. + +OUSD uses Chainlink as oracle for DAI, USDC and USDT. + +{% embed url="https://feeds.chain.link/eth-usd" caption="" %} + +The specific smart contract address for each oracle being used are listed on our [registry](../../smart-contracts/registry.md) page. + +It is possible that additional oracles will be added to the protocol over time. Support may also be removed if any of these oracles become unreliable. + diff --git a/pt/core-concepts/price-oracles/untitled.md b/pt/core-concepts/price-oracles/untitled.md new file mode 100644 index 000000000..7a413944b --- /dev/null +++ b/pt/core-concepts/price-oracles/untitled.md @@ -0,0 +1,25 @@ +# Untitled + +## Getting Super Powers + +Becoming a super hero is a fairly straight forward process: + +``` +$ give me super-powers +``` + +{% hint style="info" %} + Super-powers are granted randomly so please submit an issue if you're not happy with yours. +{% endhint %} + +Once you're strong enough, save the world: + +{% code title="hello.sh" %} +```bash +# Ain't no code for that yet, sorry +echo 'You got to trust me on this, I saved the world' +``` +{% endcode %} + + + diff --git a/pt/core-concepts/supported-assets/README.md b/pt/core-concepts/supported-assets/README.md new file mode 100644 index 000000000..56390ccf6 --- /dev/null +++ b/pt/core-concepts/supported-assets/README.md @@ -0,0 +1,20 @@ +# Supported Stablecoins + +**Supported Stablecoins** + +It is important to understand that OUSD is only as strong as the stablecoins that are backing it. Any loss to the underlying assets will cause a similar loss to the value of OUSD. + +Currently, OUSD supports the following stablecoins: + +{% page-ref page="usdt.md" %} + +{% page-ref page="usdc.md" %} + +{% page-ref page="dai.md" %} + +None of these stablecoins are perfect, but we selected them because of their widespread usage. While these stablecoins have lost their USD peg on multiple occasions, they have demonstrated resiliency in eventually getting back to their 1 USD targets. + +It is important to note that all these stablecoins introduce non-trivial counter-party risk. Tether, in particular, has had well-documented banking troubles and regulatory challenges. In addition, both USDT and USDC have backdoors that grant their issuers the power to freeze money in their holder's wallets. While DAI does not have any direct backdoors, it's assets can also be negatively impacted since USDC is accepted as collateral for minting DAI. + +Despite these concerns, there are already billions of dollars betting on the security of these stablecoins. It is possible that additional stablecoins will be added to the protocol over time. Support may also be removed if any of these stablecoins prove to be too unreliable or put OUSD holders funds in jeopardy. + diff --git a/pt/core-concepts/supported-assets/dai.md b/pt/core-concepts/supported-assets/dai.md new file mode 100644 index 000000000..4be5c3788 --- /dev/null +++ b/pt/core-concepts/supported-assets/dai.md @@ -0,0 +1,20 @@ +# DAI + +![](../../.gitbook/assets/dai.png) + +Dai is a fiat-pegged stablecoin launched as a ERC-20 token on the Ethereum blockchain in December 2017. A major upgrade from single-collateral Dai \(SAI\) to multi-collateral Dai \(DAI\) was completed in November 2019. Dai is pegged to the US dollar. + +Dai is minted by users locking up crypto assets such as ETH or USDC as collateral in a collateralized debt position \(CDP\) called a vault. Previously, only ETH was accepted as collateral. The reserves and status of each vault can be viewed on the blockchain in real-time. The health of these vaults and the Dai stablecoin are closely monitored. + +Dai is the world's third-largest stablecoin with over $400 million in circulation. In addition, cDAI and aDAI, synthetic versions of Dai on the lending platforms Compound and Aave, combine for over $600 million in circulation. + +| Key Facts | | +|:------------- |:------------------------------------------------------------------------------------------------------------------- | +| Issued by | MakerDAO | +| Name | Dai | +| Symbol | DAI | +| Address | [0x6b175474e89094c44da98b954eedeac495271d0f](https://etherscan.io/token/0x6b175474e89094c44da98b954eedeac495271d0f) | +| Decimals | 18 | +| Official site | [https://makerdao.com/](https://makerdao.com/) | +| Holders | Over 140k addresses | + diff --git a/pt/core-concepts/supported-assets/usdc.md b/pt/core-concepts/supported-assets/usdc.md new file mode 100644 index 000000000..2647d7c83 --- /dev/null +++ b/pt/core-concepts/supported-assets/usdc.md @@ -0,0 +1,22 @@ +# USDC + +![](../../.gitbook/assets/usdc-coin-bd351fb779%20%281%29.png) + +USD Coin \(USDC\) is a fiat-pegged stablecoin launched as a ERC-20 token on the Ethereum blockchain in October 2018. USDC is pegged to the US dollar and can easily be redeemed for US dollars. + +Each USDC is backed by a 1:1 ratio with the equivalent amount of fiat currency held in custodial accounts by members of Centre, a consortium founded by Circle and Coinbase. Members of Centre are regulated financial institutions based in the US. Monthly audits of reserves are published by Grant Thornton LLP. + +USDC is the world's second-largest stablecoin after USDT and has quickly grown to over $1 billion in circulation. However, USDC remains far behind USDT's $12+ billion in circulation. + +| Key Facts | | +|:------------- |:------------------------------------------------------------------------------------------------------------------- | +| Issued by | Centre | +| Name | USD Coin | +| Symbol | USDC | +| Address | [0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48](https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48) | +| Decimals | 6 | +| Official site | [https://www.centre.io/usdc](https://www.centre.io/usdc) | +| Holders | Over 200k addresses | + + + diff --git a/pt/core-concepts/supported-assets/usdt.md b/pt/core-concepts/supported-assets/usdt.md new file mode 100644 index 000000000..4ae2afe89 --- /dev/null +++ b/pt/core-concepts/supported-assets/usdt.md @@ -0,0 +1,22 @@ +# USDT + +![](../../.gitbook/assets/image%20%281%29.png) + +Tether \(USDT\) is a fiat-pegged stablecoin that was initially built on top of Bitcoin via the Omni Layer Protocol. In September 2017, Tether announced they would be launching additional ERC-20 tokens for United States dollars on the Ethereum blockchain. + +Each Tether issued into circulation is said to be backed by a one-to-one ratio with the equivalent amount of fiat currency held in a custodial account by Tether Limited, a Hong Kong-based company with close ties to the cryptocurrency exchange, Bitfinex. + +Despite the controversy ****around ****the company's failure to provide a promised audit showing adequate reserves backing tether, USDT is still the world's largest stablecoin by market cap and currently the fourth-largest cryptocurrency after BTC, ETH and XRP. + +| Key Facts | | +|:------------- |:---------------------------------------------------------------------------------------------------------------- | +| Issued by | Tether Limited | +| Name | Tether | +| Symbol | USDT | +| Address | [0xdac17f958d2ee523a2206206994597c13d831](https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7) | +| Decimals | 6 | +| Official site | [https://tether.to/ ](https://tether.to/%20) | +| Holders | Over 1.8M addresses | + + + diff --git a/pt/core-concepts/supported-defi-platforms/README.md b/pt/core-concepts/supported-defi-platforms/README.md new file mode 100644 index 000000000..50ee37b6c --- /dev/null +++ b/pt/core-concepts/supported-defi-platforms/README.md @@ -0,0 +1,30 @@ +# Supported DeFi Platforms + +**Supported Platforms** + +OUSD generates yield by depositing stablecoins into lending platforms and market maker liquidity pools. It is important to understand that these platforms do carry technological risk and funds can be lost if there is a major security event. We are choosing to work with the platforms that have had their smart contracts audited and that we feel are most secure. + +Currently, we plan to earn yields from the following platforms: + +{% page-ref page="compound.md" %} + +Integrations are currently planned for the following platforms: + +{% page-ref page="aave.md" %} + +{% page-ref page="dydx.md" %} + +{% page-ref page="uniswap.md" %} + +{% page-ref page="curve.md" %} + +{% page-ref page="balancer.md" %} + +{% page-ref page="yearn.finance.md" %} + +Although DeFi has grown very quickly and there are now billions of dollars worth of value deposited on these platforms, several of these projects are still in beta and are highly experimental. There may be hidden vulnerabilities in the smart contracts that power these platforms, and there have been multi-million dollar losses caused by vulnerabilities in Ethereum applications in the past. + +We closely monitor security events on the platforms we support and will immediately move to secure OUSD holder funds if we identify any threats. + + + diff --git a/pt/core-concepts/supported-defi-platforms/aave.md b/pt/core-concepts/supported-defi-platforms/aave.md new file mode 100644 index 000000000..df02edab3 --- /dev/null +++ b/pt/core-concepts/supported-defi-platforms/aave.md @@ -0,0 +1,25 @@ +# Aave + +{% hint style="info" %} +Coming soon. Aave has not yet been integrated. +{% endhint %} + +Aave is a lending protocol and platform built on Ethereum and launched in January 2020 by the creators of ETHLend. Users on Aave can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and users can choose between a variable interest rate based on supply and demand or a fixed interest rate. + +Collateral balances are represented by ERC-20 aTokens at a 1:1 ratio to the underlying assets they represent. Interest is compounded automatically and paid to lenders with aTokens, meaning lenders will steadily see their aToken balance increase over time. Users can borrow assets against their aTokens. aTokens are freely transferable and can be used on many other DeFi protocols. aTokens can be redeemed for their underlying collateral at any time. + +Aave supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +Aave is currently governed by LEND, an ERC-20 token that was formerly the utility token for ETHLend. Aave has announced a transition to fully decentralized governance that includes a token swap where users exchange LEND for AAVE, a new ERC-20 governance token with staking rewards. Some AAVE will be distributed to users of the platform in a liquidity mining campaign. + +Aave's total value locked \(TVL\) has quickly grown to over $1.2 billion, making it one of the largest DeFi protocols. LEND has a circulating market cap of over $700 million. + +Aave has undergone security audits by OpenZeppelin, Trail of Bits, and Consensys Diligence. Aave maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------------ | +| Official site | [https://aave.com/](https://aave.com/) | +| Developer docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/aave/aave-protocol](https://github.com/aave/aave-protocol) | +| Discord | [https://discordapp.com/invite/AnSqnvV](https://discordapp.com/invite/AnSqnvV) | + diff --git a/pt/core-concepts/supported-defi-platforms/balancer.md b/pt/core-concepts/supported-defi-platforms/balancer.md new file mode 100644 index 000000000..f8d9e3c0a --- /dev/null +++ b/pt/core-concepts/supported-defi-platforms/balancer.md @@ -0,0 +1,27 @@ +# Balancer + +{% hint style="info" %} +Coming soon. Balancer has not yet been integrated. +{% endhint %} + +Balancer is a decentralized liquidity protocol and exchange on Ethereum, launched in March 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Balancer is an Automated Market Maker \(AMM\) that allows for liquidity pools of up to 8 different assets with custom weights. Liquidity pools on Balancer can be thought of as similar to Exchange Traded Funds \(ETFs\) or portfolios with weight targets for specific assets. If trading causes the pool to shift from its target weight distribution, exchange rates between assets in the pool change. Arbitrageurs can execute trades to take advantage of this and act to rebalance the pool back to its target weight distribution. Liquidity can also be shared across pools, unlike other AMMs. + +Balancer supports private pools, where only the owner of the pool can contribute liquidity, shared pools, which are completely public, and smart pools, which are shared pools controlled by a smart contract that can implement automated rules and logic. Liquidity providers are given Balancer Pool Tokens \(BPTs\) that represent their share of a given pool and fees. These tokens are freely transferable and can be redeemed for the assets provided and accrued fees. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Balancer pools. + +Balancer is governed by BAL, an ERC-20 governance token. BAL holders can vote on protocol changes. BAL is continuously awarded to liquidity providers and a large portion of the total supply of BAL was allocated to the team and investors on a continuous vesting schedule. + +Trading volumes on Balancer are often over $25 million daily. Balancer has a Total Value Locked \(TVL\) of over $250 million by liquidity providers at the time of writing. + +Balancer has undergone a security audit by Trail of Bits and has a bug bounty program. However, Balancer has suffered a major exploit in June 2020. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://balancer.finance/](https://balancer.finance/) | +| Developer docs | [https://docs.balancer.finance/](https://docs.balancer.finance/) | +| GitHub | [https://github.com/balancer-labs](https://github.com/balancer-labs) | +| Discord | [https://discord.gg/ARJWaeF](https://discord.gg/ARJWaeF) | + diff --git a/pt/core-concepts/supported-defi-platforms/compound.md b/pt/core-concepts/supported-defi-platforms/compound.md new file mode 100644 index 000000000..a4d2660a1 --- /dev/null +++ b/pt/core-concepts/supported-defi-platforms/compound.md @@ -0,0 +1,19 @@ +# Compound + +Compound is a lending protocol and platform built on Ethereum and launched in September 2018. Users can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and interest rates are adjusted automatically based on supply and demand. + +Collateral balances are represented by ERC-20 cTokens, which automatically accrue interest and increase in value over time relative to the underlying asset they represent. Users can borrow assets against the value of their cTokens. cTokens are freely transferable and can be used on many other DeFi protocols. cTokens can be redeemed for their underlying collateral at any time. + +Compound is governed by COMP, an ERC-20 governance token. COMP holders can propose and vote on protocol changes or delegate their votes to someone else. COMP tokens are awarded pro rata to users of the protocol daily, split equally between borrowers and lenders. A large portion of the COMP token supply was retained by the Compound team, investors, and advisors. + +Compound's total value locked \(TVL\) has quickly grown to nearly $800 million, making it one of the largest DeFi protocols. COMP has a circulating market cap of over $500 million. + +Compound has undergone multiple security audits by OpenZeppelin and Trail of Bits. The Compound protocol was formally verified by CertiK and has undergone economic stress testing by Gauntlet. Compound maintains a bug bounty program. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------------------------------------------------- | +| Official site | [https://compound.finance/](https://compound.finance/) | +| Developer docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/compound-finance/compound-protocol](https://github.com/compound-finance/compound-protocol) | +| Discord | [https://discord.com/invite/cU7vmVW](https://discord.com/invite/cU7vmVW) | + diff --git a/pt/core-concepts/supported-defi-platforms/curve.md b/pt/core-concepts/supported-defi-platforms/curve.md new file mode 100644 index 000000000..021d0041b --- /dev/null +++ b/pt/core-concepts/supported-defi-platforms/curve.md @@ -0,0 +1,25 @@ +# Curve + +{% hint style="info" %} +Coming soon. Curve has not yet been integrated. +{% endhint %} + +Curve is a decentralized liquidity protocol and exchange on Ethereum for stablecoins and wrapped BTC, launched in January 2020. Users can swap between popular ERC-20 stablecoins or between ERC-20 representations of bitcoin. Liquidity providers facilitate trading and earn fees. + +Curve is an Automated Market Maker \(AMM\) where each market has an associated liquidity pool with two or more assets that should have the same value, like USDT, USDC, DAI and TUSD, which are all US dollar pegged stablecoins. The exchange rate between each stablecoin and their relative weights are determined by an algorithm based on supply and demand. Arbitrageurs act to normalize these exchange rates. + +Some of Curve's liquidity pools earn extra fees for liquidity providers on top of the exchange fees from traders. Curve offers stablecoin pools integrated with Compound, yearn.finance, and Synthetix. The assets in each liquidity pool are provided to those platforms to generate additional yield which is passed on to each pool's liquidity providers. Liquidity Provider \(LP\) tokens are given to pool participants and can be redeemed for their initial liquidity supplied plus accrued fees and yield. LP tokens can also transferred for use in other protocols. + +Curve is governed by CRV, an ERC-20 governance token. CRV holders can vote on protocol changes. CRV holders can stake their tokens for additional voting power proportional to time staked. CRV is continuously awarded to liquidity providers and a large portion of the total supply of CRV was allocated to the team and investors on a continuous vesting schedule. + +Trading volumes on Curve are often over $50 million daily. Curve has a Total Value Locked \(TVL\) of over $1 billion by liquidity providers at the time of writing. + +Curve has undergone two audits by Trail of Bits and maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------ | +| Official site | [https://uniswap.org/](https://uniswap.org/) | +| Developer docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/pt/core-concepts/supported-defi-platforms/dydx.md b/pt/core-concepts/supported-defi-platforms/dydx.md new file mode 100644 index 000000000..24f1a895e --- /dev/null +++ b/pt/core-concepts/supported-defi-platforms/dydx.md @@ -0,0 +1,27 @@ +# dYdX + +{% hint style="info" %} +Coming soon. DyDx has not yet been integrated. +{% endhint %} + +dYdX is a trading and lending protocol and platform built on Ethereum and launched in May 2019. Users can trade assets on dYdX's non-custodial, decentralized exchange or participate in borrowing and lending. The lending protocol enables margin and futures trading. Interest rates are adjusted based on supply and demand and only short term loans are offered. + +Liquidity for assets available for borrowing and lending are pooled together by asset type. Interest paid to lenders is accrued automatically and borrowers must put up collateral to take out a loan. + +dYdX also supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +dYdX has around $40 million in total value locked \(TVL\) at the time of this writing. dYdX does not have a native token. + +dYdX has undergone security audits by OpenZeppelin and Bramah Systems. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://dydx.exchange/](https://dydx.exchange/) | +| Developer docs | [https://docs.dydx.exchange/](https://docs.dydx.exchange/) | +| GitHub | [https://github.com/dydxprotocol/](https://github.com/dydxprotocol/) | +| Discord | [https://discord.gg/yah42Rb](https://discord.gg/yah42Rb) | + + + + + diff --git a/pt/core-concepts/supported-defi-platforms/uniswap.md b/pt/core-concepts/supported-defi-platforms/uniswap.md new file mode 100644 index 000000000..012e25e93 --- /dev/null +++ b/pt/core-concepts/supported-defi-platforms/uniswap.md @@ -0,0 +1,27 @@ +# Uniswap + +{% hint style="info" %} +Coming soon. Uniswap has not yet been integrated. +{% endhint %} + +Uniswap is a decentralized liquidity protocol and exchange on Ethereum, launched in November 2018. Uniswap v2 launched in May 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Markets on Uniswap operate as liquidity pools rather than order books. This type of exchange is called an Automated Market Maker \(AMM\). The exchange rate between the two assets is determined by a constant product formula and moves along a price curve depending on the relative weight of each asset in the pool. This encourages arbitrageurs to enter liquidity pools to rebalance the relative weights and normalize the exchange rate. + +Traders can suffer from slippage if there is not enough liquidity in a given pool and may not be protected from unfavorable exchange rates. Liquidity providers may suffer impermanent loss when the pool exchange rate does not match market realities and arbitrageurs execute trades along the pricing curve. + +Pool participants are given Uniswap Liquidity Provider \(LP\) tokens that correspond to their share of liquidity provided in a given pool. These LP tokens are freely transferable. Participants can exit pools at any time by redeeming these tokens for the assets provided and fees accrued. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Uniswap pools. + +Trading volumes on Uniswap now eclipse that of many traditional exchanges and regularly surpass $200 million daily. Uniswap has over $170 million in Total Value Locked \(TVL\) by liquidity providers. Uniswap does not have a native platform or governance token. + +Uniswap has had its smart contracts audited and formally verfied by dapp.org. Uniswap maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------ | +| Official site | [https://uniswap.org/](https://uniswap.org/) | +| Developer docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/pt/core-concepts/supported-defi-platforms/yearn.finance.md b/pt/core-concepts/supported-defi-platforms/yearn.finance.md new file mode 100644 index 000000000..3f23b9fdb --- /dev/null +++ b/pt/core-concepts/supported-defi-platforms/yearn.finance.md @@ -0,0 +1,25 @@ +# Yearn.finance + +{% hint style="info" %} +Coming soon. Yearn.finance has not yet been integrated. +{% endhint %} + +Yearn.finance, formerly iEarn.finance, is a yield aggregation platform built on Ethereum and launched in January 2020 by Andre Cronje. Yearn manages yield farming and rebalancing strategies using a combination of automation and human decision making on behalf of users who have deposited capital. + +Yearn has two yield aggregation products, Earn and Vaults. Earn allows users to deposit stablecoins or wrapped BTC into liquidity pools on Curve to earn fees and governance token rewards. These assets are also lent out on platforms offering high yield and token rewards, adding to the yield earned. + +Vaults offer a more automated and managed experience. Users deposit assets such as LINK, Curve liquidity provider tokens, or stablecoins and the Vault pools these assets together and deploys the highest earning yield farming strategy as deemed safe by the community and Andre Cronje. Governance tokens earned as rewards are sold off for the original asset deposited and combined with other fees and automatically rolled into the Vault to compound yield. Strategies can be changed frequently and pooling assets together saves gas costs for users. + +Yearn is governed by YFI, an ERC-20 governance token. YFI holders can vote on protocol changes after agreeing to lock up their YFI for 3 days. YFI can also be staked for yield in the governance portal. This yield comes from fees charged to users on Yearn products. YFI was distributed entirely to liquidity providers on Curve and Balancer. There was no allocation for team members or investors. + +Yearn's total value locked \(TVL\) has quickly grown to over $800 million, making it one of the largest DeFi platforms. YFI has a circulating market cap of over $400 million. + +Yearn has undergone multiple security and smart contract audits by CertiK, Quantstamp, HackMD, and CryptoManiacs. Yearn has a reputation for launching experimental products very quickly and warns users that their products are in beta. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://yearn.finance/](https://yearn.finance/) | +| Developer docs | [https://docs.yearn.finance/](https://docs.yearn.finance/) | +| GitHub | [https://github.com/iearn-finance](https://github.com/iearn-finance) | +| Discord | [https://discord.gg/uTmHe8r](https://discord.gg/uTmHe8r) | + diff --git a/pt/core-concepts/supported-platforms/README.md b/pt/core-concepts/supported-platforms/README.md new file mode 100644 index 000000000..aa4b89181 --- /dev/null +++ b/pt/core-concepts/supported-platforms/README.md @@ -0,0 +1,32 @@ +# Supported Platforms + +**Supported Platforms** + +OUSD generates yield by depositing stablecoins into lending platforms and market maker liquidity pools. It is important to understand that these platforms do carry technological risk and funds can be lost if there is a major security event. We are choosing to work with the platforms that have had their smart contracts audited and that we feel are most secure. + +Currently, we plan to earn yields from the following platforms: + +{% page-ref page="compound.md" %} + +Integrations are currently planned for the following platforms: + +{% page-ref page="yearn.finance.md" %} + +{% page-ref page="compound.md" %} + +{% page-ref page="aave.md" %} + +{% page-ref page="dydx.md" %} + +{% page-ref page="uniswap.md" %} + +{% page-ref page="curve.md" %} + +{% page-ref page="balancer.md" %} + +Although DeFi has grown very quickly and there are now billions of dollars worth of value deposited on these platforms, several of these projects are still in beta and are highly experimental. There may be hidden vulnerabilities in the smart contracts that power these platforms, and there have been multi-million dollar losses caused by vulnerabilities in Ethereum applications in the past. + +We closely monitor security events on the platforms we support and will immediately move to secure OUSD holder funds if we identify any threats. + + + diff --git a/pt/core-concepts/supported-platforms/aave.md b/pt/core-concepts/supported-platforms/aave.md new file mode 100644 index 000000000..df02edab3 --- /dev/null +++ b/pt/core-concepts/supported-platforms/aave.md @@ -0,0 +1,25 @@ +# Aave + +{% hint style="info" %} +Coming soon. Aave has not yet been integrated. +{% endhint %} + +Aave is a lending protocol and platform built on Ethereum and launched in January 2020 by the creators of ETHLend. Users on Aave can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and users can choose between a variable interest rate based on supply and demand or a fixed interest rate. + +Collateral balances are represented by ERC-20 aTokens at a 1:1 ratio to the underlying assets they represent. Interest is compounded automatically and paid to lenders with aTokens, meaning lenders will steadily see their aToken balance increase over time. Users can borrow assets against their aTokens. aTokens are freely transferable and can be used on many other DeFi protocols. aTokens can be redeemed for their underlying collateral at any time. + +Aave supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +Aave is currently governed by LEND, an ERC-20 token that was formerly the utility token for ETHLend. Aave has announced a transition to fully decentralized governance that includes a token swap where users exchange LEND for AAVE, a new ERC-20 governance token with staking rewards. Some AAVE will be distributed to users of the platform in a liquidity mining campaign. + +Aave's total value locked \(TVL\) has quickly grown to over $1.2 billion, making it one of the largest DeFi protocols. LEND has a circulating market cap of over $700 million. + +Aave has undergone security audits by OpenZeppelin, Trail of Bits, and Consensys Diligence. Aave maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------------ | +| Official site | [https://aave.com/](https://aave.com/) | +| Developer docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/aave/aave-protocol](https://github.com/aave/aave-protocol) | +| Discord | [https://discordapp.com/invite/AnSqnvV](https://discordapp.com/invite/AnSqnvV) | + diff --git a/pt/core-concepts/supported-platforms/balancer.md b/pt/core-concepts/supported-platforms/balancer.md new file mode 100644 index 000000000..f8d9e3c0a --- /dev/null +++ b/pt/core-concepts/supported-platforms/balancer.md @@ -0,0 +1,27 @@ +# Balancer + +{% hint style="info" %} +Coming soon. Balancer has not yet been integrated. +{% endhint %} + +Balancer is a decentralized liquidity protocol and exchange on Ethereum, launched in March 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Balancer is an Automated Market Maker \(AMM\) that allows for liquidity pools of up to 8 different assets with custom weights. Liquidity pools on Balancer can be thought of as similar to Exchange Traded Funds \(ETFs\) or portfolios with weight targets for specific assets. If trading causes the pool to shift from its target weight distribution, exchange rates between assets in the pool change. Arbitrageurs can execute trades to take advantage of this and act to rebalance the pool back to its target weight distribution. Liquidity can also be shared across pools, unlike other AMMs. + +Balancer supports private pools, where only the owner of the pool can contribute liquidity, shared pools, which are completely public, and smart pools, which are shared pools controlled by a smart contract that can implement automated rules and logic. Liquidity providers are given Balancer Pool Tokens \(BPTs\) that represent their share of a given pool and fees. These tokens are freely transferable and can be redeemed for the assets provided and accrued fees. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Balancer pools. + +Balancer is governed by BAL, an ERC-20 governance token. BAL holders can vote on protocol changes. BAL is continuously awarded to liquidity providers and a large portion of the total supply of BAL was allocated to the team and investors on a continuous vesting schedule. + +Trading volumes on Balancer are often over $25 million daily. Balancer has a Total Value Locked \(TVL\) of over $250 million by liquidity providers at the time of writing. + +Balancer has undergone a security audit by Trail of Bits and has a bug bounty program. However, Balancer has suffered a major exploit in June 2020. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://balancer.finance/](https://balancer.finance/) | +| Developer docs | [https://docs.balancer.finance/](https://docs.balancer.finance/) | +| GitHub | [https://github.com/balancer-labs](https://github.com/balancer-labs) | +| Discord | [https://discord.gg/ARJWaeF](https://discord.gg/ARJWaeF) | + diff --git a/pt/core-concepts/supported-platforms/compound.md b/pt/core-concepts/supported-platforms/compound.md new file mode 100644 index 000000000..a4d2660a1 --- /dev/null +++ b/pt/core-concepts/supported-platforms/compound.md @@ -0,0 +1,19 @@ +# Compound + +Compound is a lending protocol and platform built on Ethereum and launched in September 2018. Users can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and interest rates are adjusted automatically based on supply and demand. + +Collateral balances are represented by ERC-20 cTokens, which automatically accrue interest and increase in value over time relative to the underlying asset they represent. Users can borrow assets against the value of their cTokens. cTokens are freely transferable and can be used on many other DeFi protocols. cTokens can be redeemed for their underlying collateral at any time. + +Compound is governed by COMP, an ERC-20 governance token. COMP holders can propose and vote on protocol changes or delegate their votes to someone else. COMP tokens are awarded pro rata to users of the protocol daily, split equally between borrowers and lenders. A large portion of the COMP token supply was retained by the Compound team, investors, and advisors. + +Compound's total value locked \(TVL\) has quickly grown to nearly $800 million, making it one of the largest DeFi protocols. COMP has a circulating market cap of over $500 million. + +Compound has undergone multiple security audits by OpenZeppelin and Trail of Bits. The Compound protocol was formally verified by CertiK and has undergone economic stress testing by Gauntlet. Compound maintains a bug bounty program. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------------------------------------------------- | +| Official site | [https://compound.finance/](https://compound.finance/) | +| Developer docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/compound-finance/compound-protocol](https://github.com/compound-finance/compound-protocol) | +| Discord | [https://discord.com/invite/cU7vmVW](https://discord.com/invite/cU7vmVW) | + diff --git a/pt/core-concepts/supported-platforms/curve.md b/pt/core-concepts/supported-platforms/curve.md new file mode 100644 index 000000000..021d0041b --- /dev/null +++ b/pt/core-concepts/supported-platforms/curve.md @@ -0,0 +1,25 @@ +# Curve + +{% hint style="info" %} +Coming soon. Curve has not yet been integrated. +{% endhint %} + +Curve is a decentralized liquidity protocol and exchange on Ethereum for stablecoins and wrapped BTC, launched in January 2020. Users can swap between popular ERC-20 stablecoins or between ERC-20 representations of bitcoin. Liquidity providers facilitate trading and earn fees. + +Curve is an Automated Market Maker \(AMM\) where each market has an associated liquidity pool with two or more assets that should have the same value, like USDT, USDC, DAI and TUSD, which are all US dollar pegged stablecoins. The exchange rate between each stablecoin and their relative weights are determined by an algorithm based on supply and demand. Arbitrageurs act to normalize these exchange rates. + +Some of Curve's liquidity pools earn extra fees for liquidity providers on top of the exchange fees from traders. Curve offers stablecoin pools integrated with Compound, yearn.finance, and Synthetix. The assets in each liquidity pool are provided to those platforms to generate additional yield which is passed on to each pool's liquidity providers. Liquidity Provider \(LP\) tokens are given to pool participants and can be redeemed for their initial liquidity supplied plus accrued fees and yield. LP tokens can also transferred for use in other protocols. + +Curve is governed by CRV, an ERC-20 governance token. CRV holders can vote on protocol changes. CRV holders can stake their tokens for additional voting power proportional to time staked. CRV is continuously awarded to liquidity providers and a large portion of the total supply of CRV was allocated to the team and investors on a continuous vesting schedule. + +Trading volumes on Curve are often over $50 million daily. Curve has a Total Value Locked \(TVL\) of over $1 billion by liquidity providers at the time of writing. + +Curve has undergone two audits by Trail of Bits and maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------ | +| Official site | [https://uniswap.org/](https://uniswap.org/) | +| Developer docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/pt/core-concepts/supported-platforms/dydx.md b/pt/core-concepts/supported-platforms/dydx.md new file mode 100644 index 000000000..24f1a895e --- /dev/null +++ b/pt/core-concepts/supported-platforms/dydx.md @@ -0,0 +1,27 @@ +# dYdX + +{% hint style="info" %} +Coming soon. DyDx has not yet been integrated. +{% endhint %} + +dYdX is a trading and lending protocol and platform built on Ethereum and launched in May 2019. Users can trade assets on dYdX's non-custodial, decentralized exchange or participate in borrowing and lending. The lending protocol enables margin and futures trading. Interest rates are adjusted based on supply and demand and only short term loans are offered. + +Liquidity for assets available for borrowing and lending are pooled together by asset type. Interest paid to lenders is accrued automatically and borrowers must put up collateral to take out a loan. + +dYdX also supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +dYdX has around $40 million in total value locked \(TVL\) at the time of this writing. dYdX does not have a native token. + +dYdX has undergone security audits by OpenZeppelin and Bramah Systems. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://dydx.exchange/](https://dydx.exchange/) | +| Developer docs | [https://docs.dydx.exchange/](https://docs.dydx.exchange/) | +| GitHub | [https://github.com/dydxprotocol/](https://github.com/dydxprotocol/) | +| Discord | [https://discord.gg/yah42Rb](https://discord.gg/yah42Rb) | + + + + + diff --git a/pt/core-concepts/supported-platforms/uniswap.md b/pt/core-concepts/supported-platforms/uniswap.md new file mode 100644 index 000000000..012e25e93 --- /dev/null +++ b/pt/core-concepts/supported-platforms/uniswap.md @@ -0,0 +1,27 @@ +# Uniswap + +{% hint style="info" %} +Coming soon. Uniswap has not yet been integrated. +{% endhint %} + +Uniswap is a decentralized liquidity protocol and exchange on Ethereum, launched in November 2018. Uniswap v2 launched in May 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Markets on Uniswap operate as liquidity pools rather than order books. This type of exchange is called an Automated Market Maker \(AMM\). The exchange rate between the two assets is determined by a constant product formula and moves along a price curve depending on the relative weight of each asset in the pool. This encourages arbitrageurs to enter liquidity pools to rebalance the relative weights and normalize the exchange rate. + +Traders can suffer from slippage if there is not enough liquidity in a given pool and may not be protected from unfavorable exchange rates. Liquidity providers may suffer impermanent loss when the pool exchange rate does not match market realities and arbitrageurs execute trades along the pricing curve. + +Pool participants are given Uniswap Liquidity Provider \(LP\) tokens that correspond to their share of liquidity provided in a given pool. These LP tokens are freely transferable. Participants can exit pools at any time by redeeming these tokens for the assets provided and fees accrued. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Uniswap pools. + +Trading volumes on Uniswap now eclipse that of many traditional exchanges and regularly surpass $200 million daily. Uniswap has over $170 million in Total Value Locked \(TVL\) by liquidity providers. Uniswap does not have a native platform or governance token. + +Uniswap has had its smart contracts audited and formally verfied by dapp.org. Uniswap maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------ | +| Official site | [https://uniswap.org/](https://uniswap.org/) | +| Developer docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/pt/core-concepts/supported-platforms/yearn.finance.md b/pt/core-concepts/supported-platforms/yearn.finance.md new file mode 100644 index 000000000..3f23b9fdb --- /dev/null +++ b/pt/core-concepts/supported-platforms/yearn.finance.md @@ -0,0 +1,25 @@ +# Yearn.finance + +{% hint style="info" %} +Coming soon. Yearn.finance has not yet been integrated. +{% endhint %} + +Yearn.finance, formerly iEarn.finance, is a yield aggregation platform built on Ethereum and launched in January 2020 by Andre Cronje. Yearn manages yield farming and rebalancing strategies using a combination of automation and human decision making on behalf of users who have deposited capital. + +Yearn has two yield aggregation products, Earn and Vaults. Earn allows users to deposit stablecoins or wrapped BTC into liquidity pools on Curve to earn fees and governance token rewards. These assets are also lent out on platforms offering high yield and token rewards, adding to the yield earned. + +Vaults offer a more automated and managed experience. Users deposit assets such as LINK, Curve liquidity provider tokens, or stablecoins and the Vault pools these assets together and deploys the highest earning yield farming strategy as deemed safe by the community and Andre Cronje. Governance tokens earned as rewards are sold off for the original asset deposited and combined with other fees and automatically rolled into the Vault to compound yield. Strategies can be changed frequently and pooling assets together saves gas costs for users. + +Yearn is governed by YFI, an ERC-20 governance token. YFI holders can vote on protocol changes after agreeing to lock up their YFI for 3 days. YFI can also be staked for yield in the governance portal. This yield comes from fees charged to users on Yearn products. YFI was distributed entirely to liquidity providers on Curve and Balancer. There was no allocation for team members or investors. + +Yearn's total value locked \(TVL\) has quickly grown to over $800 million, making it one of the largest DeFi platforms. YFI has a circulating market cap of over $400 million. + +Yearn has undergone multiple security and smart contract audits by CertiK, Quantstamp, HackMD, and CryptoManiacs. Yearn has a reputation for launching experimental products very quickly and warns users that their products are in beta. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://yearn.finance/](https://yearn.finance/) | +| Developer docs | [https://docs.yearn.finance/](https://docs.yearn.finance/) | +| GitHub | [https://github.com/iearn-finance](https://github.com/iearn-finance) | +| Discord | [https://discord.gg/uTmHe8r](https://discord.gg/uTmHe8r) | + diff --git a/pt/core-concepts/supported-stablecoins/README.md b/pt/core-concepts/supported-stablecoins/README.md new file mode 100644 index 000000000..1c4b60eb5 --- /dev/null +++ b/pt/core-concepts/supported-stablecoins/README.md @@ -0,0 +1,25 @@ +# Supported Stablecoins + +**Supported Stablecoins** + +It is important to understand that OUSD is only as strong as the stablecoins that are backing it. Any loss to the underlying assets will cause a similar loss to the value of OUSD. + +Currently, OUSD supports the following stablecoins: + +{% content-ref url="usdt.md" %} +[usdt.md](usdt.md) +{% endcontent-ref %} + +{% content-ref url="usdc.md" %} +[usdc.md](usdc.md) +{% endcontent-ref %} + +{% content-ref url="dai.md" %} +[dai.md](dai.md) +{% endcontent-ref %} + +None of these stablecoins are perfect, but we selected them because of their widespread usage. While these stablecoins have lost their USD peg on multiple occasions, they have demonstrated resiliency in eventually getting back to their 1 USD targets. + +It is important to note that all these stablecoins introduce non-trivial counter-party risk. Tether, in particular, has had well-documented banking troubles and regulatory challenges. In addition, both USDT and USDC have backdoors that grant their issuers the power to freeze money in their holder's wallets. While DAI does not have any direct backdoors, its assets can also be negatively impacted since USDC and USDT are accepted as collateral for minting DAI. + +Despite these concerns, there are already billions of dollars betting on the security of these stablecoins. It is possible that additional stablecoins will be added to the protocol over time. Support may also be removed if any of these stablecoins prove to be too unreliable or put OUSD holder's funds in jeopardy. diff --git a/pt/core-concepts/supported-stablecoins/dai.md b/pt/core-concepts/supported-stablecoins/dai.md new file mode 100644 index 000000000..b80269d11 --- /dev/null +++ b/pt/core-concepts/supported-stablecoins/dai.md @@ -0,0 +1,19 @@ +# DAI + +![](../../.gitbook/assets/dai.png) + +Dai is a fiat-pegged stablecoin launched as a ERC-20 token on the Ethereum blockchain in December 2017. A major upgrade from single-collateral Dai (SAI) to multi-collateral Dai (DAI) was completed in November 2019. Dai is pegged to the US dollar. + +Dai is minted by users locking up crypto assets such as ETH or USDC as collateral in a collateralized debt position (CDP) called a vault. Previously, only ETH was accepted as collateral. The reserves and status of each vault can be viewed on the blockchain in real-time. The health of these vaults and the Dai stablecoin are closely monitored. + +Dai is the world's third-largest stablecoin with over $400 million in circulation. In addition, cDAI and aDAI, synthetic versions of Dai on the lending platforms Compound and Aave, combine for over $600 million in circulation. + +| Key Facts | | +| ------------- | ------------------------------------------------------------------------------------------------------------------- | +| Issued by | MakerDAO | +| Name | Dai | +| Symbol | DAI | +| Address | [0x6b175474e89094c44da98b954eedeac495271d0f](https://etherscan.io/token/0x6b175474e89094c44da98b954eedeac495271d0f) | +| Decimals | 18 | +| Official site | [https://makerdao.com/](https://makerdao.com) | +| Holders | Over 380k addresses | diff --git a/pt/core-concepts/supported-stablecoins/usdc.md b/pt/core-concepts/supported-stablecoins/usdc.md new file mode 100644 index 000000000..e47385909 --- /dev/null +++ b/pt/core-concepts/supported-stablecoins/usdc.md @@ -0,0 +1,20 @@ +# USDC + +![](../../.gitbook/assets/usdc-coin-bd351fb779 (1).png) + +USD Coin (USDC) is a fiat-pegged stablecoin launched as a ERC-20 token on the Ethereum blockchain in October 2018. USDC is pegged to the US dollar and can easily be redeemed for US dollars. + +Each USDC is backed by a 1:1 ratio with the equivalent amount of fiat currency held in custodial accounts by members of Centre, a consortium founded by Circle and Coinbase. Members of Centre are regulated financial institutions based in the US. Monthly audits of reserves are published by Grant Thornton LLP. + +USDC is the world's second-largest stablecoin after USDT and has quickly grown to over $1 billion in circulation. However, USDC remains far behind USDT's $12+ billion in circulation. + +| Key Facts | | +| ------------- | ------------------------------------------------------------------------------------------------------------------- | +| Issued by | Centre | +| Name | USD Coin | +| Symbol | USDC | +| Address | [0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48](https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48) | +| Decimals | 6 | +| Official site | [https://www.centre.io/usdc](https://www.centre.io/usdc) | +| Holders | Over 1M addresses | + diff --git a/pt/core-concepts/supported-stablecoins/usdt.md b/pt/core-concepts/supported-stablecoins/usdt.md new file mode 100644 index 000000000..4f07af957 --- /dev/null +++ b/pt/core-concepts/supported-stablecoins/usdt.md @@ -0,0 +1,20 @@ +# USDT + +![](../../.gitbook/assets/image (1).png) + +Tether (USDT) is a fiat-pegged stablecoin that was initially built on top of Bitcoin via the Omni Layer Protocol. In September 2017, Tether announced they would be launching additional ERC-20 tokens for United States dollars on the Ethereum blockchain. + +Each Tether issued into circulation is said to be backed by a one-to-one ratio with the equivalent amount of fiat currency held in a custodial account by Tether Limited, a Hong Kong-based company with close ties to the cryptocurrency exchange, Bitfinex. + +Despite the controversy **** around **** the company's failure to provide a promised audit showing adequate reserves backing tether, USDT is still the world's largest stablecoin by market cap and currently the fourth-largest cryptocurrency after BTC, ETH and XRP. + +| Key Facts | | +| ------------- | ---------------------------------------------------------------------------------------------------------------- | +| Issued by | Tether Limited | +| Name | Tether | +| Symbol | USDT | +| Address | [0xdac17f958d2ee523a2206206994597c13d831](https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7) | +| Decimals | 6 | +| Official site | [https://tether.to/ ](https://tether.to) | +| Holders | Over 3.4M addresses | + diff --git a/pt/core-concepts/supported-strategies/README.md b/pt/core-concepts/supported-strategies/README.md new file mode 100644 index 000000000..b1bb5828c --- /dev/null +++ b/pt/core-concepts/supported-strategies/README.md @@ -0,0 +1,27 @@ +# Supported Strategies + +**Supported DeFi Platforms** + +OUSD generates yield by depositing stablecoins into lending platforms and market maker liquidity pools. It is important to understand that these platforms do carry technological risk and funds can be lost if there is a major security event. We are choosing to work with the platforms that have had their smart contracts audited and that we feel are most secure. + +Currently, OUSD earns yield from the following platform(s): + +{% content-ref url="compound.md" %} +[compound.md](compound.md) +{% endcontent-ref %} + +{% content-ref url="aave.md" %} +[aave.md](aave.md) +{% endcontent-ref %} + +{% content-ref url="curve.md" %} +[curve.md](curve.md) +{% endcontent-ref %} + +{% content-ref url="convex.md" %} +[convex.md](convex.md) +{% endcontent-ref %} + +Although DeFi has grown very quickly and there are now billions of dollars worth of value deposited on these platforms, several of these projects are still in beta and are highly experimental. There may be hidden vulnerabilities in the smart contracts that power these platforms, and there have been multi-million dollar losses caused by vulnerabilities in Ethereum applications in the past. + +We closely monitor security events on the platforms we support and will immediately move to secure OUSD holder funds if we identify any threats. diff --git a/pt/core-concepts/supported-strategies/aave.md b/pt/core-concepts/supported-strategies/aave.md new file mode 100644 index 000000000..cf77e0ffb --- /dev/null +++ b/pt/core-concepts/supported-strategies/aave.md @@ -0,0 +1,20 @@ +# Aave + +Aave is a lending protocol and platform built on Ethereum and launched in January 2020 by the creators of ETHLend. Users on Aave can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and users can choose between a variable interest rate based on supply and demand or a fixed interest rate. + +Collateral balances are represented by ERC-20 aTokens at a 1:1 ratio to the underlying assets they represent. Interest is compounded automatically and paid to lenders with aTokens, meaning lenders will steadily see their aToken balance increase over time. Users can borrow assets against their aTokens. aTokens are freely transferable and can be used on many other DeFi protocols. aTokens can be redeemed for their underlying collateral at any time. + +Aave supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +Aave's governance token was formerly called LEND which was the utility token for ETHLend. As part of their transition to fully decentralized governance, LEND holders were able to exchange LEND for AAVE, a new ERC-20 governance token with staking rewards. Some AAVE tokens have been distributed to users of the platform in a liquidity mining campaign. + +Aave's total value locked (TVL) has quickly grown to over $15.5 billion, making it the largest DeFi protocol at the time of writing. LEND has a circulating market cap of over $5.3 billion. + +Aave has undergone security audits by OpenZeppelin, Trail of Bits, and Consensys Diligence. Aave maintains a bug bounty program. + +| Resources | | +| -------------- | ------------------------------------------------------------------------------ | +| Official site | [https://aave.com/](https://aave.com) | +| Developer docs | [http://docs.aave.com/](http://docs.aave.com) | +| GitHub | [https://github.com/aave/aave-protocol](https://github.com/aave/aave-protocol) | +| Discord | [https://aave.com/discord](https://aave.com/discord) | diff --git a/pt/core-concepts/supported-strategies/balancer.md b/pt/core-concepts/supported-strategies/balancer.md new file mode 100644 index 000000000..f8d9e3c0a --- /dev/null +++ b/pt/core-concepts/supported-strategies/balancer.md @@ -0,0 +1,27 @@ +# Balancer + +{% hint style="info" %} +Coming soon. Balancer has not yet been integrated. +{% endhint %} + +Balancer is a decentralized liquidity protocol and exchange on Ethereum, launched in March 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Balancer is an Automated Market Maker \(AMM\) that allows for liquidity pools of up to 8 different assets with custom weights. Liquidity pools on Balancer can be thought of as similar to Exchange Traded Funds \(ETFs\) or portfolios with weight targets for specific assets. If trading causes the pool to shift from its target weight distribution, exchange rates between assets in the pool change. Arbitrageurs can execute trades to take advantage of this and act to rebalance the pool back to its target weight distribution. Liquidity can also be shared across pools, unlike other AMMs. + +Balancer supports private pools, where only the owner of the pool can contribute liquidity, shared pools, which are completely public, and smart pools, which are shared pools controlled by a smart contract that can implement automated rules and logic. Liquidity providers are given Balancer Pool Tokens \(BPTs\) that represent their share of a given pool and fees. These tokens are freely transferable and can be redeemed for the assets provided and accrued fees. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Balancer pools. + +Balancer is governed by BAL, an ERC-20 governance token. BAL holders can vote on protocol changes. BAL is continuously awarded to liquidity providers and a large portion of the total supply of BAL was allocated to the team and investors on a continuous vesting schedule. + +Trading volumes on Balancer are often over $25 million daily. Balancer has a Total Value Locked \(TVL\) of over $250 million by liquidity providers at the time of writing. + +Balancer has undergone a security audit by Trail of Bits and has a bug bounty program. However, Balancer has suffered a major exploit in June 2020. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://balancer.finance/](https://balancer.finance/) | +| Developer docs | [https://docs.balancer.finance/](https://docs.balancer.finance/) | +| GitHub | [https://github.com/balancer-labs](https://github.com/balancer-labs) | +| Discord | [https://discord.gg/ARJWaeF](https://discord.gg/ARJWaeF) | + diff --git a/pt/core-concepts/supported-strategies/compound.md b/pt/core-concepts/supported-strategies/compound.md new file mode 100644 index 000000000..77e40733e --- /dev/null +++ b/pt/core-concepts/supported-strategies/compound.md @@ -0,0 +1,18 @@ +# Compound + +Compound is a lending protocol and platform built on Ethereum and launched in September 2018. Users can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and interest rates are adjusted automatically based on supply and demand. + +Collateral balances are represented by ERC-20 cTokens, which automatically accrue interest and increase in value over time relative to the underlying asset they represent. Users can borrow assets against the value of their cTokens. cTokens are freely transferable and can be used on many other DeFi protocols. cTokens can be redeemed for their underlying collateral at any time. + +Compound is governed by COMP, an ERC-20 governance token. COMP holders can propose and vote on protocol changes or delegate their votes to someone else. COMP tokens are awarded pro-rata to users of the protocol daily, split equally between borrowers and lenders. A large portion of the COMP token supply was retained by the Compound team, investors, and advisors. + +Compound's total value locked (TVL) has quickly grown to over $10 billion, making it one of the largest DeFi protocols. COMP has a circulating market cap of over $2.5 billion. + +Compound has undergone multiple security audits by OpenZeppelin and Trail of Bits. The Compound protocol was formally verified by CertiK and has undergone economic stress testing by Gauntlet. Compound maintains a bug bounty program. + +| Resources | | +| -------------- | -------------------------------------------------------------------------------------------------------------- | +| Official site | [https://compound.finance/](https://compound.finance) | +| Developer docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/compound-finance/compound-protocol](https://github.com/compound-finance/compound-protocol) | +| Discord | [https://discord.com/invite/cU7vmVW](https://discord.com/invite/cU7vmVW) | diff --git a/pt/core-concepts/supported-strategies/convex.md b/pt/core-concepts/supported-strategies/convex.md new file mode 100644 index 000000000..771280a68 --- /dev/null +++ b/pt/core-concepts/supported-strategies/convex.md @@ -0,0 +1,18 @@ +# Convex + +Convex is an aggregation platform for Curve that launched in May 2021. Convex allows liquidity providers on Curve to earn boosted CRV rewards without having to vote-lock CRV. Convex vote-locks CRV on behalf of users and distributes boosted CRV rewards to them. Convex passes on trading fees earned on Curve to users as well. + +Convex also rewards users with their own ERC-20 governance token, CVX. Convex supports both CRV and CVX staking for additional rewards. Vote-locking CVX is required to participate in Convex governance. + +Convex is one of the few protocols whitelisted to participate in Curve governance and controls a huge amount of vote-locked CRV, making them one of the biggest players in Curve governance. A large proportion of liquidity provided on Curve is now done through Convex. Convex has a Total Value Locked (TVL) of over $15.4 billion in deposits at the time of writing. + +Convex has been audited by MixBytes. + +| | | +| -------------- | ---------------------------------------------------------------- | +| Resources | | +| Official site | [https://www.convexfinance.com](https://www.convexfinance.com) | +| Developer docs | [https://docs.convexfinance.com](https://docs.convexfinance.com) | +| GitHub | [https://github.com/convex-eth](https://github.com/convex-eth) | +| Discord | [https://discord.gg/uAwvZfs9qU](https://discord.gg/uAwvZfs9qU) | + diff --git a/pt/core-concepts/supported-strategies/curve.md b/pt/core-concepts/supported-strategies/curve.md new file mode 100644 index 000000000..40d2aade6 --- /dev/null +++ b/pt/core-concepts/supported-strategies/curve.md @@ -0,0 +1,20 @@ +# Curve + +Curve is a decentralized liquidity protocol and exchange on Ethereum for stablecoins and wrapped BTC, launched in January 2020. Users can swap between popular ERC-20 stablecoins or between ERC-20 representations of bitcoin. Liquidity providers facilitate trading and earn fees. + +Curve is an Automated Market Maker (AMM) where each market has an associated liquidity pool with two or more assets that should have the same value, like USDT, USDC, DAI and TUSD, which are all US dollar pegged stablecoins. The exchange rate between each stablecoin and their relative weights are determined by an algorithm based on supply and demand. Arbitrageurs act to normalize these exchange rates. + +Some of Curve's liquidity pools earn extra fees for liquidity providers on top of the exchange fees from traders. Curve offers stablecoin pools integrated with Compound, yearn.finance, and Synthetix. The assets in each liquidity pool are provided to those platforms to generate additional yield which is passed on to each pool's liquidity providers. Liquidity Provider (LP) tokens are given to pool participants and can be redeemed for their initial liquidity supplied plus accrued fees and yield. LP tokens can also transferred for use in other protocols. + +Curve is governed by CRV, an ERC-20 governance token. CRV holders can vote on protocol changes. CRV holders can stake or "vote-lock" their tokens for additional voting power proportional to time staked. Vote-locking CRV also significantly boosts liquidity provider rewards. CRV is continuously awarded to liquidity providers and a large portion of the total supply of CRV was allocated to the team and investors on a continuous vesting schedule. + +Curve has a Total Value Locked (TVL) of over $20.4 billion by liquidity providers at the time of writing. Hundreds of millions of dollars of trading volume are generated on Curve every day. + +Curve has undergone two audits by Trail of Bits and maintains a bug bounty program. + +| Resources | | +| -------------- | ------------------------------------------------------------------------ | +| Official site | [https://www.curve.fi/](https://www.curve.fi) | +| Developer docs | [https://www.curve.fi/devdocs](https://www.curve.fi/devdocs) | +| GitHub | [https://github.com/curvefi](https://github.com/curvefi) | +| Discord | [https://discord.com/invite/9uEHakc](https://discord.com/invite/9uEHakc) | diff --git a/pt/core-concepts/supported-strategies/dydx.md b/pt/core-concepts/supported-strategies/dydx.md new file mode 100644 index 000000000..24f1a895e --- /dev/null +++ b/pt/core-concepts/supported-strategies/dydx.md @@ -0,0 +1,27 @@ +# dYdX + +{% hint style="info" %} +Coming soon. DyDx has not yet been integrated. +{% endhint %} + +dYdX is a trading and lending protocol and platform built on Ethereum and launched in May 2019. Users can trade assets on dYdX's non-custodial, decentralized exchange or participate in borrowing and lending. The lending protocol enables margin and futures trading. Interest rates are adjusted based on supply and demand and only short term loans are offered. + +Liquidity for assets available for borrowing and lending are pooled together by asset type. Interest paid to lenders is accrued automatically and borrowers must put up collateral to take out a loan. + +dYdX also supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +dYdX has around $40 million in total value locked \(TVL\) at the time of this writing. dYdX does not have a native token. + +dYdX has undergone security audits by OpenZeppelin and Bramah Systems. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://dydx.exchange/](https://dydx.exchange/) | +| Developer docs | [https://docs.dydx.exchange/](https://docs.dydx.exchange/) | +| GitHub | [https://github.com/dydxprotocol/](https://github.com/dydxprotocol/) | +| Discord | [https://discord.gg/yah42Rb](https://discord.gg/yah42Rb) | + + + + + diff --git a/pt/core-concepts/supported-strategies/uniswap.md b/pt/core-concepts/supported-strategies/uniswap.md new file mode 100644 index 000000000..012e25e93 --- /dev/null +++ b/pt/core-concepts/supported-strategies/uniswap.md @@ -0,0 +1,27 @@ +# Uniswap + +{% hint style="info" %} +Coming soon. Uniswap has not yet been integrated. +{% endhint %} + +Uniswap is a decentralized liquidity protocol and exchange on Ethereum, launched in November 2018. Uniswap v2 launched in May 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Markets on Uniswap operate as liquidity pools rather than order books. This type of exchange is called an Automated Market Maker \(AMM\). The exchange rate between the two assets is determined by a constant product formula and moves along a price curve depending on the relative weight of each asset in the pool. This encourages arbitrageurs to enter liquidity pools to rebalance the relative weights and normalize the exchange rate. + +Traders can suffer from slippage if there is not enough liquidity in a given pool and may not be protected from unfavorable exchange rates. Liquidity providers may suffer impermanent loss when the pool exchange rate does not match market realities and arbitrageurs execute trades along the pricing curve. + +Pool participants are given Uniswap Liquidity Provider \(LP\) tokens that correspond to their share of liquidity provided in a given pool. These LP tokens are freely transferable. Participants can exit pools at any time by redeeming these tokens for the assets provided and fees accrued. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Uniswap pools. + +Trading volumes on Uniswap now eclipse that of many traditional exchanges and regularly surpass $200 million daily. Uniswap has over $170 million in Total Value Locked \(TVL\) by liquidity providers. Uniswap does not have a native platform or governance token. + +Uniswap has had its smart contracts audited and formally verfied by dapp.org. Uniswap maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------ | +| Official site | [https://uniswap.org/](https://uniswap.org/) | +| Developer docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/pt/core-concepts/supported-strategies/yearn.finance.md b/pt/core-concepts/supported-strategies/yearn.finance.md new file mode 100644 index 000000000..3f23b9fdb --- /dev/null +++ b/pt/core-concepts/supported-strategies/yearn.finance.md @@ -0,0 +1,25 @@ +# Yearn.finance + +{% hint style="info" %} +Coming soon. Yearn.finance has not yet been integrated. +{% endhint %} + +Yearn.finance, formerly iEarn.finance, is a yield aggregation platform built on Ethereum and launched in January 2020 by Andre Cronje. Yearn manages yield farming and rebalancing strategies using a combination of automation and human decision making on behalf of users who have deposited capital. + +Yearn has two yield aggregation products, Earn and Vaults. Earn allows users to deposit stablecoins or wrapped BTC into liquidity pools on Curve to earn fees and governance token rewards. These assets are also lent out on platforms offering high yield and token rewards, adding to the yield earned. + +Vaults offer a more automated and managed experience. Users deposit assets such as LINK, Curve liquidity provider tokens, or stablecoins and the Vault pools these assets together and deploys the highest earning yield farming strategy as deemed safe by the community and Andre Cronje. Governance tokens earned as rewards are sold off for the original asset deposited and combined with other fees and automatically rolled into the Vault to compound yield. Strategies can be changed frequently and pooling assets together saves gas costs for users. + +Yearn is governed by YFI, an ERC-20 governance token. YFI holders can vote on protocol changes after agreeing to lock up their YFI for 3 days. YFI can also be staked for yield in the governance portal. This yield comes from fees charged to users on Yearn products. YFI was distributed entirely to liquidity providers on Curve and Balancer. There was no allocation for team members or investors. + +Yearn's total value locked \(TVL\) has quickly grown to over $800 million, making it one of the largest DeFi platforms. YFI has a circulating market cap of over $400 million. + +Yearn has undergone multiple security and smart contract audits by CertiK, Quantstamp, HackMD, and CryptoManiacs. Yearn has a reputation for launching experimental products very quickly and warns users that their products are in beta. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://yearn.finance/](https://yearn.finance/) | +| Developer docs | [https://docs.yearn.finance/](https://docs.yearn.finance/) | +| GitHub | [https://github.com/iearn-finance](https://github.com/iearn-finance) | +| Discord | [https://discord.gg/uTmHe8r](https://discord.gg/uTmHe8r) | + diff --git a/pt/core-concepts/wrapped-ousd.md b/pt/core-concepts/wrapped-ousd.md new file mode 100644 index 000000000..bea00ee4b --- /dev/null +++ b/pt/core-concepts/wrapped-ousd.md @@ -0,0 +1,31 @@ +# Wrapped OUSD + +Wrapped OUSD provides a non-rebasing version of OUSD that still earns yield. This makes it easier to use OUSD as a building block for other contracts and it may provide tax benefits in some jurisdictions. + +![Two flavors, up only](https://cdn-images-1.medium.com/max/1600/1\*cqRG-8-64XYx9QChoMxk3g.png) + +### How wrapped OUSD works + +When you wrap OUSD, you get back a fixed number of wOUSD tokens. This number will not go up - you will have the same number of wOUSD tokens tomorrow as you have today. However, the number of OUSD tokens that you can unwrap will go up over time. + +For example, if you wrap 10,000 OUSD, you might receive 9,423 wOUSD. If you hold for a while, you will still have 9,423 wOUSD, but when you unwrap the wOUSD, you receive 11,500 OUSD. + +Both OUSD and wOUSD earn at the same rate and can be transferred just like any other ERC-20 token. wOUSD is one of the first implementations of [EIP-4626](https://eips.ethereum.org/EIPS/eip-4626), which is an extension on ERC-20 that provides basic functionality for depositing and withdrawing tokens and reading balances on a tokenized vault. wOUSD was independently [audited by Solidified](https://github.com/OriginProtocol/security/blob/3dc8c1dec2f6fbf4f7d0bdf92408f79262624647/audits/Solidified%20-%20OGV,%20wOUSD,%20and%20ERC721a%20-%20May%202022.pdf) in May 2022 and is ready for production use. + +### Wrapping + +If you don’t already have OUSD, you can buy it from Gate.io, KuCoin, Curve, Uniswap, or [get it directly from the OUSD DApp](https://www.youtube.com/watch?v=UabjvL-7iu4). + +Once you have OUSD in your wallet, visit [ousd.com/wrap](https://ousd.com/wrap) and follow these steps: + +1. Connect your wallet +2. Enter the amount of OUSD that you want to wrap +3. Submit the allowance for the wOUSD contract to use your OUSD +4. Submit the transaction to wrap your OUSD + +![ousd.com/wrap](https://cdn-images-1.medium.com/max/1600/1\*57fSZSSlzebhpIl8R4UqUQ.png) + +### Unwrapping + +Unwrapping your OUSD does not require any approvals since you already hold the wOUSD in your wallet. There's also no minimum term or lock-up period. You can use the same form shown above and just click the arrow to flip it to unwrap mode. This form calls the `redeem` function to unwrap a spcific amount of wOUSD. You can also [use Etherscan](https://etherscan.io/address/0xd2af830e8cbdfed6cc11bab697bb25496ed6fa62#writeProxyContract) to call the `withdraw` function if you prefer to specify the amount of OUSD that you want to be taken out. + diff --git a/pt/core-concepts/yield-generation/README.md b/pt/core-concepts/yield-generation/README.md new file mode 100644 index 000000000..b1d3861bc --- /dev/null +++ b/pt/core-concepts/yield-generation/README.md @@ -0,0 +1,30 @@ +# Yield Generation + +**Automated Yield Farming** + +While the Cambrian explosion of new lending and automated market maker pools has fueled total value locked (TVL), it has also made it increasingly challenging for yield farmers to manually allocate capital in efficient and optimal ways. + +[Yearn](https://yearn.finance) has demonstrated that smart contracts can automate the rebalancing of funds across various strategies to optimally earn lending interest, market-making fees, and rewards tokens. Over time, new strategies will be deployed that maximize returns while minimizing risk and dependencies. + +![Automated yield farming on the OUSD protocol](../../.gitbook/assets/ousd_earnings_graphic.png) + +OUSD uses the following high-level strategies for generating yield: + +{% content-ref url="lending.md" %} +[lending.md](lending.md) +{% endcontent-ref %} + +{% content-ref url="market-making.md" %} +[market-making.md](market-making.md) +{% endcontent-ref %} + +{% content-ref url="rewards.md" %} +[rewards.md](rewards.md) +{% endcontent-ref %} + +OUSD is able to generate higher yields than competing protocols due to a combination of important design decisions that amplify the rewards that are returned to OUSD holders: + +* Exit fees are returned to the pool, rewarding long term holders +* Price oracles favor the collective over the individual, again rewarding long term holders +* Smart contracts must manually opt-in to earn yield. This allows the protocol to put more capital to work than would be otherwise possible. +* Smart strategies balance risk and reward more effectively than deploying capital in any single underlying strategy. diff --git a/pt/core-concepts/yield-generation/lending.md b/pt/core-concepts/yield-generation/lending.md new file mode 100644 index 000000000..fa7607781 --- /dev/null +++ b/pt/core-concepts/yield-generation/lending.md @@ -0,0 +1,26 @@ +# Lending + +**Unbank the Banked** + +DeFi lending platforms let users lend and borrow crypto assets without any middlemen. Both lenders and borrowers get more value from their crypto. Lenders earn interest, while borrowers deposit crypto as collateral to gain access to credit without traditional banking headaches. DeFi lending platforms currently provide far superior returns for lenders than are generally available in the traditional markets. + +OUSD integrates with DeFi lending platforms that provide over-collateralized loans. Over-collateralization, combined with smart rules around liquidations, provide a reasonable level of security for lenders. Aave also additionally secures their lending pools with AAVE tokens respectively, further lowering risk. + +OUSD integrates with leading lending providers that have a proven track record, audited smart contracts, and have successfully lent hundreds of millions of dollars without issue. We are currently integrated with the following lending platforms: + +{% content-ref url="../supported-strategies/compound.md" %} +[compound.md](../supported-strategies/compound.md) +{% endcontent-ref %} + +{% content-ref url="../supported-strategies/aave.md" %} +[aave.md](../supported-strategies/aave.md) +{% endcontent-ref %} + + + + + + + + + diff --git a/pt/core-concepts/yield-generation/market-making.md b/pt/core-concepts/yield-generation/market-making.md new file mode 100644 index 000000000..464b5f13e --- /dev/null +++ b/pt/core-concepts/yield-generation/market-making.md @@ -0,0 +1,22 @@ +# Market Making + +**Own your Stake in Decentralized Exchanges** + +Automated market makers (AMMs) have quickly risen as the preferred form of decentralized exchange on the Ethereum network. This is in part due to the difficulty of supporting order book DEXes on Ethereum 1.0 that can rival the instant and low-slippage experiences on centralized exchanges. Further, AMMs like Uniswap are relatively user-friendly and gas-efficient to use. + +AMMs can only enable new markets when liquidity providers supply liquidity (e.g. multiple tokens for given trading pairs or pools). In return for providing liquidity, liquidity providers are rewarded with trading fees when other users swap tokens. For example, when traders swap two tokens on Uniswap v3, they are currently charged anywhere between 0.05% and 1% on top of the gas fees. These fees are distributed pro-rata to liquidity providers of the pair based on the percentage of total liquidity that they have provided. + +{% hint style="info" %} +[Impermanent loss](https://medium.com/@pintail/uniswap-a-good-deal-for-liquidity-providers-104c0b6816f2) is an important risk factor to understand, but this concern is largely mitigated by OUSD only providing liquidity for stablecoins of approximately equal value. +{% endhint %} + +The OUSD protocol routes USDT, USDC, and DAI to highly-performing liquidity pools as determined by trading volume and rewards tokens (e.g. Curve rewards CRV tokens to liquidity providers). Yields are then passed on to OUSD holders. + +We are currently integrated with the following automated market maker: + +{% content-ref url="../supported-strategies/curve.md" %} +[curve.md](../supported-strategies/curve.md) +{% endcontent-ref %} + + + diff --git a/pt/core-concepts/yield-generation/rewards.md b/pt/core-concepts/yield-generation/rewards.md new file mode 100644 index 000000000..f598afe7c --- /dev/null +++ b/pt/core-concepts/yield-generation/rewards.md @@ -0,0 +1,12 @@ +# Rewards + +**Collecting Rewards** + +In addition to collecting interest from lending and fees from market making, we intend to automatically claim and convert the bonus incentives that are being distributed by many of the DeFi protocols. For example, Compound gives away COMP tokens and Curve gives away CRV tokens. These bonus rewards will be regularly converted into stablecoins, deployed in the market, and distributed to OUSD holders in the form of additional yield. + +{% hint style="info" %} +While the vault safely stores any unexpected rewards that it receives, custom strategies will need to be written and deployed to decide when and how the protocol should convert them to stablecoins. +{% endhint %} + +Today, rewards are a significant factor for yield farmers as they represent a large percentage of their returns. We anticipate that the OUSD protocol will be upgraded over time to take advantage of the most attractive yields available across the DeFi landscape. The protocol will factor in the market value of the various rewards being offered when deciding how to best allocate resources. + diff --git a/pt/faq.md b/pt/faq.md new file mode 100644 index 000000000..6d47859ae --- /dev/null +++ b/pt/faq.md @@ -0,0 +1,33 @@ +# FAQ + +**Where can I buy OUSD?** + +Check out [Getting Started](https://docs.ousd.com/getting-started) to see a variety of options. + +**What are the costs to mint and redeem OUSD?** + +As with any Ethereum transaction, you will need Ether to interact with the OUSD smart contract. We have taken measures to reduce gas usage where possible, but these costs can vary. + +Anytime you mint or redeem OUSD, there will be an exchange rate applied to your stablecoins deposited or withdrawn. You can read more about this in [Price Oracles](https://docs.ousd.com/core-concepts/price-oracles). + +To encourage long-term holding of OUSD and to protect the protocol from attackers, an exit fee of 0.25% is charged on all redeems. You can read more about this in [How It Works](https://docs.ousd.com/how-it-works). + +**How soon will my balance increase once I have OUSD?** + +The amount of OUSD in your wallet will grow each time there is a positive rebase event. You can read more about this in [Elastic Supply](https://docs.ousd.com/core-concepts/elastic-supply). The supply is currently rebased several times per day and is usually correlated with how many people are minting and redeeming OUSD. + +**Why does OUSD not grow when it's held in Uniswap, SushiSwap, etc?** + +By default, rebase events don't affect the supply of OUSD that is sitting in smart contracts. These contracts can opt in to receiving additional OUSD if they are capable of handling elastic supply tokens. You can read more about this in [Rebasing & Smart Contracts](https://docs.ousd.com/core-concepts/elastic-supply/rebasing-and-smart-contracts). + +**How is it possible for the APY to be so high?** + +You can read about our various strategies in [Yield Generation](https://docs.ousd.com/core-concepts/yield-generation). We currently get most of the yield from harvesting rewards tokens (namely COMP and CRV). Additionally, the yield increases as more OUSD is held in smart contracts that do not opt into rebasing since the underlying collateral continues to earn for the average OUSD holder. + +**Why is my balance increasing at a slower rate than the advertised APY?** + +OUSD balances increase when the supply is rebased. But the size of each rebase varies wildly depending on how much the vault has earned since the last rebase. And while most rebases collect a small amount earnings from lending strategies, other rebases involve liquidating rewards tokens or collecting fees. As a result, the yield will vary significantly during short time periods. + +**What about the hack? Is OUSD safe?** + +On November 7th 2020, OUSD was exploited for 7M USD due to a previously undetected reentrancy bug. You can read more [details about the hack](https://medium.com/originprotocol/urgent-ousd-has-hacked-and-there-has-been-a-loss-of-funds-7b8c4a7d534c) on our blog as well as the [detailed compensation plan](https://medium.com/originprotocol/origin-dollar-ousd-detailed-compensation-plan-faa73f87442e) for taking care of the affected users. Origin Dollar was relaunched in December after completing multiple audits and security upgrades. You can learn more about the steps taken to secure the protocol in our [relaunch announcement](https://medium.com/originprotocol/origin-dollar-ousd-is-back-b8ee0c601dad). diff --git a/pt/getting-started.md b/pt/getting-started.md new file mode 100644 index 000000000..a02770326 --- /dev/null +++ b/pt/getting-started.md @@ -0,0 +1,71 @@ +# Getting Started + +These docs are intended to explain how OUSD works, communicate the potential risks and benefits, and provide a guide for developers who wish to contribute to our codebase or integrate OUSD into their products. Here are a few ways for you to dive in and get started. + +**Buying OUSD** + +{% hint style="info" %} +The [Origin Dollar DApp](https://ousd.com/swap) will intelligently route your transaction to get you the best rate. +{% endhint %} + +The [Origin Dollar DApp](https://ousd.com/swap) allows anyone to buy or sell OUSD using a web-3 enabled cryptocurrency wallet like [Metamask](https://www.metamask.io), [Ledger](https://www.ledger.com), or [Gnosis Safe](https://gnosis-safe.io). This is the native way to get OUSD, especially if you want a large amount that could risk moving the market on other exchanges. The DApp will intelligently decide whether to create or trade-in OUSD tokens using the vault or help you complete the trade on whichever AMM is currently offering the best rate. + +**Decentralized Exchanges** + +OUSD is currently available on the following decentralized exchanges. These are listed here for reference only. We recommend using the [Origin Dollar DApp](https://ousd.com/swap) to ensure you always get the best rate. + +* [Buy OUSD on 1inch](https://app.1inch.io/#/1/swap/USDT/OUSD) +* [Buy OUSD on Curve](https://curve.fi/factory/9) +* [Buy OUSD on Uniswap v3](https://app.uniswap.org/#/swap?inputCurrency=0xdac17f958d2ee523a2206206994597c13d831ec7\&outputCurrency=0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86) +* [Buy OUSD on Uniswap v2](https://app.uniswap.org/#/swap?inputCurrency=0xdac17f958d2ee523a2206206994597c13d831ec7\&outputCurrency=0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86\&use=v2) +* [Buy OUSD on Sushiswap](https://exchange.sushiswapclassic.org/#/swap?inputCurrency=0xdac17f958d2ee523a2206206994597c13d831ec7\&outputCurrency=0x2a8e1e676ec238d8a992307b495b45b3feaa5e86) + +**Centralized Exchanges** + +OUSD is currently available on the following centralized exchanges. Be sure to check on how they are handling the yield that is being generated by the protocol. Depending on the exchange, there may be additional steps you need to take to participate in the yield while it's being held in their custody. + +* Buy OUSD on KuCoin + * [OUSD/USDT](https://trade.kucoin.com/OUSD-USDT) + * [OUSD/BTC](https://trade.kucoin.com/OUSD-BTC) +* Buy OUSD on Gate.io + * [OUSD/USDT](https://www.gate.io/trade/OUSD\_USDT) +* Buy OUSD on Virgox + * [OUSD/USDT](https://virgox.com/exchange/141) +* [Buy OUSD on Dharma App](https://www.dharma.io) (US only) + +We're continuing to work on making OUSD available on additional centralized exchanges. + +**Adding OUSD to Your Wallet** + +{% hint style="success" %} +The main ERC20 address for Origin Dollar (OUSD) is: \ +**0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +If your OUSD does not automatically show up in your wallet, you should be able to add it manually using the address above. If you are planning on [storing your OUSD in a multi-sig wallet](core-concepts/elastic-supply/rebasing-and-smart-contracts.md), be sure to opt-in to receive yield. We want to have OUSD supported by as many wallets as possible and included on all the various lists of well-known tokens. We would greatly appreciate any help you can offer in this area. + +**Integrating OUSD** + +OUSD is a non-standard ERC-20 token that requires custom integration work for most applications that wish to support it. In particular, it is important for developers to understand how our elastic supply works as this can easily cause unexpected behavior. + +If you are a wallet provider or crypto exchange that is interested in supporting OUSD, please refer to the following guides: + +{% content-ref url="core-concepts/elastic-supply/rebasing-and-smart-contracts.md" %} +[rebasing-and-smart-contracts.md](core-concepts/elastic-supply/rebasing-and-smart-contracts.md) +{% endcontent-ref %} + +{% content-ref url="smart-contracts/architecture.md" %} +[architecture.md](smart-contracts/architecture.md) +{% endcontent-ref %} + +{% content-ref url="smart-contracts/api/" %} +[api](smart-contracts/api/) +{% endcontent-ref %} + +**Developer Analytics** + +Our internal developer dashboard is available at [analytics.ousd.com](https://analytics.ousd.com). The dashboard shows the current circulating supply, the assets under management in the vault, and the current allocations between each of the stablecoins and strategies. + +**Getting Help** + +Please join the Origin Dollar #engineering room in Origin's [Discord](https://www.originprotocol.com/discord) server. Our team and members of our community look forward to helping you build. Your questions help us improve, so please don't hesitate to ask if you can't find what you are looking for here. diff --git a/pt/governance/admin-privileges.md b/pt/governance/admin-privileges.md new file mode 100644 index 000000000..30ed8065a --- /dev/null +++ b/pt/governance/admin-privileges.md @@ -0,0 +1,32 @@ +# Admin Privileges + +The OUSD smart contracts are designed to be owner upgradable. The Origin team uses two different Gnosis multisig wallet contracts in order to make changes to the protocol. These multisig wallets have been [audited by OpenZeppelin](https://blog.openzeppelin.com/gnosis-multisig-wallet-audit-d702ff0e2b1e/), [ConsenSys Dilligence](https://blog.gnosis.pm/the-gnosis-multisig-wallet-and-our-commitment-to-security-ce9aca0d17f6), Origin’s team, and others. + +{% hint style="info" %} +Time-delayed admin actions gives users a chance to exit OUSD if its admins become malicious, are compromised, or make a change that the users do not like. +{% endhint %} + +### Admin + +The primary admin is a 5 of 8 multisig contract which is required to make any code changes to the protocol. OUSD can only be upgraded from this 5 of 8 multi-sig wallet. The keys to this multi-sig are held by individuals with close ties to the company, and not even the Origin founders acting together have enough control to execute owner functions on their own. In addition, the OUSD contracts are owned by a [timelock](../smart-contracts/api/timelock.md) which places a 48 hour time delay before any changes to the protocol can be made. + +### Strategist + +Some functionality, such as rebalancing funds between strategies or pausing deposits, can be triggered without the timelock and with far fewer signers. This allows the Origin team to react more quickly to market conditions or security threats. These signers, known as Strategists, have the ability to execute a limited number of functions __ with only 2 of 9 signers. + +The strategist multisig can do the following actions on the vault: + +* reallocate - move funds between strategies +* setVaultBuffer - adjust the amount of funds held outside strategies for cheaper redeems. +* setAssetDefaultStrategy - which strategy mints and redeems pull from for a particular strategy +* withdrawAllFromStrategy - remove funds from a single strategy and send them to the vault +* withdrawAllFromStrategies - remove funds from all active strategies and send them to the vault +* pauseRebase - pause all rebases +* pauseCapital - pause all mints and redeems +* unpauseCapital - allow all mints and redeems + +### Future + +Having these admin privileges is necessary in the early days to ensure that the protocol is secure and optimized for earning yields while minimizing risks. We expect to release multiple iterations of our smart contracts in the first several months of the protocol's existence. + +Once several upgrade cycles have been completed, we intend to transfer ownership from our company control to a decentralized governance contract, thereby allowing the community to vote and participate in future protocol updates. diff --git a/pt/governance/contributing.md b/pt/governance/contributing.md new file mode 100644 index 000000000..5b63d22c7 --- /dev/null +++ b/pt/governance/contributing.md @@ -0,0 +1,103 @@ +# Contributing + +**100% Open-source** + +OUSD is an entirely open-source project and we welcome contributions of all sorts. There are many ways to help, from reporting issues, contributing code, and helping us improve our community. + +{% content-ref url="broken-reference" %} +[Broken link](broken-reference) +{% endcontent-ref %} + +We work in public and our company Discord is open to all. If you have questions or need help getting started, our [Discord OUSD channels](https://discord.gg/jyxpUSe) are the best place to get assistance from our team and community. + +{% content-ref url="broken-reference" %} +[Broken link](broken-reference) +{% endcontent-ref %} + +**Developer Analytics** + +Our internal developer dashboard is available at [analytics.ousd.com](https://analytics.ousd.com). The dashboard shows the current circulating supply, the assets under management in the vault, and the current allocations between each of the stablecoins and strategies. Various other developer tools can be found at [ousd.com/dashboard](https://ousd.com/dashboard). + +#### Development Process + +Our branching strategy is similar to [GitFlow](http://nvie.com/posts/a-successful-git-branching-model/), but we do all of our development in the `master` branch and have a `stable` branch for code that has been released. + +Your development flow should look like: + +1. Find an interesting issue and communicate! Please let the `#engineering` [Discord](https://discord.gg/jyxpUSe) channel know what you want to work on. +2. Ping a [core team member](https://github.com/orgs/OriginProtocol/teams/core/members) member on Discord and ask to be added to our [contributors team](https://github.com/orgs/OriginProtocol/teams/contributors). Otherwise, you’ll need to fork the relevant repository and push feature branches to your own fork. +3. Add a comment to the issue or self-assign so we don’t have multiple contributors unintentionally working on the same task. +4. Start with the `master` branch and check out a new feature branch unless you’re contributing to an existing feature. +5. Write some awesome code. +6. Pull the latest commits from `master` and confirm that your code works with any other work that has been merged since you started. +7. Push your branch to the upstream repository (i.e. https://github.com/OriginProtocol/\[repo]) so that other contributors can easily work off of it if necessary. +8. Please request a review in the PR by clicking on the gear icon next to “Reviewers” in the right column. + +For critical smart contract code to be merged it must pass the following checklist: + +* Code reviewed by 2 reviewers +* Unit tests pass +* Slither tests pass with no warning +* Echidna tests pass + +The `master` branch is locked so that only members of the [core team](https://github.com/orgs/OriginProtocol/teams/core) are able to merge your pull requests. Pull requests that are peer-reviewed by other trusted contributors will be fast-tracked and merged faster! Check in the `#engineering` Discord channel for appropriate reviewers. + +#### Coding Style + +We use a variety of programming languages in our repositories. When contributing, please follow existing coding conventions and refer to the CONTRIBUTING.md file in the repository, if one exists. + +For JavaScript, we use [NPM’s style](https://docs.npmjs.com/misc/coding-style), which is automatically enforced via [prettier](https://prettier.io). + +For Solidity, we use two-space indents. + +#### Protocol Design + +When considering protocol or implementation design proposals, we are looking for: + +* A description of the problem this design proposal solves +* Discussion of the trade-offs involved +* Review of other existing solutions +* Links to relevant literature (RFCs, papers, etc) +* Discussion of the proposed solution + +Please note that protocol design is hard and meticulous work. You may need to review existing literature and think through generalized use cases. + +#### Community Guidelines + +We want to keep the Origin community awesome, growing and collaborative. We need your help to keep it that way. To help with this we’ve come up with some general guidelines for the community as a whole: + +* Be nice: Be courteous, respectful and polite to fellow community members: no regional, racial, gender, or other abuse will be tolerated. We like nice people way better than mean ones! +* Encourage diversity and participation: Make everyone in our community feel welcome, regardless of their background and the extent of their contributions, and do everything possible to encourage participation in our community. +* Keep it legal: Basically, don’t get anybody in trouble. Share only content that you own, do not share private or sensitive information, and don’t break laws. +* Stay on topic: Make sure that you are posting to the correct channel and avoid off-topic discussions. Remember when you update an issue or respond to an email you are potentially sending to a large number of people. Please consider this before you update. Also remember that nobody likes spam. + +#### Reporting Issues + +If you find bugs, mistakes or inconsistencies in Origin’s code or documents, please let us know by filing a GitHub issue. No issue is too small. Help us fix our tpyos! + +#### Security Issues + +OUSD is still in early development, which means there may be problems with the protocol or in our implementations. We take security vulnerabilities very seriously. If you discover a security issue, please bring it to our attention right away! + +If you find a security vulnerability please send your report privately to [security@originprotocol.com](mailto:security@originprotocol.com) or send an encrypted message to [@joshfraser on Keybase](https://keybase.io/joshfraser). Please DO NOT file a public issue. Be sure to review our guidelines for responsible disclosure and eligibility for bug bounties. + +{% content-ref url="../security-and-risks/bug-bounties.md" %} +[bug-bounties.md](../security-and-risks/bug-bounties.md) +{% endcontent-ref %} + +#### **Community Improvement** + +Origin is just as much about community as it is about our technology. + +We need constant help in improving our documentation, building new tools to interface with our platform, spreading the word to new users, helping new users getting setup and much more. + +Please get in touch if you would like to help out. Our `discussion` channel on [Discord](https://www.originprotocol.com/discord) is a great place to share ideas and volunteer to help. + +#### Full-Time Positions + +Origin occasionally hires developers for part-time or full-time positions. + +We have a strong preference for hiring people who have already started contributing to the project. If you want a full-time position on our team, your best shot is to engage with our team and start contributing code. It is very unlikely that we would offer you a full-time position on our engineering team unless you’ve had at least a few pull requests merged. + +If you are interested, check out [the Origin Protocol job listings](https://angel.co/originprotocol/jobs). If you’d like to help in other ways, please propose your ideas in [our Discord channel](https://www.originprotocol.com/discord). + diff --git a/pt/governance/governance.md b/pt/governance/governance.md new file mode 100644 index 000000000..eea11a787 --- /dev/null +++ b/pt/governance/governance.md @@ -0,0 +1,26 @@ +# Principles + +**Progressive Decentralization** + +OUSD is designed to be a decentralized protocol governed by many stakeholders all over the world. We believe that the minters and holders of OUSD should collectively determine important protocol decisions as soon as possible. + +That being said, in the very early days, it is imperative that the core engineering team can act quickly and decisively to build the foundational parts of the protocol. + +Decentralization will progress across four phases rapidly over the next few months. It is our intent to relinquish control and governance to the community as soon as possible. + +![](../.gitbook/assets/ousd_docs_graphics_2%20%283%29.png) + +**Timelock** + +Prior to full decentralized governance, we will implement a [timelock](../smart-contracts/api/timelock-1.md) in front of all admin function calls, giving OUSD users time \(48 hours\) to withdraw their funds if they have objections to our proposed upgrades. This timelock will be added shortly after launch. + +**New and Existing Stakeholders** + +OUSD is a new project founded by Origin Protocol [team](www.originprotocol.com/team) and will be supported by the existing Origin community as well as many new stakeholders that choose to mint, hold, use, and provide liquidity for OUSD. + +In addition, we also want to ensure high participation from our existing Origin Token \(OGN\) holders, community of close to 500,000 members, and buyers/sellers on the Platform. Existing OGN holders will be able to stake their OGN to participate in governance and earn incentives for driving value to OUSD. More details will be provided in the near future. + +The strong connection between OUSD and the rest of the Origin commerce platform will fuel growth in both initiatives. + + + diff --git a/pt/governance/ogn-staking.md b/pt/governance/ogn-staking.md new file mode 100644 index 000000000..e7a3e0bc2 --- /dev/null +++ b/pt/governance/ogn-staking.md @@ -0,0 +1,18 @@ +# OGN Staking + +Origin Token (OGN) is intended as the governance token for OUSD and OGN will play an increasingly important role as the Origin Platform becomes more decentralized. Today, users can stake their OGN tokens to earn additional OGN after a chosen staking period has elapsed. + +{% hint style="info" %} +Visit the [OUSD DApp](https://www.ousd.com/stake) in a web3-enabled browser to stake your OGN. +{% endhint %} + +The initial staking program offers three staking periods and respective yields: + +* 30-day staking period: Earn 7.5% annualized interest +* 90-day staking period: Earn 12.5% annualized interest +* 365-day staking period: Earn 25% annualized interest + +Staked tokens will be locked for the duration of the staking period. After each staking period ends, you will be able to claim both your initial OGN (principal) and yield. + +OGN is currently trading on top exchanges like [Coinbase](https://www.coinbase.com/price/origin-token), [Binance](https://www.binance.com/en/register?ref=NPPYAEAE), [Huobi](https://www.huobi.com/en-us/exchange/ogn_usdt/), [Upbit](https://upbit.com/exchange?code=CRIX.UPBIT.BTC-OGN), [Bittrex Global](https://global.bittrex.com/Market/Index?MarketName=BTC-OGN), and [dozens more](https://coinmarketcap.com/currencies/origin-protocol/markets/). Visit the Origin website to [learn more about OGN](https://www.originprotocol.com/ogn-token) or check out the [OGN Dashboard](https://www.originprotocol.com/dashboard) to track important token metrics. + diff --git a/pt/governance/phases.md b/pt/governance/phases.md new file mode 100644 index 000000000..4b45be826 --- /dev/null +++ b/pt/governance/phases.md @@ -0,0 +1,6 @@ +# Phases + +Progressive decentralization will follow four phases as outlined below. + +![](../.gitbook/assets/ousd_docs_graphics_2%20%282%29.png) + diff --git a/pt/governance/principles.md b/pt/governance/principles.md new file mode 100644 index 000000000..b809ce66f --- /dev/null +++ b/pt/governance/principles.md @@ -0,0 +1,30 @@ +# Principles + +**Governance Portal** + +OGN holders are encouraged to participate in creating and voting on proposals that impact the protocol in the [OGN governance portal](https://vote.originprotocol.com). Anyone with at least 1,000 OGN in their wallet or staked in our OGN Staking contract can create a new proposal using Snapshot. All OGN holders are able to vote for proposals. Our desire is for our community to have a strong impact on the direction of Origin’s products, open-source codebase, and to have a voice in key business decisions and the overall direction of the project. + +OGN holders can also [delegate votes](vote-delegation.md) to another account. + +**Progressive Decentralization** + +OUSD is designed to be a decentralized protocol governed by many stakeholders all over the world. We believe that the holders of OUSD should collectively determine important protocol decisions as soon as possible. + +That being said, in the very early days, it is imperative that the core engineering team can act quickly and decisively to build the foundational parts of the protocol. + +Decentralization will progress across four phases rapidly over the next few months. It is our intent to relinquish control and governance to the community as soon as possible. + +![](../.gitbook/assets/ousd\_docs\_graphics\_2 (2).png) + +**Timelock** + +Prior to full decentralized governance, we will implement a [timelock](../smart-contracts/api/timelock.md) in front of all admin function calls, giving OUSD users time to withdraw their funds if they have objections to our proposed upgrades. + +**New and Existing Stakeholders** + +OUSD is a new project founded by Origin Protocol [team](https://www.originprotocol.com/team) and will be supported by the existing Origin community as well as many new stakeholders that choose to mint, hold, use, and provide liquidity for OUSD. + +In addition, we also want to ensure high participation from our existing Origin Token (OGN) holders and the millions of people in our community. Existing OGN holders are able to [stake their OGN](ogn-staking.md) to participate in governance and earn incentives for driving value to OUSD. + +The strong connection between OUSD and the rest of the Origin commerce platform will fuel growth in both initiatives. + diff --git a/pt/governance/vote-delegation.md b/pt/governance/vote-delegation.md new file mode 100644 index 000000000..9a8149d2f --- /dev/null +++ b/pt/governance/vote-delegation.md @@ -0,0 +1,18 @@ +# Vote Delegation + +OGN holders can forward their voting power on the [Governance Portal](https://vote.originprotocol.com/#/) to another Ethereum address. Choosing this option does not strip the delegator of their voting power. The delegatee receives the extra voting power only on proposals the delegator has not voted on. + +This is convenient when users want someone they trust or even one of Origin's team members to make governance decisions regarding Origin's ecosystem. It is also useful when users have OGN stored more safely in a hardware wallet and don’t want to go through the hassle of connecting it to the computer. A more accessible Ethereum wallet e.g. Metamask can be used to vote by having voting power delegated to it from the hardware wallet.\ + + +**How to Delegate** + +* Go to: [https://snapshot.org/#/delegate](https://snapshot.org/#/delegate). +* Type in the address or ENS name you want to delegate to. +* There is an option to limit the delegation power to only Origin’s products by selecting _Limit delegation to a specific space_ and typing in “origingov.eth”. +* Click confirm to save your delegation.\ + + +![](../.gitbook/assets/Screenshot 2022-03-20 at 10.47.43.png) + +After completing these steps, the OGN voting power is successfully delegated to the address specified. diff --git a/pt/guides/incentivized-harvesting-guide.md b/pt/guides/incentivized-harvesting-guide.md new file mode 100644 index 000000000..a24597e9c --- /dev/null +++ b/pt/guides/incentivized-harvesting-guide.md @@ -0,0 +1,46 @@ +# Incentivized Harvesting Guide + +The OUSD Harvester contract collects reward tokens earned by the OUSD strategies, sells them, and sends them on to increase protocol yield. **Anyone can call the harvest and earn 1% of the resulting USDT** for doing so. This creates a self-incentivizing system that operates at a known cost to the protocol. + +### When to call + +You'll want to call this contract when it is profitable to do so. You gain the 1% harvest USDT given by the contract, and spend the gas cost to send the transaction. + +The simplest way to calculate both of these is to simulate the transaction. You can then look at the resulting transfers to know the income received, and you can look at the gas amount used, the current gas prices, and the current cost of ETH, to find out the cost. + +Alternatively you can precompute the gas used for a given strategy's harvest, look up the pending reward tokens using various online services, then do your calculations without using the blockchain. + +The amount of rewards increases at a fairly steady, predictable rate. The primary variation is in gas prices, which will make a much bigger minute to minute difference on when you should call this. + +When calculating profitability, remember to account for the cost to swap back to ETH from USDT. + +### How to call + +When you call the harvest, **you will want to use some form of MEV protection**. Otherwise bots will see that your transaction is profitable, and execute it ahead of you, leaving you no gain and only gas fees. + +To harvest, you call `harvester.harvestAndSwap(strategyAddress, rewardTo)`. + +The harvester address and strategyAddresses can be found in the strategy tab of the [contract registry](../smart-contracts/registry.md). The `rewardTo` address is the account that will receive the USDT funds as a reward for calling the function - use your own address for it. + +Below is the harvestAndSwap ABI: + +``` +[{ + "inputs": [ + { + "internalType": "address", + "name": "_strategyAddr", + "type": "address" + }, + { + "internalType": "address", + "name": "_rewardTo", + "type": "address" + } + ], + "name": "harvestAndSwap", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" +}] +``` diff --git a/pt/guides/integration-guide-for-exchanges.md b/pt/guides/integration-guide-for-exchanges.md new file mode 100644 index 000000000..cda6f2cd1 --- /dev/null +++ b/pt/guides/integration-guide-for-exchanges.md @@ -0,0 +1,34 @@ +# Integration Guide For Exchanges + +Centralized exchanges will play an important role in helping us reach our goal of making OUSD ubiquitous. We are happy to help any exchange that wants to make OUSD available to its users. We believe OUSD will make a great addition to any exchange that wants to offer both a superior stablecoin and a new high-yield opportunity for their users. + +These docs are a great starting point for understanding how OUSD works. Here are some important questions for exchanges that wish to integrate OUSD to consider: + +**Do you want to participate in the yield that is generated?** + +We're assuming the answer will be yes and we highly encourage this as well! However, there may be some instances where you would prefer to move fast and list OUSD without participating in the [rebasing nature of OUSD](../core-concepts/elastic-supply/rebasing-and-smart-contracts.md) since it's the fastest and simplest integration. For exchanges that want to list OUSD, but are strapped for engineering resources, you may want to launch the non-rebasing version first while your engineers make whatever changes are necessary. To make OUSD non-rebasing you can call `rebaseOptOut()` from each EOA wallet that holds OUSD, or do nothing if you are storing OUSD on smart contracts. Non-rebasing OUSD behaves just like any other ERC-20 token. + +**Are you storing customer balances on smart contracts (ie. multi-sigs) or EOA wallets?** + +Any smart contract that is holding OUSD needs to manually opt-in to receive the yield by calling `rebaseOptIn()`. This is due to the [elastic supply](../core-concepts/elastic-supply/) and the [rebasing nature of OUSD](../core-concepts/elastic-supply/rebasing-and-smart-contracts.md). Many exchanges sweep customer funds into a multi-sig wallet for cold storage. If you do this, you'll want to make sure that you opt-in to rebasing so that you are always earning. + +**Are you caching user balances?** + +OUSD dynamically updates the value returned by the `balanceOf()` function on our ERC20 contract. Users' balances will update at unpredictable times as new yield is generated by the protocol. As long as you aren't caching this value, users will always see the correct amount of OUSD that they are holding. + +It's important to note that while OUSD is a rebasing token, user balances will only rebase in a positive direction (your balance will never go down). This makes things a lot simpler than integrating with other rebasing coins like AMPL or other algo-stables. + +**Are you comingling user funds?** + +If you are comingling funds, you'll want to be sure that each user gets their pro-rata amount of the yield that is generated by the protocol. Probably the easiest way to do this is to track each user's balance as a percentage of a pool instead of as a fixed amount. + +**Are you planning to provide liquidity?** + +The Origin team is often willing to provide a market maker and initial liquidity for exchanges that wish to integrate OUSD. There are also 9 figures worth of liquidity available on decentralized exchanges like [Curve](https://curve.fi/factory/9). + +If you are interested in using OUSD to power your own staking or earning program, you will probably want to be able to access OUSD on demand. OUSD can always be minted or redeemed using the [Origin Dollar DApp](https://www.ousd.com), or directly from the OUSD [smart contracts](../smart-contracts/registry.md). If you are planning on providing liquidity yourself, you should be aware that the exact amount of OUSD you will receive in exchange for your USDT, USDC, or DAI depends on the current exchange rates as determined by the [oracles.](../core-concepts/price-oracles.md) If you are planning on redeeming OUSD for the underlying stablecoins, you should know there is a 0.25% exit fee and OUSD will return a basket of stable coins in proportion to the backing stablecoins in the pool. We encourage exchanges to leverage existing pools of liquidity to avoid those fees. If possible, mints or redeems should be done in large batches for maximum efficiency. + +#### Do you have other questions? + +The best way to get help from both our engineering and business teams is usually on [Discord](https://www.originprotocol.com/discord). + diff --git a/pt/how-it-works.md b/pt/how-it-works.md new file mode 100644 index 000000000..061ececf6 --- /dev/null +++ b/pt/how-it-works.md @@ -0,0 +1,39 @@ +# How It Works + +#### 100% Backed and Stable + +Origin Dollar (OUSD) is an ERC-20 compliant token for the Ethereum network. + +OUSD is a stable currency that is backed 1:1 by other stablecoins like USDT, USDC and DAI. As a result, 1 OUSD should always be very close to 1 USD in value. + +{% hint style="success" %} +1 OUSD = 1 USD +{% endhint %} + +#### Buying OUSD + +Users can convert their existing stablecoins (currently USDT, USDC, and DAI) to OUSD at the official [Origin Dollar DApp](https://www.ousd.com). Received OUSD begins accruing compounding yield immediately. + +The Origin DApp will intelligently route user's transactions to give them the best available price while taking slippage and gas costs into consideration. This means that the DApp will sometimes encourage users to buy OUSD that is already in circulation versus minting fresh OUSD from the vault. The OUSD DApp will choose from multiple sources of liquidity and will suggest the option that gives the user the best possible rate. + +**Selling OUSD** + +Users can convert their OUSD back into other stablecoins at any time using the [Origin Dollar DApp](https://www.ousd.com). The Origin DApp will intelligently route user's transactions to give them the best available price while taking slippage, gas costs, and the vault's exit fee into consideration. This means that the DApp will often help users sell their OUSD on AMM's instead of redeeming OUSD with the vault and incurring the protocol's exit fee. + +A 0.25% exit fee is charged upon redemption with the vault. This fee is distributed as additional yield to the remaining participants in the vault (ie. other OUSD holders). The fee serves as a security feature to make it difficult for attackers to take advantage of lagging oracles, preventing them from siphoning stablecoins from the vault in the event of mispriced underlying assets. The fee exists to incentivize long-term holders over short-term speculators. + +Upon redemption, the vault will determine which stablecoin(s) to return to the user. In the current implementation, the vault will return coins in the same ratio as the current holdings. This lack of user optionality also protects the vault as a whole in the event that any of the supported stablecoins loses its peg to the dollar. + +{% hint style="warning" %} +Redemptions on the OUSD vault incur a **0.25% exit fee** and the user doesn't get to pick which stablecoins they receive. Users can often avoid this fee by selling to an AMM instead. +{% endhint %} + +#### A**utomated Yield Farming** + +OUSD generates yields by deploying the underlying stablecoins that were deposited to the OUSD smart contract to other DeFi protocols such as Compound, Aave, and Curve. There may be new diversified strategies added to the vault in the future. Collected interest, trading fees, and rewards tokens are pooled and converted to stablecoins to produce OUSD-denominated yields. Over time, the protocol will move assets in and out of different liquidity pools in order to provide the best yield to the holders of OUSD. + +#### **Elastic Supply** + +The generated returns are passed on to the holders of OUSD via constant rebasing of the money supply. OUSD constantly adjusts the money supply in response to the yield the protocol has generated. This allows the price of OUSD to stay pegged at $1 while the balances in token holders' wallets adjust in real-time to reflect yields that have been earned by the protocol. + +The end result is a stablecoin that is easy to spend, earns outsized yields automatically, and is more desirable to hold than existing stablecoins. diff --git a/pt/security-and-risks/asset-risk.md b/pt/security-and-risks/asset-risk.md new file mode 100644 index 000000000..92140f5ed --- /dev/null +++ b/pt/security-and-risks/asset-risk.md @@ -0,0 +1,33 @@ +# Bug Bounties + +**Bug Bounties** + +Bug bounties are granted at the full discretion of Origin Protocol. The rewards range in size from **$100** for minor issues to **$250,000** for major vulnerabilities. Currently, the bounty program only applies to OUSD and not other products from Origin. + +{% hint style="warning" %} +In order to be eligible for a bug bounty, you must follow the rules of Responsible Disclosure outlined below. +{% endhint %} + +**Responsible Disclosure** + +Security is our top priority and we've taken every effort to make sure our code is secure and works as intended. However, it's completely possible that vulnerabilities both large and small may have gone undetected. + +In case you discover a vulnerability, we would like to know about it immediately so we can take steps to address it as quickly as possible. + +If you discover a vulnerability, please do the following: + +* Report your findings to [security@originprotocol.com](mailto:security@originprotcol.com) or contact [Josh Fraser on Keybase](https://keybase.io/joshfraser) +* Do not take advantage of the vulnerability or problem you have discovered +* Do not reveal the problem to others until it has been resolved +* Do not use attacks on physical security, social engineering, distributed denial of service, spam or applications of third parties +* Do provide sufficient information to reproduce the problem, so we will be able to resolve it as quickly as possible. Complex vulnerabilities may require further explanation so we might ask you for additional information. + +In return, we promise: + +* We will respond to your report within 3 business days with our evaluation of the report and an expected resolution date +* If you have followed the instructions above, we will not take any legal action against you in regard to the report +* We will handle your report with strict confidentiality, and not pass on your personal details to third parties without your permission +* If you so wish we will keep you informed of the progress towards resolving the problem +* In the public information concerning the problem reported, we will give your name as the discoverer of the problem \(unless you desire otherwise\) +* As a token of our gratitude for your assistance, we offer a reward for every report of a security problem that was not yet known to us. The amount of the reward will be determined based on the severity of the leak, the quality of the report, and any additional assistance you provide. + diff --git a/pt/security-and-risks/audits.md b/pt/security-and-risks/audits.md new file mode 100644 index 000000000..8d5402c70 --- /dev/null +++ b/pt/security-and-risks/audits.md @@ -0,0 +1,40 @@ +# Audits + +**The OUSD Vault, ERC-20, and Overall System** + +OUSD has been audited by multiple, well-respected security firms. We have worked with [OpenZeppelin](https://openzeppelin.com), [Trail of Bits](https://www.trailofbits.com), [Solidified](https://solidified.io), and [Certora](https://www.certora.com) to audit all of the code that powers Origin Dollar. Their findings are available below: + +* [Trail of Bits, OUSD Audit, December 2020](https://github.com/OriginProtocol/security/blob/master/audits/Trail%20of%20Bits%20-%20Origin%20Dollar%20-%20Dec%202020.pdf) +* [Solidified, OUSD Audit, December 2020](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20Origin%20Dollar%20-%20Dec%202020.pdf) +* [Solidified, OGN Staking Audit, December 2020](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20OGN%20Staking%20-%20Dec%202020.pdf) +* [Certora, OUSD Formal Verification Audit, January 2021](https://www.certora.com/pubs/OriginFeb2021.pdf) +* [OpenZeppelin, OUSD Audit, August 2021](https://github.com/OriginProtocol/security/blob/master/audits/OpenZeppelin%20-%20Origin%20Dollar%20-%20October%202021.pdf) +* [Solidified, wOUSD, ERC721a, Governance, Harvester & Dripper Audit, May 2022](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20OGV%2C%20wOUSD%2C%20and%20ERC721a%20-%20May%202022.pdf) + +Both our initial and future governance tokens have been audited as well: + +* [Trail of Bits, OGN Audit, November 2018](https://github.com/OriginProtocol/security/blob/master/audits/Trail%20of%20Bits%20-%20Origin%20Marketplace%20and%20OGN%20Token%20-%20Nov%202018.pdf) +* [Solidified, OGV Audit, May 2022](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20OGV%2C%20wOUSD%2C%20and%20ERC721a%20-%20May%202022.pdf) + +In addition, the underlying strategies and dependencies that OUSD utilizes have been thoroughly audited by various firms. + +{% hint style="info" %} +OUSD only integrates strategies that have been carefully audited and battle-tested with significant capital over an extended period of time. +{% endhint %} + +**Compound Strategy and Open Price Feed** + +Compound has been audited by [Trail of Bits](https://www.trailofbits.com) and [OpenZeppelin](https://openzeppelin.com) and formally verified by [Certora](https://www.certora.com). Visit the Compound website for their [full list of audits](https://compound.finance/docs/security#audits) including the original code for the modified [Timelock](../smart-contracts/api/timelock.md) that OUSD is using. + +**Aave Strategy** + +Aave has been audited by [Trail of Bits](https://www.trailofbits.com), [OpenZeppelin](https://openzeppelin.com), [ConsenSys Diligence](https://consensys.net/diligence/), [Certik](https://certik.io), [MixBytes](https://mixbytes.io), and [PeckShield](https://peckshield.com). They have also been formally verified by [Certora](https://www.certora.com). Visit the Aave website for [their full list of audits](https://docs.aave.com/developers/security-and-audits). + +**Curve Strategy** + +Curve has been audited by [Trail of Bits](https://www.trailofbits.com) and [Quantstamp](https://quantstamp.com). Visit the Curve website for [their full list of audits](https://www.curve.fi/audits). + +**Chainlink Oracles** + +Chainlink has been audited by [Quantstamp](https://github.com/smartcontractkit/chainlink/tree/bafa91c), [SigmaPrime](https://github.com/smartcontractkit/chainlink/tree/cee356), [Callisto](https://gist.github.com/yuriy77k/c3a70d212a7f9ecda715252e45073158), and [Nick Johnson](https://github.com/smartcontractkit/chainlink/tree/5327f9). + diff --git a/pt/security-and-risks/bug-bounties.md b/pt/security-and-risks/bug-bounties.md new file mode 100644 index 000000000..d6e21196f --- /dev/null +++ b/pt/security-and-risks/bug-bounties.md @@ -0,0 +1,32 @@ +# Bug Bounties + +**Bug Bounties** + +Bug bounties are granted at the full discretion of Origin Protocol. The rewards range in size from **$100 OUSD** for minor issues to **$250,000 OUSD** for major vulnerabilities. Currently, the bounty program only applies to OUSD and not other products from Origin. + +{% hint style="warning" %} +In order to be eligible for a bug bounty, you must follow the rules of Responsible Disclosure outlined below. +{% endhint %} + +**Responsible Disclosure** + +Security is our top priority and we've taken every effort to make sure our code is secure and works as intended. However, it's completely possible that vulnerabilities both large and small may have gone undetected. + +In case you discover a vulnerability, we would like to know about it immediately so we can take steps to address it as quickly as possible. + +If you discover a vulnerability, please do the following: + +* Report your findings to [security@originprotocol.com](mailto:security@originprotocol.com) or contact [Josh Fraser on Keybase](https://keybase.io/joshfraser). Here is an example of a [well written disclosure](https://gist.github.com/DanielVF/66f459da88804d1fd917c47576c68523). +* Do not take advantage of the vulnerability or problem you have discovered +* Do not reveal the problem to others until it has been resolved +* Do not use attacks on physical security, social engineering, distributed denial of service, spam or applications of third parties +* Do provide sufficient information to reproduce the problem, so we will be able to resolve it as quickly as possible. Complex vulnerabilities may require further explanation so we might ask you for additional information. + +In return, we promise: + +* We will respond to your report within 3 business days with our evaluation of the report and an expected resolution date +* If you have followed the instructions above, we will not take any legal action against you in regard to the report +* We will handle your report with strict confidentiality, and not pass on your personal details to third parties without your permission +* If you so wish we will keep you informed of the progress towards resolving the problem +* In the public information concerning the problem reported, we will give your name as the discoverer of the problem (unless you desire otherwise) +* As a token of our gratitude for your assistance, we offer a reward for every report of a security problem that was not yet known to us. The amount of the reward will be determined based on the severity of the leak, the quality of the report, and any additional assistance you provide. diff --git a/pt/security-and-risks/contributing.md b/pt/security-and-risks/contributing.md new file mode 100644 index 000000000..6937c347d --- /dev/null +++ b/pt/security-and-risks/contributing.md @@ -0,0 +1,95 @@ +# Contributing + +**100% Open-source** + +OUSD is an entirely open-source project and we welcome contributions of all sorts. There are many ways to help, from reporting issues, contributing code, and helping us improve our community. + +We work in public and our company Discord is open to all. If you have questions or need help getting started, our Discord OUSD channels are the best place to get assistance from our team and community. + +**Developer Analytics** + +Our internal developer dashboard is available at [analytics.ousd.com](https://analytics.ousd.com). The dashboard shows the current circulating supply, the assets under management in the vault, and the current allocations between each of the stablecoins and strategies. + +#### Development Process + +Our branching strategy is similar to [GitFlow](http://nvie.com/posts/a-successful-git-branching-model/), but we do all of our development in the `master` branch and have a `stable` branch for code that has been released. + +Your development flow should look like: + +1. Find an interesting issue and communicate! Please let the `#engineering` [Discord](https://discord.gg/jyxpUSe) channel know what you want to work on. +2. Ping a [core team member](https://github.com/orgs/OriginProtocol/teams/core/members) member on Discord and ask to be added to our [contributors team](https://github.com/orgs/OriginProtocol/teams/contributors). Otherwise, you’ll need to fork the relevant repository and push feature branches to your own fork. +3. Add a comment to the issue or self-assign so we don’t have multiple contributors unintentionally working on the same task. +4. Start with the `master` branch and check out a new feature branch unless you’re contributing to an existing feature. +5. Follow the appropriate [coding style](https://docs.originprotocol.com/guides/getting_started/contributing.html#contributing-email-coding-style) and write some awesome code. +6. Pull the latest commits from `master` and confirm that your code works with any other work that has been merged since you started. +7. Push your branch to the upstream repository \(i.e. https://github.com/OriginProtocol/\[repo\]\) so that other contributors can easily work off of it if necessary. +8. Please request a review in the PR by clicking on the gear icon next to “Reviewers” in the right column. + +For critical smart contract code to be merged it must pass the following checklist: + +* Code reviewed by 2 reviewers +* Unit tests pass +* Slither tests pass with no warning +* Echidna tests pass + +The `master` branch is locked so that only members of the [core team](https://github.com/orgs/OriginProtocol/teams/core) are able to merge your pull requests. Pull requests that are peer-reviewed by other trusted contributors will be fast-tracked and merged faster! Check in the `#engineering` Discord channel for appropriate reviewers. + +#### Coding Style + +We use a variety of programming languages in our repositories. When contributing, please follow existing coding conventions and refer to the CONTRIBUTING.md file in the repository, if one exists. + +For JavaScript, we use [NPM’s style](https://docs.npmjs.com/misc/coding-style), which is automatically enforced via [prettier](https://prettier.io/). + +For Solidity, we use two-space indents. + +#### Protocol Design + +When considering protocol or implementation design proposals, we are looking for: + +* A description of the problem this design proposal solves +* Discussion of the trade-offs involved +* Review of other existing solutions +* Links to relevant literature \(RFCs, papers, etc\) +* Discussion of the proposed solution + +Please note that protocol design is hard and meticulous work. You may need to review existing literature and think through generalized use cases. + +#### Community Guidelines + +We want to keep the Origin community awesome, growing and collaborative. We need your help to keep it that way. To help with this we’ve come up with some general guidelines for the community as a whole: + +* Be nice: Be courteous, respectful and polite to fellow community members: no regional, racial, gender, or other abuse will be tolerated. We like nice people way better than mean ones! +* Encourage diversity and participation: Make everyone in our community feel welcome, regardless of their background and the extent of their contributions, and do everything possible to encourage participation in our community. +* Keep it legal: Basically, don’t get anybody in trouble. Share only content that you own, do not share private or sensitive information, and don’t break laws. +* Stay on topic: Make sure that you are posting to the correct channel and avoid off-topic discussions. Remember when you update an issue or respond to an email you are potentially sending to a large number of people. Please consider this before you update. Also remember that nobody likes spam. + +#### Reporting Issues + +If you find bugs, mistakes or inconsistencies in Origin’s code or documents, please let us know by filing a GitHub issue. No issue is too small. Help us fix our tpyos! + +#### Security Issues + +OUSD is still in early development, which means there may be problems with the protocol or in our implementations. We take security vulnerabilities very seriously. If you discover a security issue, please bring it to our attention right away! + +If you find a security vulnerability please send your report privately to [security@originprotocol.com](mailto:security@originprotocol.com) or send an encrypted message to [@joshfraser on Keybase](https://keybase.io/joshfraser). Please DO NOT file a public issue. Be sure to review our guidelines for responsible disclosure and eligibility for bug bounties. + +{% page-ref page="bug-bounties.md" %} + +#### **Community Improvement** + +Origin is just as much about community as it is about our technology. + +We need constant help in improving our documentation, building new tools to interface with our platform, spreading the word to new users, helping new users getting setup and much more. + +Please get in touch if you would like to help out. Our `general` channel on [Discord](https://www.originprotocol.com/discord) is a great place to share ideas and volunteer to help. + +#### Full-Time Positions + +Origin occasionally hires developers for part-time or full-time positions. + +We have a strong preference for hiring people who have already started contributing to the project. If you want a full time position on our team, your best shot is to engage with our team and start contributing code. It is very unlikely that we would offer you a full-time position on our engineering team unless you’ve had at least a few pull requests merged. + +If you are interested, check out [the Origin Protocol job listings](https://angel.co/originprotocol/jobs). If you’d like to help in other ways, please propose your ideas in [our Discord channel](https://www.originprotocol.com/discord). + + + diff --git a/pt/security-and-risks/insurance.md b/pt/security-and-risks/insurance.md new file mode 100644 index 000000000..f805d14f1 --- /dev/null +++ b/pt/security-and-risks/insurance.md @@ -0,0 +1,15 @@ +# Insurance + +OUSD holders can buy smart contract insurance to cover any losses that might result from any bugs or vulnerabilities in the OUSD contracts, including economic exploits (such as flash loans attacks). In addition, anyone who wants to make a financial bet on the security of our contracts can earn a yield by providing coverage. + +DeFi coverage for OUSD is currently available via[ Nexus Mutual](https://nexusmutual.io) and [InsurAce Protocol](https://www.insurace.io). These partnerships allow for more effective risk management by OUSD holders while creating new opportunities for coverage providers to profit. + +Read our [announcement post](https://medium.com/originprotocol/origin-partners-with-nexus-mutual-to-offer-defi-insurance-for-origin-dollar-ousd-6eb3432ee042) to learn how to [buy coverage](https://app.nexusmutual.io/cover/buy/get-quote?address=0xE75D77B1865Ae93c7eaa3040B038D7aA7BC02F70), [provide coverage](https://app.nexusmutual.io/staking), or [participate in shield mining campaigns](https://app.nexusmutual.io/rewards) with Nexus Mutual. You can learn more about InsurAce and how to buy coverage on their [user guide](https://docs.insurace.io/landing-page/documentation-1/user-guide) or [documentation](https://docs.insurace.io/landing-page/). + +**Nexus Mutual Coverage** + +Read our[ announcement post](https://medium.com/originprotocol/origin-partners-with-nexus-mutual-to-offer-defi-insurance-for-origin-dollar-ousd-6eb3432ee042) to learn how to[ buy coverage](https://app.nexusmutual.io/cover/buy/get-quote?address=0x0000000000000000000000000000000000000016),[ provide coverage](https://app.nexusmutual.io/staking), and[ participate in shield mining campaigns](https://app.nexusmutual.io/rewards) with Nexus Mutual. + +**InsurAce Protocol Coverage** + +Read InsurAce Protocol’s [User Guide](https://docs.insurace.io/landing-page/documentation-1/user-guide) to learn how to [buy coverage](https://docs.insurace.io/landing-page/documentation-1/user-guide/dashboard) and participate in [underwriting mining](https://docs.insurace.io/landing-page/documentation-1/user-guide/how-to-stake) for OUSD. diff --git a/pt/security-and-risks/risks.md b/pt/security-and-risks/risks.md new file mode 100644 index 000000000..64dc13dc0 --- /dev/null +++ b/pt/security-and-risks/risks.md @@ -0,0 +1,44 @@ +# Risks + +{% hint style="danger" %} +Use at your own risk. Do not deploy more capital than you are willing to lose. +{% endhint %} + +As with any yield-generating DeFi product, there are associated risks with holding OUSD that are important to understand. These risks can be broadly classified into 3 categories: + +* OUSD smart contract risk +* Underlying third-party platform risk +* Underlying stablecoin risk + +**OUSD smart contract risk** + +Our smart contracts have been [audited](audits.md) by multiple, well-respected security firms. However, it is important to note that even with formal audits, it is still possible for there to be logic errors that could lead to the loss of funds for OUSD holders. The contracts involve complex math and logic. While we have taken every precaution to ensure the safety and security of our smart contracts, users are reminded to use at their own risk. Origin Protocol will not be held responsible for any loss of funds, regardless of who is at fault. + +**Third-party platform risk** + +OUSD is built on top of other DeFi platforms like Aave, Compound, and Curve that add additional smart contract risk. We are choosing to work with platforms that have literally billions of dollars of assets under management and have made a reasonable efforts to ensure the security of their protocols. However, there are no guarantees that the underlying third-party platforms will continue to work as intended, and any failure in an underlying strategy would potentially lead to a loss of funds for OUSD holders. + +**Stablecoin risks** + +It is important to understand that OUSD is only as strong as the stablecoins that are backing it. Any loss of value to an underlying stablecoin asset will cause a similar loss to the value of OUSD. While OUSD is designed to maintain a 1:1 relationship between supply and number of backing stablecoins, it does not guarantee which stablecoins will make up that backing nor the value of those coins. + +It is important to note that each of the supported stablecoins introduces non-trivial counter-party risk. Tether, in particular, has had well-documented banking troubles and regulatory challenges. In addition, both USDT and USDC have backdoors that grant their issuers the power to freeze money in their holder's wallets. While DAI does not have any direct backdoors, its assets can also be negatively impacted since USDC and USDT are accepted as collateral for minting DAI. + +**Risk mitigation** + +While it's impossible to guarantee our contracts are 100% safe, we have taken every step possible to mitigate the chance of losing funds: + +We regularly have our work [audited ](audits.md)by the top auditors in the industry. + +[DeFi insurance](insurance.md) is availble to offer smart contract coverage as an optional add-on service for OUSD holders. + +We have retained [Certora](https://www.certora.com) to formally verify the various security properties of our contracts. They helped us establish automated verifications that will run anytime we update our contract code. We have automated checking for common errors with [Slither](https://github.com/crytic/slither) and [Echidna](https://github.com/crytic/echidna) tests. Together, these alert our team to common security issues in addition to our own test suite. + +Code reviews involving our smart contracts are incredibly rigorous. We require at least two engineers to review each change with a detailed checklist and we prioritize security reviews over new feature development. + +Finally, we have formalized an engineering [rotation](https://github.com/OriginProtocol/security/blob/master/incidents/ROTATION.md) for reviewing [attacks on other projects](https://github.com/OriginProtocol/security/tree/master/incidents) as well as ensuring we deep dive into each of these reviews, including reviewing the affected contracts' source code ourselves. We've observed that attackers often exploit the same fundamental vulnerability on multiple different projects. By reviewing other project's vulnerabilities, we force ourselves to stay up to date on the latest security threats in our industry and are constantly learning from their mistakes. + +**Actions speak louder than words** + +You should also know that many members of the Origin team, including both founders, are holding a significant portion of their personal wealth in OUSD. Origin Protocol's corporate treasury is also holding millions of dollars in OUSD. We have skin in the game and are willing to put our own money at risk with the code we have written. + diff --git a/pt/security-and-risks/untitled.md b/pt/security-and-risks/untitled.md new file mode 100644 index 000000000..21b692090 --- /dev/null +++ b/pt/security-and-risks/untitled.md @@ -0,0 +1,20 @@ +# Audits + +{% hint style="danger" %} +The OUSD smart contracts have not yet been audited. We strongly recommend reviewing our smart contracts before depositing significant amounts of capital. +{% endhint %} + +**OUSD** + +Audits have already been scheduled with the respected security firm, [Trail of Bits](https://www.trailofbits.com/), for early October 2020. Their audit results will be publicly released as soon as they are available. + +**Supported Strategies** + +Multiple audits for Compound have already been completed and are available on their website. This includes the original code for the modified [Timelock](../smart-contracts/api/timelock-1.md) that OUSD is using. + +{% page-ref page="untitled.md" %} + + + + + diff --git a/pt/smart-contracts/api/README.md b/pt/smart-contracts/api/README.md new file mode 100644 index 000000000..ff400f20f --- /dev/null +++ b/pt/smart-contracts/api/README.md @@ -0,0 +1,9 @@ +# API + +Documentation of contracts API used by the protocol: + +* [Vault](vault.md) +* [ERC-20](erc-20-1.md) +* [Timelock](timelock.md) +* [Stategies](strategies.md) + diff --git a/pt/smart-contracts/api/erc-20-1.md b/pt/smart-contracts/api/erc-20-1.md new file mode 100644 index 000000000..164343cc0 --- /dev/null +++ b/pt/smart-contracts/api/erc-20-1.md @@ -0,0 +1,16 @@ +# ERC-20 + +{% hint style="success" %} +The main ERC20 address for Origin Dollar (OUSD) is: \ **0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +OUSD is an ERC-20 compliant token with one novel property (elastic supply) that is important to understand. + +{% hint style="warning" %} +Wallets and exchanges that wish to integrate OUSD should not cache token balances for OUSD as this value will change frequently as yield is accrued to token holders. +{% endhint %} + +The biggest difference separating OUSD from your average ERC-20 token is the way OUSD's`balanceOf()` function will return a variable amount based on the total value of the vault multiplied by the holder's stake in the vault. This difference is vital to understand, particularly for wallets and exchanges that wish to integrate the OUSD token. This value should be fetched in real-time instead of being cached since OUSD rebases frequently. + + + diff --git a/pt/smart-contracts/api/oracle.md b/pt/smart-contracts/api/oracle.md new file mode 100644 index 000000000..362749de7 --- /dev/null +++ b/pt/smart-contracts/api/oracle.md @@ -0,0 +1,7 @@ +# Oracles + +{% hint style="info" %} +Documentation coming soon. +{% endhint %} + +OUSD uses Chainlink [oracles](../../core-concepts/price-oracles.md) to secure the protocol from pricing attacks. You can [read more about our decision to work with Chainlink](https://blog.originprotocol.com/how-origin-uses-chainlink-oracles-to-secure-ousd-bff5601e840e) on the Origin blog. diff --git a/pt/smart-contracts/api/ousd.md b/pt/smart-contracts/api/ousd.md new file mode 100644 index 000000000..8d6981144 --- /dev/null +++ b/pt/smart-contracts/api/ousd.md @@ -0,0 +1,8 @@ +# OUSD + +{% hint style="info" %} +Documentation coming soon. +{% endhint %} + + + diff --git a/pt/smart-contracts/api/strategies.md b/pt/smart-contracts/api/strategies.md new file mode 100644 index 000000000..a275b76e6 --- /dev/null +++ b/pt/smart-contracts/api/strategies.md @@ -0,0 +1,14 @@ +# Strategies + +{% hint style="info" %} +Documentation coming soon. +{% endhint %} + +New strategies can be added or removed at any time to respond to new market realities and diversify risk. + +Once we migrate to decentralized governance, it is our intent for the community to propose new strategies and to vote on the appropriate weight for each strategy in the pool. We anticipate that most OUSD holders will value having some exposure to higher yield opportunities while maintaining more conservative positions for a portion of the funds. + + + + + diff --git a/pt/smart-contracts/api/timelock-1.md b/pt/smart-contracts/api/timelock-1.md new file mode 100644 index 000000000..88954aca7 --- /dev/null +++ b/pt/smart-contracts/api/timelock-1.md @@ -0,0 +1,22 @@ +# Timelock + +{% hint style="danger" %} +The timelock will be added soon after everything is verified as working. Until then, the contracts will be governed by Origin's 5 of 8 multi-sig. This allows for a faster response if any critical issues are discovered. +{% endhint %} + +The timelock contract enforces a 48 hour wait period before any changes to the OUSD contracts can be executed. The timelock can be called by our multi-sig and is the owner of our [ERC-20](../architecture.md), [Vault](vault.md), and [Strategies](strategies.md) contracts. Time-delaying admin actions gives users a chance to exit OUSD if its admins become malicious, are compromised, or make a change that the users do not like. + +{% hint style="info" %} +The timelock is a safety measure that gives OUSD holders 48 hours to withdraw their funds if they have objections to any proposed upgrades to the protocol. +{% endhint %} + +OUSD is using a slightly modified version of the [Compound Timelock](https://compound.finance/docs/governance) which has been [audited by OpenZeppelin](https://blog.openzeppelin.com/compound-finance-patch-audit/). The 3 notable differences are: + +1. OUSD will initially use a shorter wait period \(48 hours\) than Compound \(72 hours\) to allow for a faster response if any issues are discovered. +2. Once the 48 hours have passed, anyone is free to execute the call, not just the owner of the contract. +3. Deposits \(but not withdrawals or transfers\) can be immediately frozen without requiring the 48 waiting period. This is in case a major vulnerability is discovered. + + + + + diff --git a/pt/smart-contracts/api/timelock.md b/pt/smart-contracts/api/timelock.md new file mode 100644 index 000000000..2273ddad7 --- /dev/null +++ b/pt/smart-contracts/api/timelock.md @@ -0,0 +1,15 @@ +# Timelock + +The timelock contract enforces a 48 hour wait period before any changes to the OUSD contracts can be executed. The timelock can be called by our multi-sig and is the owner of our [ERC-20](../architecture.md), [Vault](vault.md), and [Strategies](strategies.md) contracts. Time-delaying admin actions gives users a chance to exit OUSD if its admins become malicious, are compromised, or make a change that the users do not like. + +{% hint style="info" %} +The timelock is a safety measure that gives OUSD holders 48 hours to withdraw their funds if they have objections to any proposed upgrades to the protocol. +{% endhint %} + +OUSD is using a slightly modified version of the [Compound Timelock](https://compound.finance/docs/governance) which has been [audited by OpenZeppelin](https://blog.openzeppelin.com/compound-finance-patch-audit/). The two notable differences are: + +1. OUSD will initially use a shorter wait period (48 hours) than Compound (72 hours) to allow for a faster response if any issues are discovered. +2. Some actions, such as reallocating funds between existing strategies and freezing deposits can be called immediately by a multisig wallet without requiring the 48 waiting period. This is in case a major vulnerability is discovered. + + + diff --git a/pt/smart-contracts/api/vault.md b/pt/smart-contracts/api/vault.md new file mode 100644 index 000000000..13a7a8601 --- /dev/null +++ b/pt/smart-contracts/api/vault.md @@ -0,0 +1,184 @@ +--- +description: >- + The vault is the main contract of the protocol. The vault is responsible for minting/redeeming OUSD tokens, rebalancing funds between the various supported strategies, and liquidating rewards tokens. +--- + +# Vault + +## Units + +All OUSD amounts passed or returned by the Vault methods use 18 decimal places. For example, 1 OUSD is expressed as 1000000000000000000. + +For other stable coins, the number of decimal places varies. DAI uses 18 decimal places while USDC and USDT use only 6. + +The protocol was updated in November are [currently underway](https://github.com/OriginProtocol/origin-dollar/issues/590) to increase the resolution of rebasing calculations from 18 decimals to 27 decimals. The OUSD token itself will still retain 18 decimals of precision and user balances should not change. + +## Methods‌ + +### mint() + +**`function mint(address _asset, uint256 _amount, uint256 _minimumOusdAmount)`**‌ + +Mints OUSD in exchange for a deposit of a certain `_amount` of stablecoin specified by the `_asset` parameter. The caller receives a certain amount of OUSD depending on the **exchange rate**. + +| Parameter Name | Type | Description | +| --------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | +| \_asset | address | Address of the [supported](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/core-concepts/supported-assets) stablecoin | +| \_amount | uint256 | Amount deposited, expressed in decimal units | +| \_minimumOusdAmount | uint256 | Minimum amount of OUSD the caller is willing to receive. The call to mint() reverts if the minimum is not met. | + +### mintMultiple() + +**`function mintMultiple(address[] _assets, uint256[] _amounts, uint256 _minimumOusdAmount)`**‌ + +Mints OUSD in exchange for a deposit of multiple stablecoins in a single call. Stablecoins are specified by the `_assets` array parameter and the amounts by the `_amounts` array parameter. The caller receives a certain amount of OUSD depending on the **exchange rate**. + +| Parameter Name | Type | Description | +| --------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| \_assets | address\[] | Addresses of the [supported](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/core-concepts/supported-assets) stablecoins | +| \_amounts | uint256\[] | Amounts deposited, expressed in decimal units | +| \_minimumOusdAmount | uint256 | Minimum amount of OUSD the caller is willing to receive. The call to mint() reverts if the minimum is not met. | + +{% hint style="warning" %} +On redemptions, it is the protocol and not the user that decides which stablecoin(s) are returned to the user. This decision of which coin(s) to return is based on the internal ratios of the assets that are being held in the vault.‌ +{% endhint %} + +### redeem() + +**`function redeem(uint256 _amount)`**‌ + +OUSD specified by the `_amount` parameter is redeemed in exchange for one or multiple supported stablecoins. Amount of stablecoins received depends on the **exchange rate**. + +| Parameter Name | Type | Description | +| -------------- | ------- | ----------------------------------------- | +| \_amount | uint256 | amount of OUSD expressed in decimal units | + +### redeemAll()‌ + +**`function redeemAll()`**‌ + +All OUSD in user's possession is redeemed in exchange for one or multiple supported stablecoins. Amount of stablecoins received depends on the **exchange rate**. + +### rebase() + +**`function rebase()`**‌ + +Updates the balances for all users based on the value of the assets currently stored in the vault. Returns total value of the underlying assets and strategies represented by `uint256` type.‌ + +### allocate() + +**`function allocate()`**‌ + +Moves the assets under management into their prescribed [Stategies](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/architecture/strategies) to maximize yield and diversify risk.‌ + +### totalValue() + +**`function totalValue()`**‌ + +Returns total value of underlying assets and strategies. + +| `return` name | Type | Description | +| ------------- | ------- | ------------------------------------------------ | +| value | uint256 | total value of underlying assets and strategies. | + +### checkBalance() + +**`function checkBalance(address _asset)`**‌ + +Returns the balance of an asset specified by the`_asset` parameter held in Vault and all strategies represented by `uint256` type. + +| Parameter Name | Type | Description | +| -------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | +| \_asset | address | Address of the [supported](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/core-concepts/supported-assets) stablecoin | + +### calculateRedeemOutputs() + +**`function calculateRedeemOutputs(uint256 _amount)`**‌ + +Calculate the mix of stablecoins that a `redeem` function would return when redeeming certain amount of OUSD specified by the `_amount` parameter. Returns an array of stablecoin values. + +To attribute the stablecoin values to the correct stablecoin currency this call should be used in conjunction with `getAllAssets` function that returns an array of stablecoin addresses. + +The index of an array that is returned by the `calculateRedeemOutputs` corresponds to the stablecoin address with the same index in an array returned by the `getAllAssets` function. + +| Parameter Name | Type | Description | +| -------------- | ------- | ----------------------------------------- | +| \_amount | uint256 | amount of OUSD expressed in decimal units | + +| `return` name | Type | Description | +| ------------- | ----------- | --------------------------------------------------------------------------- | +| outputs | uint256\[] | array of the amount of the stablecoin assets `redeem` function would return | + +### getAssetCount() + +**`function getAssetCount()`**‌ + +Return the number of supported stablecoin assets represented by `uint256` type.‌ + +### getAllAssets() + +**`function getAllAssets()`**‌ + +Return all assets addresses of supported stablecoin assets in order represented by `uint256` type.‌ + +### getStrategyCount()‌ + +**`function getStrategyCount()`**‌ + +Return the number of strategies active on the Vault represented by `uint256` type.‌ + +### getAPR() + +**`function getAPR()`**‌ + +Return the total annual percentage yield (APR) of the Vault and all Strategies represented by `uint256` type. Resulting number has 18 decimal places.‌ + +### isSupportedAsset() + +**`function isSupportedAsset(address _asset)`**‌ + +Return the boolean that is true if the asset specified by the `_asset` parameter is supported by the Vault. + +| Parameter Name | Type | Description | +| -------------- | ------- | ------------------------- | +| \_asset | address | Address of the stablecoin | + +### priceUSDMint() + +**`function priceUSDMint(string symbol)`**‌‌ + +Returns the exchange rate price of a stable coin specified by the `symbol` parameters used when minting OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Parameter Name | Type | Description | +| -------------- | ------ | ------------------------ | +| symbol | string | Symbol of the stablecoin | + +### priceUSDRedeem() + +**`function priceUSDRedeem(string symbol)`**‌‌ + +Returns the exchange rate price of a stable coin specified by the `symbol` parameters used when redeeming OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Parameter Name | Type | Description | +| -------------- | ------ | ------------------------ | +| symbol | string | Symbol of the stablecoin | + +### priceAssetUSDMint()‌ + +**`function priceAssetUSDMint(address _asset)`**‌‌ + +Returns the exchange rate price of a stable coin specified by the `_asset` parameters used when minting OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Parameter Name | Type | Description | +| -------------- | ------- | -------------------------- | +| \_asset | address | Address of the stablecoin‌ | + +### priceAssetUSDRedeem()‌ + +**`function priceAssetUSDRedeem(address _asset)`**‌‌‌ + +Returns the exchange rate price of a stable coin specified by the `_asset` parameters used when redeeming OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Parameter Name | Type | Description | +| -------------- | ------- | ------------------------- | +| \_asset | address | Address of the stablecoin | diff --git a/pt/smart-contracts/architecture.md b/pt/smart-contracts/architecture.md new file mode 100644 index 000000000..f53eacf24 --- /dev/null +++ b/pt/smart-contracts/architecture.md @@ -0,0 +1,18 @@ +# Architecture + +![](../.gitbook/assets/ousd\_docs\_graphics\_3.png) + +OUSD is made up of a series of smart contracts. Each of these contracts is wrapped in a proxy contract that can be upgraded via the governance protocols. + +Internally, ownership in the vault is tracked using a credits system that represents the percent ownership of the vault for each holder. The [ERC-20](api/erc-20-1.md) contract handles the conversion to USD terms when viewing a balance or initiating a transfer between wallets. + +The [Vault](api/vault.md) is responsible for minting and burning OUSD. It also enforces the percentage of assets that are deployed to each of the supported [Strategies](../core-concepts/supported-strategies/). To optimize gas costs, the vault may maintain a buffer to allow most deposits and redemptions to occur without winding/unwinding assets from strategies. + +The Flipper is a smart contract for users to swap in and out of OUSD cheaply for any of DAI, USDC, or USDT at a fixed 1:1 rate. This contract is used as an alternative way to route user transactions originating from the web app. It's important to note that this contract may be empty on one side (e.g., contain 0 OUSD balance), and thus sometimes provides limited swap routes. While limited in functionality, Flipper uses around 45% less gas than Uniswap v3 due to its simplicity. + +The Harvester contract collects reward tokens earned by the strategies, sells them, and sends the resulting stablecoins to the Dripper to be released to the vault. Anyone can call the harvest and earn 1% of the resulting USDT for doing so. This creates a self-incentivizing system that operates at a known fixed cost. See our [incentivized-harvesting-guide.md](../guides/incentivized-harvesting-guide.md "mention") for details. + +The Dripper contract buffers aproximately one week of reward token sales proceeds and makes it avaiable at a smooth rate to the vault. This keeps OUSD yield from being extremely spiky when harvests come in. The rate is recalculated at least once per day and is the rate that it would take to distribute the current dripper holdings out over a one week period. + + + diff --git a/pt/smart-contracts/erc-20.md b/pt/smart-contracts/erc-20.md new file mode 100644 index 000000000..c3a21d407 --- /dev/null +++ b/pt/smart-contracts/erc-20.md @@ -0,0 +1,12 @@ +# Architecture + +![](../.gitbook/assets/ousd_docs_graphics_3.png) + +OUSD is made up of a series of smart contracts. Each of these contracts is wrapped in a proxy contract that can be upgraded via the governance protocols. + +Internally, ownership in the pool is tracked using a credits system that represents the percent ownership of the pool for each holder. The [ERC-20](api/erc-20-1.md) contract handles the conversion to USD terms when viewing a balance or initiating a transfer between wallets. + +The [Vault](api/vault.md) is responsible for minting and burning OUSD. It also enforces the percentage of assets that are deployed to each of the supported [Strategies](../core-concepts/supported-strategies/). To optimize gas costs, the vault maintains a buffer to allow most deposits and redemptions to occur without winding/unwinding assets from strategies. + + + diff --git a/pt/smart-contracts/registry.md b/pt/smart-contracts/registry.md new file mode 100644 index 000000000..f2d45b7dd --- /dev/null +++ b/pt/smart-contracts/registry.md @@ -0,0 +1,156 @@ +# Registry + +Here is the full registry of OUSD smart contracts that have been deployed to the Ethereum mainnet. + +{% hint style="success" %} +The main ERC20 address for Origin Dollar (OUSD) is: \ +**0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +{% tabs %} +{% tab title="Core" %} +Well-known addresses (proxy wrappers): + + + +| Contract | Address | ENS | +| -------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------- | +| OUSD | [0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86](https://etherscan.io/address/0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86) |

ousd.eth

origindollar.eth

| +| Vault | [0xE75D77B1865Ae93c7eaa3040B038D7aA7BC02F70](https://etherscan.io/address/0xe75d77b1865ae93c7eaa3040b038d7aa7bc02f70) | [originvault.eth](https://etherscan.io/address/originvault.eth) | + + + +Internal implementation contracts. The Vault is split into VaultAdmin and VaultCore to work around the maximum contract size limit on Ethereum: + + + +| Contract | Address | +| ---------- | --------------------------------------------------------------------------------------------------------------------- | +| OUSD | [0x33db8d52d65F75E4cdDA1b02463760c9561A2aa1](https://etherscan.io/address/0x33db8d52d65F75E4cdDA1b02463760c9561A2aa1) | +| VaultAdmin | [0x3EB68D8f4992A0e34aA58cc3dF86A40814078cF6](https://etherscan.io/address/0x3EB68D8f4992A0e34aA58cc3dF86A40814078cF6) | +| VaultCore | [0x226de75867B2f785BA19600e2a7e6eFccD57157B](https://etherscan.io/address/0x226de75867B2f785BA19600e2a7e6eFccD57157B) | +{% endtab %} + +{% tab title="Strategies" %} +Well-known addresses (proxy wrappers): + + + +| Strategy | Address | Auto-Allocation | +| -------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------- | +| Aave | [0x5e3646A1Db86993f73E6b74A57D8640B69F7e259](https://etherscan.io/address/0x5e3646A1Db86993f73E6b74A57D8640B69F7e259) | Manual allocation | +| Compound | [0x9c459eeb3FA179a40329b81C1635525e9A0Ef094](https://etherscan.io/address/0x9c459eeb3FA179a40329b81C1635525e9A0Ef094) | 100% of USDC, USDT and DAI | +| Convex | [0xEA2Ef2e2E5A749D4A66b41Db9aD85a38Aa264cb3](https://etherscan.io/address/0xEA2Ef2e2E5A749D4A66b41Db9aD85a38Aa264cb3#code) | Manual allocation | + + + +Internal implementation contracts: + + + +| Strategy | Address | +| -------- | -------------------------------------------------------------------------------------------------------------------------- | +| Aave | [0xA050eBE34Be464902F7E0F7F451f4B5253d57114](https://etherscan.io/address/0xA050eBE34Be464902F7E0F7F451f4B5253d57114) | +| Compound | [0x47f3eb71b5507df5ab6ac7f8660ef282ab0e560f](https://etherscan.io/address/0x47f3eb71b5507dF5Ab6aC7F8660Ef282Ab0E560f) | +| Convex | [0x08f3a0637851aA1B0E0750aA3d46E0E356f349aC](https://etherscan.io/address/0x08f3a0637851aa1b0e0750aa3d46e0e356f349ac#code) | + + + +Yield harvesting and collection: + + + +| | | +| --------- | -------------------------------------------------------------------------------------------------------------------------- | +| Contract | Address | +| Harvester | [0x21fb5812d70b3396880d30e90d9e5c1202266c89](https://etherscan.io/address/0x21fb5812d70b3396880d30e90d9e5c1202266c89#code) | +| Dripper | [0x80c898ae5e56f888365e235ceb8cea3eb726cb58](https://etherscan.io/address/0x80c898ae5e56f888365e235ceb8cea3eb726cb58#code) | +{% endtab %} + +{% tab title="Oracles" %} +The following Chainlink oracles are used to protect the vault in case a backing stablecoin loses value. They also offer slippage protection when harvesting rewards tokens or executing the OGN buyback. + + + +| Pair | Contract | +| ------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| [USDT/USD](https://data.chain.link/ethereum/mainnet/stablecoins/usdt-usd) | [0x3E7d1eAB13ad0104d2750B8863b489D65364e32D](https://etherscan.io/address/0x3E7d1eAB13ad0104d2750B8863b489D65364e32D) | +| [USDC/USD](https://data.chain.link/ethereum/mainnet/stablecoins/usdc-usd) | [0x8fFfFfd4AfB6115b954Bd326cbe7B4BA576818f6](https://etherscan.io/address/0x8fFfFfd4AfB6115b954Bd326cbe7B4BA576818f6) | +| [DAI/USD](https://data.chain.link/ethereum/mainnet/stablecoins/dai-usd) | [0xAed0c38402a5d19df6E4c03F4E2DceD6e29c1ee9](https://etherscan.io/address/0xAed0c38402a5d19df6E4c03F4E2DceD6e29c1ee9) | +| [COMP/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/comp-usd) | [0xdbd020caef83efd542f4de03e3cf0c28a4428bd5](https://etherscan.io/address/0xdbd020caef83efd542f4de03e3cf0c28a4428bd5) | +| [AAVE/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/aave-usd) | [0x547a514d5e3769680Ce22B2361c10Ea13619e8a9](https://etherscan.io/address/0x547a514d5e3769680Ce22B2361c10Ea13619e8a9) | +| [CRV/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/crv-usd) | [0xcd627aa160a6fa45eb793d19ef54f5062f20f33f](https://etherscan.io/address/0xcd627aa160a6fa45eb793d19ef54f5062f20f33f) | +| [CVX/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/cvx-usd) | [0xd962fC30A72A84cE50161031391756Bf2876Af5D](https://etherscan.io/address/0xd962fC30A72A84cE50161031391756Bf2876Af5D) | +| [OGN/ETH](https://data.chain.link/ethereum/mainnet/crypto-eth/ogn-eth) | [0x2c881b6f3f6b5ff6c975813f87a4dad0b241c15b](https://etherscan.io/address/0x2c881b6f3f6b5ff6c975813f87a4dad0b241c15b) | +{% endtab %} + +{% tab title="Governance" %} + + +| Contract | Address | ENS | +| ------------------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------- | +| 5 of 8 Multisig | [0xbe2AB3d3d8F6a32b96414ebbd865dBD276d3d899](https://etherscan.io/address/0xbe2AB3d3d8F6a32b96414ebbd865dBD276d3d899) | [originprotocol.eth](https://etherscan.io/address/originprotocol.eth) | +| 2 of 9 Multisig | [0xF14BBdf064E3F67f51cd9BD646aE3716aD938FDC](https://etherscan.io/address/0xF14BBdf064E3F67f51cd9BD646aE3716aD938FDC) | [originstrategist.eth](https://etherscan.io/address/originstrategist.eth) | +| Governor / Timelock | [0x72426BA137DEC62657306b12B1E869d43FeC6eC7](https://etherscan.io/address/0x72426BA137DEC62657306b12B1E869d43FeC6eC7) |

origingovernor.eth

origintimelock.eth

| +| OGN Buyback | [0x77314EB392b2be47C014cde0706908b3307Ad6a9](https://etherscan.io/address/0x77314EB392b2be47C014cde0706908b3307Ad6a9) | [originbuyback.eth](https://etherscan.io/address/originbuyback.eth) | +{% endtab %} + +{% tab title="Stablecoins" %} +| Contract | Address | +| ------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| [USDT](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | [0xdac17f958d2ee523a2206206994597c13d831ec7](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | +| [USDC](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | [0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | +| [DAI](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | [0x6b175474e89094c44da98b954eedeac495271d0f](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | +{% endtab %} + +{% tab title="Staking" %} +| Contract | Address | ENS | +| ----------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- | +| OGN Staking | [0x501804B374EF06fa9C427476147ac09F1551B9A0](https://etherscan.io/address/0x501804B374EF06fa9C427476147ac09F1551B9A0) | [originstaking.eth](https://etherscan.io/address/originstaking.eth) | + + + +Internal implementation contracts: + + + +| Contract | Address | +| ----------- | --------------------------------------------------------------------------------------------------------------------- | +| OGN Staking | [0x8cd68a1e0b79150455c5498882d5d5d3df2dde08](https://etherscan.io/address/0x8cd68a1e0b79150455c5498882d5d5d3df2dde08) | + + + +OUSD compensation contract ([details](https://medium.com/originprotocol/origin-delivers-on-compensation-promise-claim-your-ousd-and-ogn-now-a9fa9b840476)): + + + +| Contract | Address | +| ----------------- | --------------------------------------------------------------------------------------------------------------------- | +| OUSD Compensation | [0x9C94df9d594BA1eb94430C006c269C314B1A8281](https://etherscan.io/address/0x9C94df9d594BA1eb94430C006c269C314B1A8281) | +{% endtab %} + +{% tab title="Flipper" %} +Flipper is a gas-optimized way for users to swap in and out of OUSD at a fixed 1:1 rate with other stablecoins. This contract may become empty on one side (e.g., contain 0 OUSD balance), and thus sometimes provides limited swap routes. + + + +| Contract | Address | ENS | +| -------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- | +| Flipper | [0xcecaD69d7D4Ed6D52eFcFA028aF8732F27e08F70](https://etherscan.io/address/0xcecaD69d7D4Ed6D52eFcFA028aF8732F27e08F70) | [originflipper.eth](https://etherscan.io/address/originflipper.eth) | +{% endtab %} + +{% tab title="Wrapped" %} +Wrapped OUSD\ +\ **Well known proxy address:** - [0xD2af830E8CBdFed6CC11Bab697bB25496ed6FA62](https://etherscan.io/address/0xD2af830E8CBdFed6CC11Bab697bB25496ed6FA62) + +Internal implementation address - [0xbf3b9b141cb3629f5bb8f721cba9265c92494539](https://etherscan.io/address/0xbf3b9b141cb3629f5bb8f721cba9265c92494539) +{% endtab %} +{% endtabs %} + + + + + + + + diff --git a/ru/README.md b/ru/README.md new file mode 100644 index 000000000..e77aa874e --- /dev/null +++ b/ru/README.md @@ -0,0 +1,29 @@ +--- +description: Первый стейблкоин, который приносит доход, просто находясь в Вашем кошельке +--- + +# Введение + +## **Лучшая форма денег** + +Origin Dollar (OUSD) is a new stablecoin that was initially launched in September 2020 on the Ethereum network. Его дизайн превосходит существующие стейблкоины, потому что OUSD обеспечивает конкурентоспособную доходность, пассивно хранясь в кошельках. + +![](.gitbook/assets/origin-dollar-summary.jpeg) + +**Предыстория** + +In 1999, Yu Pan, Origin’s R\&D engineer, and his fellow PayPal co-founders [conceived](https://www.cnbc.com/2017/08/14/david-sacks-cryptocurrency-interview.html) of creating “the new world currency”, complete with interest yielding strategies and debit cards without having to connect to traditional banking systems. Пройдя несколько поворотных точек, включая приобретение eBay, PayPal отказался от своих амбиций в этой области. + +Почти два десятилетия спустя, в 2014 году, Tether представили концепцию стейблкоина, номинированного в долларах США. С тех пор стейблкоины зарекомендовали себя как идеальный способ передачи ценности, не подвергая пользователей волатильности цен на свободно плавающие валюты. Сегодня больший денежный объем [передается через Tether,](https://www.bloomberg.com/news/articles/2019-10-01/tether-not-bitcoin-likely-the-world-s-most-used-cryptocurrency) чем через Биткоин. Meanwhile, Decentralized Finance (DeFi) has experienced an explosion of growth with [billions of dollars](https://defipulse.com) of capital now locked up in smart contracts that generate yields from lending and trading protocols. + +Одна из проблем с существующими стейблкоинами заключается в том, что пользователям приходится постоянно выбирать между владением монетой, которую легко потратить, и получением дохода за счет блокировки своих токенов в смарт-контрактах. Например, пользователи, которые заблокировали USDC в Aave, не могут одновременно тратить часть этого USDC. Дорогая оплата газа в Ethereum служит «затратами на переключение» каждый раз, когда эти пользователи хотят переключиться между режимом расходов и режимом заработка. + +И в довершение всего, доходность от кредитной и торговой деятельности быстро меняется. Люди с большим опытом получения дохода от DeFi хорошо знакомы с постоянной необходимостью перебалансировки своих активов между конкурирующими платформами. Это дорого и отнимает много времени, поскольку плата за газ снова и снова снижает доходность. К тому же, много времени занимает расчет реальной рентабельности инвестиций, так как APY нестабильны и постоянно колеблются. Не существует простой единицы расчета. В результате, несмотря на то, что рынок DeFi растет чрезвычайно быстро, многим пользователям криптовалюты по-прежнему трудно принимать в нем участие. + +С OUSD нет необходимости закрывать сложные позиции, если Вы хотите потратить свои токены OUSD. Вы можете свободно переводить их, не платя за газ, чтобы разблокировать средства, которые можно потратить. В дополнение ко всему, OUSD предоставляет Вам доступ к некоторым самым прибыльным возможностям в DeFi без каких-либо проблем. Смарт-контракт OUSD задействует ваш базовый капитал в диверсифицированном наборе стратегий заработка, со временем перебалансируясь для достижения высокой доходности при диверсификации рисков. Заработок автоматически начисляется в Ваш кошелек и непрерывно накапливается, пока Вы держите OUSD. Опять же, никаких блокировок средств не требуется. OUSD также служит идеальной единицей расчета. Инвесторам DeFi больше не нужны сложные таблицы для расчета своих доходов, поскольку они могут легко видеть свои балансы OUSD, которые постоянно обновляются в режиме реального времени по мере того, как их проценты накапливаются автоматически. OUSD - идеальный стейблкоин как для "фермеров" DeFi, так и для начинающих пользователей криптовалюты. + +Origin Dollar, созданный ветеранами криптовалюты и финансово-технологического сектора, предоставляется Вам [ командой ](https://www.originprotocol.com/team) [Origin Protocol](https://www.originprotocol.com) которая включает предпринимателей, ранних криптовалютных инвесторов, первых сотрудников YouTube, руководителей инженерно-технических отделов в Google / Dropbox и Ю Пана - одного из соучередителей Paypal. + +Для тех, кто хочет погрузиться в технические подробности того, как это работает, данная документация станет отличным началом. We encourage developers to audit and contribute to our [Github](http://www.github.com/OriginProtocol) (100% open-source). Наша команда общается в [Discord](https://www.originprotocol.com/discord), если у Вас есть вопросы или вам нужна помощь для начала работы. + +Добро пожаловать в будущее денег. diff --git a/ru/SUMMARY.md b/ru/SUMMARY.md new file mode 100644 index 000000000..bdddff822 --- /dev/null +++ b/ru/SUMMARY.md @@ -0,0 +1,64 @@ +# Оглавление + +* [Introducing OUSD](README.md) +* [Как это работает](how-it-works.md) +* [Приступая к работе](getting-started.md) +* [Analytics Dashboard](analytics-dashboard.md) +* [FAQ](faq.md) + +## Основные концепции + +* [Гибкое предложение](core-concepts/elastic-supply/README.md) + * [Перераспределение & Смарт-Контракты](core-concepts/elastic-supply/rebasing-and-smart-contracts.md) +* [Генерирование дохода](core-concepts/yield-generation/README.md) + * [Кредитование](core-concepts/yield-generation/lending.md) + * [Поддержание котировок на рынке](core-concepts/yield-generation/market-making.md) + * [Вознаграждение](core-concepts/yield-generation/rewards.md) +* [Wrapped OUSD](core-concepts/wrapped-ousd.md) +* [Supported Stablecoins](core-concepts/supported-stablecoins/README.md) + * [USDT](core-concepts/supported-stablecoins/usdt.md) + * [USDC](core-concepts/supported-stablecoins/usdc.md) + * [DAI](core-concepts/supported-stablecoins/dai.md) +* [Supported Strategies](core-concepts/supported-strategies/README.md) + * [Compound](core-concepts/supported-strategies/compound.md) + * [Aave](core-concepts/supported-strategies/aave.md) + * [Curve](core-concepts/supported-strategies/curve.md) + * [Convex](core-concepts/supported-strategies/convex.md) +* [Fund Management](core-concepts/fund-management.md) +* [Price Oracles](core-concepts/price-oracles.md) + +## Управление + +* [Принципы](governance/principles.md) +* [Права администратора](governance/admin-privileges.md) +* [Стейкинг токенов OGN](governance/ogn-staking.md) +* [Сотрудничество](governance/contributing.md) +* [Vote Delegation](governance/vote-delegation.md) + +## Смарт-контракты + +* [Архитектура](smart-contracts/architecture.md) +* [Реестр](smart-contracts/registry.md) +* [API](smart-contracts/api/README.md) + * [Хранилище](smart-contracts/api/vault.md) + * [ERC-20](smart-contracts/api/erc-20-1.md) + * [Временная блокировка](smart-contracts/api/timelock.md) + * [Strategies](smart-contracts/api/strategies.md) + +## Угрозы & Безопасность + +* [Риски](security-and-risks/risks.md) +* [Аудиты](security-and-risks/audits.md) +* [Страхование](security-and-risks/insurance.md) +* [Вознаграждения за поиск ошибок](security-and-risks/bug-bounties.md) + +## Руководства + +* [Руководство по интеграции для бирж](guides/integration-guide-for-exchanges.md) +* [Incentivized Harvesting Guide](guides/incentivized-harvesting-guide.md) + +## Ссылки + +* [Github](https://www.github.com/originprotocol/origin-dollar) +* [Discord](https://www.originprotocol.com/discord) +* [originprotocol.com](https://www.originprotocol.com) diff --git a/ru/analytics-dashboard.md b/ru/analytics-dashboard.md new file mode 100644 index 000000000..9c3e6a577 --- /dev/null +++ b/ru/analytics-dashboard.md @@ -0,0 +1,31 @@ +# Analytics Dashboard + +{% hint style="info" %} +Visit [analytics.ousd.com](https://analytics.ousd.com) to see how funds are allocated, view historical performance data, and track your personal gains. +{% endhint %} + +The [APY dashboard](https://analytics.ousd.com/apy) is primarily intended for consumption by our engineering team, but we went ahead and deployed it since our ethos is "public by default" and everything that we do is [open-source](http://github.com/OriginProtocol). Unfortunately, that often means erring on the side of transparency and not necessarily the side of taking the time to explain things clearly. + +Before diving into the yield calculation, it's important to understand how OUSD works both in terms of [yield generation](https://docs.ousd.com/core-concepts/yield-generation) and [rebasing](https://docs.ousd.com/core-concepts/elastic-supply). You can read all about that in these [docs](https://docs.ousd.com), including [the part about smart contracts being excluded from yield](https://docs.ousd.com/core-concepts/elastic-supply/rebasing-and-smart-contracts). + +To summarize how APY is calculated, it's the annualized rate of change in OUSD's internal accounting of users' balances between two points in time. To understand that, let's break down the columns in the historical APY table (in reverse order). + +**Ratio** + +There are two types of OUSD balances: rebasing (most accounts) and non-rebasing (smart contracts that have not opted in). The OUSD token contract maintains a separate internal accounting for each type of balance using what it calls "credits". The ratio shown here is the rebasing supply of OUSD divided by the rebasing credits, which gives us the exchange rate between the two. + +**Credits** + +Some smart contracts holding OUSD have unique credit balances because their rebasing status has changed at some point in the past (by opting in or out). Here we show the sum of all rebasing credits and non-rebasing credits. When multiplied by the ratio, it gives the difference between backing supply and non-rebasing supply. + +**Non-rebasing** + +This is the portion of supply held in other smart contracts that have not opted in to rebasing. When added to (credits \* ratio), this equals backing supply. Note also that the **%** column shows the percentage of OUSD that is non-rebasing. + +**Boost** + +The APY is effectively "boosted" for rebasing accounts thanks to the fact that some OUSD is non-rebasing. Think about all of the stablecoins that were used as collateral to mint the non-rebasing OUSD. Those stablecoins are still earning through our yield farming strategies, but the gains are accruing only to the rebasing accounts. The result is that the effective APY is higher than it would be without this mechanism. The boost is the measure of this difference. If boost is 100%, then regular OUSD holders are enjoying double the APY that they otherwise would. + +**APR/APY calculation** + +Bringing this full circle, we currently measure yield by measuring the change in the [rebasing credits per token](https://github.com/OriginProtocol/origin-dollar/blob/master/contracts/contracts/token/OUSD.sol#L45) between two points in time. But there are a few other considerations to note. First, we have to make an assumption about how many Ethereum blocks are mined on an average day. We use a [fixed 6,500](https://github.com/OriginProtocol/ousd-analytics/blob/master/eagleproject/core/views.py#L43), but the actual number of blocks per day is variable. Second, we need a reasonable time horizon to measure. We focus on 30 days, which has proven to be a relatively consistent window of time during which a complete sample of yield-generating activities has occurred. Third, we convert APR into APY by assuming [constant daily compounding](https://github.com/OriginProtocol/ousd-analytics/blob/master/eagleproject/core/views.py#L449-L451). In other words, yield is constantly being reinvested into the same strategies. Finally, there is one notable drawback to using the rebase ratio to measure yield. Since rebase events currently occur sporadically (and not very frequently in a world of high gas prices), the APY won't reflect earnings that have not yet been translated to account balances. For example, there could be an interest rate spike in Compound or a volume spike in the Curve 3pool strategy, which would cause OUSD to earn more than it does on an average day. Until [the rebase method](https://github.com/OriginProtocol/origin-dollar/blob/master/contracts/contracts/vault/VaultCore.sol#L365-L370) gets called, the APY will underreport these earnings. In fact, anyone who sells OUSD during that time would be missing out on the "[next rebase](https://analytics.ousd.com)". The good news is that you should be able to observe the change in your balance over one week and it (annualized) should approximately equal our advertised APY. diff --git a/ru/architecture/erc-20-1.md b/ru/architecture/erc-20-1.md new file mode 100644 index 000000000..cbda7dec4 --- /dev/null +++ b/ru/architecture/erc-20-1.md @@ -0,0 +1,19 @@ +# ERC-20 + +{% hint style="success" %} +Основной адрес ERC20 для Origin Dollar \(OUSD \): +**0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +OUSD - это токен, соответствующий стандарту ERC-20, с одним новым свойством, которое важно понимать. + +{% hint style="warning" %} +Кошельки и биржи, которые хотят интегрировать OUSD, не должны кэшировать балансы OUSD, так как это значение будет часто меняться по мере начисления дохода держателям токенов. +{% endhint %} + +Самая большая разница, отделяющая OUSD от вашего рядового токена ERC-20, заключается в том, что функция OUSD`balanceOf ()` будет возвращать переменную величину, основанную на общей стоимости пула, умноженной на долю держателя в пуле. Это различие важно понимать, особенно для кошельков и бирж, которые хотят интегрировать токен OUSD. Это значение следует извлекать в реальном времени, а не кэшировать, поскольку OUSD часто перераспределяется. + + + + + diff --git a/ru/architecture/erc-20.md b/ru/architecture/erc-20.md new file mode 100644 index 000000000..601d56d58 --- /dev/null +++ b/ru/architecture/erc-20.md @@ -0,0 +1,12 @@ +# Обзор + +![](../.gitbook/assets/ousd_docs_graphics_3.png) + +OUSD состоит из серии смарт-контрактов. Каждый из этих контрактов заключен в прокси-контракт, который можно усовершенствовать с помощью протоколов управления. + +На внутреннем уровне владение пулом отслеживается с помощью рейтинговой системы, которая представляет процент владения пулом для каждого держателя. Контракт ERC-20 выполняет преобразование в доллары США при просмотре баланса или инициировании перевода между кошельками. + +Vault отвечает за производство и сжигание OUSD. Он также определяет процент активов, развернутых для каждой из поддерживаемых [Стратегий](../core-concepts/supported-strategies/). Чтобы оптимизировать затраты на газ, в The Vault поддерживается буфер, позволяющий производить большинство депозитов и выкупов без ввода/вывода активов из стратегий. + + + diff --git a/ru/architecture/strategies.md b/ru/architecture/strategies.md new file mode 100644 index 000000000..84b201188 --- /dev/null +++ b/ru/architecture/strategies.md @@ -0,0 +1,14 @@ +# Стратегии + +Новые стратегии могут быть добавлены или удалены в любое время, чтобы реагировать на новые рыночные реалии и диверсифицировать риски. + +При запуске OUSD воспользуется преимуществами единой стратегии и разместит депонированный капитал в Compound. Вскоре после этого мы намерены применить многие другие стратегии. + +После перехода к децентрализованному управлению мы намерены наделить сообщество возможностью предлагать новые стратегии и голосовать за соответствующий вес каждой стратегии в пуле. Мы ожидаем, что большинство держателей OUSD будут оценивать размер риска и возможностей при более высокой доходности, сохраняя более консервативные позиции по части средств. + + + + + + + diff --git a/ru/architecture/timelock.md b/ru/architecture/timelock.md new file mode 100644 index 000000000..a891b1b3c --- /dev/null +++ b/ru/architecture/timelock.md @@ -0,0 +1,22 @@ +# Временная блокировка + +{% hint style="danger" %} +Временная блокировка будет добавлена вскоре после того, как все будет проверено на работоспособность. До этого времени контракты будут регулироваться 5 из 8 мульти-подписями Origin. Это позволит быстрее реагировать на обнаруженные критические проблемы. +{% endhint %} + +Контракт с временной блокировкой предусматривает 48-часовой период ожидания, прежде чем любые изменения в контрактах OUSD будут выполнены. Временная блокировка может быть вызвана нашим мульти-подписями, и является владельцем наших контрактов [ERC-20](erc-20.md), [Vault](vault.md)и [Strategies](strategies.md). Задержка действий администратора дает пользователям возможность выхода OUSD, если его администраторы станут злонамеренными, будут скомпрометированы или внесут изменения, которые не нравятся пользователям. + +{% hint style="info" %} +Временная блокировка - это мера безопасности, которая дает держателям OUSD 48 часов, чтобы вывести свои средства, если у них есть возражения против любых предлагаемых обновлений протокола. +{% endhint %} + +OUSD использует немного измененную версию [ Накапливаемой временной блокировки](https://compound.finance/docs/governance), которая была [проаудирована OpenZeppelin](https://blog.openzeppelin.com/compound-finance-patch-audit/). 3 заметных отличия: + +1. Первоначально OUSD будет использовать более короткий период ожидания \(48 часов\), чем Compound \(72 часа\), чтобы обеспечить более быстрый ответ в случае обнаружения каких-либо проблем. +2. По прошествии 48 часов любой может выполнить вызов функции, а не только владелец контракта. +3. Депозиты \(но не вывод средств или переводы\) могут быть немедленно заморожены, не требуя 48 часового периода ожидания. Это было сделано на случай обнаружения серьезной уязвимости. + + + + + diff --git a/ru/architecture/vault.md b/ru/architecture/vault.md new file mode 100644 index 000000000..cce4b60c5 --- /dev/null +++ b/ru/architecture/vault.md @@ -0,0 +1,17 @@ +# Хранилище (Vault) + +Vault лежит в основе протокола. Vault отвечает за создание и выкуп токенов OUSD, перебалансировку средств между различными поддерживаемыми стратегиями и ликвидацию токенов вознаграждения. + +Наиболее важными общедоступными функциями в Vault являются: + +* `mint ()`позволяет конвертировать один поддерживаемый стейблкоин в OUSD +* `mintMultiple ()`позволяет конвертировать несколько поддерживаемых стейблкоинов в OUSD за один вызов функции +* `redeem ()`позволяет выкупить определенное количество OUSD за другие поддерживаемые стейблкоины. +* `redeemAll ()`позволяет пользователю обменять весь свой баланс в OUSD на другие поддерживаемые стейблкоины. Это особенно полезно, так как балансы пользователей постоянно растут по мере накопления доходности. +* `rebase ()`обновляет балансы для всех пользователей на основе стоимости активов, хранящихся в пуле в настоящее время. +* `allocate ()`переводит активы в управлении согласно заранее заданных [Стратегий](strategies.md), чтобы максимизировать доходность и диверсифицировать риски. + +Во время выкупа именно протоколом, а не пользователем, принимается решение о том, какой (-ие) стейблкоин (-ы) возвращать пользователю. Решение о том, какую монету (-ы) возвратить, основывается на внутренних соотношениях активов, которые хранятся в пуле. + + + diff --git a/ru/core-concepts/elastic-supply.md b/ru/core-concepts/elastic-supply.md new file mode 100644 index 000000000..1dbd4c250 --- /dev/null +++ b/ru/core-concepts/elastic-supply.md @@ -0,0 +1,18 @@ +# Гибкое предложение + +**Гибкое предложение. Стабильная цена.** + +OUSD работает не так, как большинство токенов. Вместо увеличения цены по мере увеличения стоимости активов под управлением (как в случае с Compound cTokens или Yearn yTokens), стоимость одного OUSD остается постоянной и составляет примерно 1 доллар США. Вместо этого контракты постоянно корректируют денежную массу и автоматически обновляют баланс в кошельке каждого держателя токенов, чтобы отразить доход, полученный протоколом. + +{% hint style="info" %} +Думайте об этом как о процентах, начисляемых на ваш банковский счет. Расчетная единица и стоимость доллара США не меняются. Вы просто получаете больше долларов США со временем, зарабатывая проценты. +{% endhint %} + +![](../.gitbook/assets/ousd_docs_graphics_4.png) + +Этот механизм был вдохновлен новым подходом, принятым [Ampleforth](https://www.ampleforth.org/), но есть некоторые ключевые отличия, которые стоит выделить: + +1. OUSD на 100% обеспечен другими стейблкоинами и не будет иметь такой же проблемы с поддержанием привязки к доллару. Учитывая простоту создания и выкупа OUSD, мы можем рассчитывать на арбитражеров, которые обеспечат поддержание привязки. +2. OUSD rebasing should only increase supply since the amount of OUSD minted is tied to the realized gains earned by the underlying strategies. Your principal is protected as long as nothing goes wrong with the underlying lending/AMM and stablecoin protocols. Any decrease in your balance would be an indication of trouble in the system. +3. В отличие от Ampleforth, который производит перераспределение раз в день, денежная масса OUSD постоянно обновляется в режиме реального времени по мере генерирования доходности. + diff --git a/ru/core-concepts/elastic-supply/README.md b/ru/core-concepts/elastic-supply/README.md new file mode 100644 index 000000000..a3f1b9eb7 --- /dev/null +++ b/ru/core-concepts/elastic-supply/README.md @@ -0,0 +1,21 @@ +# Гибкое предложение + +**Гибкое предложение. Стабильная цена.** + +OUSD работает не так, как большинство токенов. Instead of the price increasing as the value of the assets under management increase (as with Compound cTokens or Yearn yTokens), the value of one OUSD remains constant at approximately $1. Instead, the contracts constantly adjust the monetary supply and automatically updates the balance in every token holder’s wallet to reflect the yield that has been earned by the protocol. + +{% hint style="info" %} +Думайте об этом как о процентах, начисляемых на ваш банковский счет. Расчетная единица и стоимость доллара США не меняются. Вы просто получаете больше долларов США со временем, зарабатывая проценты. +{% endhint %} + +![](../../.gitbook/assets/ousd\_docs\_graphics\_4.png) + +This mechanism was inspired by the novel approach taken by [Ampleforth](https://www.ampleforth.org), but there are some key differences that are worth highlighting: + +1. OUSD на 100% обеспечен другими стейблкоинами и не имеет такой же проблемы с поддержанием привязки к доллару. Given the ease of minting and redeeming OUSD, we can count on arbitrageurs to ensure the peg is maintained. +2. Перераспределение OUSD будет только увеличивать предложение, поскольку количество вновь созданных OUSD привязано к реализованной прибыли, полученной с помощью лежащих в основе стратегий. Ваш основной капитал защищен до тех пор, пока все в порядке с основными протоколами кредитования/AMM и протоколами стейблкоинов. Ваш баланс OUSD никогда не уменьшится, но его стоимость может упасть, если произойдет сбой в основных системах. +3. Unlike Ampleforth, which only rebases once a day, the monetary supply of OUSD is constantly being updated in real-time as yield is generated. Перераспределение запускается регулярно, когда пользователи взаимодействуют с контрактами OUSD. Chainlink Keepers ensure at least one rebase occurs every day. + +**Запуск перераспределения вручную** + +Кто угодно в любой момент может запустить перераспределние, [вызвав функцию перераспределения в хранилище](https://etherscan.io/address/originvault.eth#writeProxyContract). Вы можете сделать это в Etherscan, подключив кошелек web3. diff --git a/ru/core-concepts/elastic-supply/rebasing-and-smart-contracts.md b/ru/core-concepts/elastic-supply/rebasing-and-smart-contracts.md new file mode 100644 index 000000000..b305622a3 --- /dev/null +++ b/ru/core-concepts/elastic-supply/rebasing-and-smart-contracts.md @@ -0,0 +1,22 @@ +# Перераспределение & Смарт-Контракты + +Если Вы используете кошелек с мульти-подписями или другой смарт-контракт для участия в перераспределении OUSD, Вы должны вызвать функцию OUSD `rebaseOptIn()`. Это относится только к смарт-контрактам, так как стандартные кошельки EOA регистрируются автоматически. + +{% hint style="info" %} +Кошельки с мульти-подписями или другие смарт-контракты должны вызвать функцию `rebaseOptIn()` чтобы получать доход. +{% endhint %} + +По умолчанию, OUSD на смарт-контрактах не будет участвовать в перераспределении токена и потеряет любой доход, если смарт-контракт явным образом не поддерживает функцию получения токенов. Это увеличивает уровень "сочетаемости" OUSD с DeFi, поскольку многие протоколы не были разработаны с расчетом на изменение баланса. Для других протоколов DeFi OUSD работает так же, как и любой другой нормальный токен протокола ERC-20. This is a particularly useful attribute for automated market makers (AMM’s) like Uniswap which break when the number of tokens they are holding changes unexpectedly. + +![The Gnosis Safe OUSD app will prompt you to opt in to yield](../../.gitbook/assets/ousd-app-in-gnosis-safe.png) + +Smart contracts must explicitly opt-in to receiving yield via the rebasing mechanism. This fixes the issue with the expanding supply on AMM’s while still allowing multi-sig wallets and other smart contracts the opportunity to still participate and earn yield. + +{% hint style="warning" %} +If you are deploying a contract and intend to call`rebaseOptIn()`to earn yield you cannot call it from the contract's constructor. The contract must be deployed before it can be called. +{% endhint %} + +[Gnosis Safe](https://gnosis-safe.io) users are encouraged to use the Origin Dollar app which will prompt you to opt in to receiving yield. If you are using the "Old" [Gnosis Wallet](https://github.com/gnosis/MultiSigWallet) or another contract-based wallet, you will need the [proxy contract address for OUSD](../../smart-contracts/registry.md) and the corresponding [ABI](https://api.etherscan.io/api?module=contract\&action=getabi\&address=0x1ae95dd4eeae7ed03da79856c2d44ffa3318f805). Once you add those, you will be able to call the `rebaseOptIn()` function to opt into receiving yield via rebasing or`rebaseOptOut()` to turn it off again. + + + diff --git a/ru/core-concepts/fund-management.md b/ru/core-concepts/fund-management.md new file mode 100644 index 000000000..e644e9b0e --- /dev/null +++ b/ru/core-concepts/fund-management.md @@ -0,0 +1,23 @@ +# Управление средствами + +The OUSD smart contract aggregates all users' stablecoin deposits into a single pool of assets that are then deployed into earning strategies based on preset allocations. In contrast to Yearn Vaults, TokenSets, or Zapper opportunities, users do not select individual strategies. All deposited stablecoins and consequently all OUSD tokens are fungible. + +The weighting of how assets are distributed between the supported strategies is decided by OGN holders using weekly snapshot voting. These votes happen offchain and do not cost any gas. The results of the weekly poll will then be executed onchain by members of the [Strategist multi-sig](https://etherscan.io/address/0xF14BBdf064E3F67f51cd9BD646aE3716aD938FDC) (known as "Strategists"). + +Ultimately, we believe it should be up to the community to decide what the right balance of risk/reward is appropriate for OUSD. We encourage the community to favor high-yield strategies while still maintaining diversification across multiple strategies to remove single points of failure and minimize risk. + +**How strategy allocation voting works:** + +* New snapshot proposals will open for voting on the [OGN governance portal ](http://vote.originprotocol.com)at midnight Tuesday UTC (7pm eastern Monday). The poll will be open for 48 hours, ending at midnight Thursday UTC (7pm eastern on Wednesday). +* During this time, those interested can discuss allocation changes in a thread in the #governance channel on [Origin's Discord](https://www.originprotocol.com/discord). +* Each proposal will use "weighted voting", with options for each coin/strategy combination and an option to keep the existing allocation unchanged. OGN holders can spread their votes among different listed strategies or the existing allocation. +* After the voting time has ended, Strategists will submit, verify, and execute transactions to change OUSD to the determined allocation percentages for the week. If more than 50% of the weighted votes are cast for the existing allocation, Strategists will take no action. +* Allocations will be executed for strategies that use all stablecoins first (like Convex), then each stablecoin will be allocated to the remaining strategies according to the ratio of votes for that stablecoin / strategy combination. +* If the Strategists deem any of the allocations unsafe to the funds behind OUSD, they may choose to not execute those. In addition, Strategists may decline to execute minor adjustments where the gas costs would be greater than the expected benefits. +* Like all governance proposals, Strategist allocations must meet the minimum quorum requirements (currently 1M OGN) to be considered valid. +* From a security standpoint, it is important to know that while Strategists have the ability to move funds between approved strategies or instantly pause rebasing in the case of an emergency, Strategists do not have the power to add new strategies or withdraw funds without going through the timelock. Community members can use the Strategy Validator tools to more easily [create](https://analytics.ousd.com/strategist/creator) and [decode](https://analytics.ousd.com/strategist) which actions are being performed by the Strategists. +* When voting, please remember it is inefficient to move in and out of the Convex strategy frequently and some funds need to always remain outside of Convex in order to accommodate withdrawals. + + + +**** diff --git a/ru/core-concepts/fund-management/README.md b/ru/core-concepts/fund-management/README.md new file mode 100644 index 000000000..6c0978009 --- /dev/null +++ b/ru/core-concepts/fund-management/README.md @@ -0,0 +1,6 @@ +# Управление средствами + +Смарт-контракт OUSD объединяет все депозиты стейблкоинов пользователей в единый пул инвестиционных активов. Затем средства распределяются по одной или нескольким [стратегиям заработка](earning-strategies.md) в любой момент времени. Vault отдает предпочтение высокодоходным стратегиям, но также стремится поддерживать диверсификацию по множеству стратегий. Диверсификация устраняет единые точки сбоя и снижает риски. + +В отличие от Yearn Vaults, TokenSets или Zapper, пользователи не выбирают отдельные стратегии. Все депонированные стейблкоины и, следовательно, все токены OUSD взаимно конвертируемы. + diff --git a/ru/core-concepts/fund-management/diversification.md b/ru/core-concepts/fund-management/diversification.md new file mode 100644 index 000000000..895f44a85 --- /dev/null +++ b/ru/core-concepts/fund-management/diversification.md @@ -0,0 +1,8 @@ +# Диверсификация + +Первоначальная версия смарт-контракта OUSD Vault дает каждой действующей стратегии некоторый вес, колеблющийся от 0% до 100% для выполнения простого распределения активов. Эти веса стратегий будут часто смещаться посредством обновлений Origin в краткосрочной перспективе и децентрализованного управления в долгосрочной перспективе. + +Диверсификация между несколькими базовыми [платформами DeFi](../supported-strategies/) снизит риски смарт-контрактов и других системных рисков. Смарт-контракт будет рассчитывать текущие и ожидаемые APY, чтобы обеспечить конкурентоспособную прибыль держателям OUSD. Со временем контракт Vault будет обновлен для интеллектуального и автономного переключения между стратегиями без ручного вмешательства. Например, Vault будет автоматически перемещать капитал между различными стратегиями кредитования для оптимизации доходности. + +Тем не менее, все еще ожидается, что определенные параметры риска или решения о том, будут ли определенные стратегии включены в автоматизированный механизм принятия решений, будут приниматься посредством голосования руководства. + diff --git a/ru/core-concepts/fund-management/earning-strategies.md b/ru/core-concepts/fund-management/earning-strategies.md new file mode 100644 index 000000000..82288bcb9 --- /dev/null +++ b/ru/core-concepts/fund-management/earning-strategies.md @@ -0,0 +1,6 @@ +# Стратегии заработка + +Стратегии заработка позволяют задействовать вложенный капитал на различных платформах DeFi. Vault будет определять, какие стратегии активны и какой процент от задействованного капитала они получат. + +Кроме того, со временем стратегии будут обновляться. Например, при запуске будет изначальная [Стратегия накопления](../supported-strategies/compound.md). Со временем она может быть заменена Стратегией накопления v2 или v3. + diff --git a/ru/core-concepts/price-oracles.md b/ru/core-concepts/price-oracles.md new file mode 100644 index 000000000..1b08c685f --- /dev/null +++ b/ru/core-concepts/price-oracles.md @@ -0,0 +1,38 @@ +- - - +description: OUSD uses Chainlink to secure the protocol from pricing attacks +- - - + +# Price Oracles + +### Stablecoin Pricing + +OUSD is designed to stay pegged at 1 USD and be 1:1 backed with its underlying stablecoins. This is trickier than it sounds because these underlying stablecoins are constantly deviating from their own desired 1 USD pegs. While the majority of daily fluctuations are minor, there have been major swings in price that have occurred in the past and are likely to occur again in the future. + +| Coin | **Low** | **High** | **Delta** | **Source** | +| ---- | ---------------------------------------------------- | ---------------------------------------------------- | --------- | --------------------------------------------------------------------------- | +| USDC |

$0.929222

Mar 13, 2020

|

$1.11

Oct 15, 2018

| $0.180778 | [CoinMarketCap](https://coinmarketcap.com/currencies/usd-coin/) | +| USDC |

$0.924188

Aug 02, 2020

|

$1.17

May 08, 2019

| $0.245812 | [CoinGecko](https://www.coingecko.com/en/coins/usd-coin) | +| DAI |

$0.945505

May 10, 2020

|

$1.11

Mar 13, 2020

| $0.164495 | [CoinMarketCap](https://coinmarketcap.com/currencies/multi-collateral-dai/) | +| DAI |

$0.903243

Nov 25, 2019

|

$1.22

Mar 13, 2020

| $0.316757 | [CoinGecko](https://www.coingecko.com/en/coins/dai) | +| USDT |

$0.849809

Feb 02, 2017

|

$1.21

May 27, 2017

| $0.360191 | [CoinGecko](https://www.coingecko.com/en/coins/tether) | +| USDT |

$0.572521

Mar 02, 2015

|

$1.32

Jul 24, 2018

| $0.747479 | [CoinMarketCap](https://coinmarketcap.com/currencies/tether/) | + +The rebasing function treats 1 stablecoin as 1 OUSD for simplicity and to protect OUSD balances from being affected by the daily fluctuations in the price of the underlying stablecoins. Since the rebase function only counts coins, OUSD balances should only increase. + +In order to mint and redeem the appropriate number of OUSD on entry and exit, the smart contracts need to accurately price the USDT, USDC, and DAI that is entering and exiting the system. + +As an added precaution, OUSD never pays more than a dollar for a stablecoin, nor sells a stablecoin for less than a dollar. Oracles giving wrong prices will not result in a reduction of the number of stablecoins held. Gains that are collected as a result of stablecoins slipping from their peg are redistributed to the remaining holders of OUSD in the form of additional yield. + +As a decentralized protocol, OUSD must rely on non-centralized sources for these prices. OUSD uses Chainlink oracles for pricing data for DAI, USDC and USDT. You can read more about [our decision to work with Chainlink](https://blog.originprotocol.com/how-origin-uses-chainlink-oracles-to-secure-ousd-bff5601e840e) on our blog. Here are the Chainlink oracles we are currently using for stablecoin pricing: + +{% embed url="https://data.chain.link/usdt-usd" %} + +{% embed url="https://data.chain.link/usdc-usd" %} + +{% embed url="https://data.chain.link/dai-usd" %} + +### Reward Token Oracles & Front Running Protection + +When reward tokens from OUSD strategies are sold for additional yield, Chainlink oracles are checked to ensure that the sale price slippage has not exceeded normal bounds. These oracles are listed on our [registry](../smart-contracts/registry.md) page under the "Oracles" tab. + +The same is also true for OGN buybacks from OUSD yield.\ \ When minting and redeeming OUSD, a miniumun required amount can be passed into the contract call to ensure that the entire transaction fails if not enough OUSD or stablecoins would be returned to the user due to changing prices. diff --git a/ru/core-concepts/price-oracles/README.md b/ru/core-concepts/price-oracles/README.md new file mode 100644 index 000000000..9b4081e09 --- /dev/null +++ b/ru/core-concepts/price-oracles/README.md @@ -0,0 +1,126 @@ +# Ценовые оракулы + +OUSD рассчитан на то, чтобы оставаться привязанным к 1 доллару США и быть обеспеченным базовыми стейблкоинами в соотношении 1:1. Это сложнее, чем кажется, потому что эти базовые стейблкоины постоянно отклоняются от своих желаемых привязок к 1 доллару США. Большинство дневных колебаний незначительны, однако в прошлом были серьезные колебания цен, которые, вероятно, повторятся и в будущем. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
МонетаНизкий + Высокий + Разница + Источник +
USDC +

$0,929222

+

13 марта 2020 г.

+
+

$ 1,11

+

15 октября 2018 г.

+
$0.180778CoinMarketCap +
USDC +

$0.924188

+

2 августа 2020 г.

+
+

$1.17

+

8 мая 2019г.

+
$0.245812CoinGecko +
DAI +

$0.945505

+

10 мая 2020г.

+
+

$1.11

+

13 марта 2020г.

+
$0.164495CoinMarketCap +
DAI +

$0.903243

+

25 ноября 2019г.

+
+

$1.22

+

13 марта 2020г.

+
$0.316757CoinGecko +
USDT +

$0,849809

+

2 февраля 2017г.

+
+

$1.21

+

27 мая 2017г.

+
$0.360191CoinGecko +
USDT +

$0.572521

+

02 марта 2015г.

+
+

$1.32

+

24 июля 2018г.

+
$0.747479CoinMarketCap +
+ +Функция перераспределения обрабатывает 1 стейблкоин как 1 OUSD для простоты и для защиты баланса OUSD от ежедневных колебаний цены базовых стейблкоинов. Поскольку функция перераспределения считает только монеты, баланс OUSD должен только увеличиваться. + +Чтобы создать и высвободить соответствующее количество OUSD при входе и выходе, смарт-контракты должны точно определять цену на USDT, USDC и DAI, которые входят в систему и выходят из нее. Как децентрализованный протокол, OUSD должен полагаться на не являющимися централизованными источники этих цен. + +{% hint style="info" %} +OUSD получает цену от нескольких оракулов в сети и использует обменный курс, который является наиболее выгодным для хранилища, когда происходит процесс создания новых монет или их высвобождение. +{% endhint %} + +Чтобы предотвратить злонамеренные атаки и больше поощрять долгосрочных инвесторов, чем краткосрочных спекулянтов, контракт OUSD сравнивает потоки цен из нескольких источников и использует тот обменный курс, который выгоден для всего хранилища, а не для отдельных лиц. Этот механизм защищает средства, находящиеся в хранилище, от арбитражеров и никому не позволяет воспользоваться любой временной неэффективностью, вызванной ошибкой оракулов, для истощения общего пула активов. + +Это защищает средства в хранилище и поощряет долгосрочных держателей. Поскольку самая безопасная цена зависит от направления сделки, оракул Origin предоставляет как `priceUSDMint()`, так и `priceUSDRedeem()`. + +OUSD uses Chainlink as oracle for DAI, USDC and USDT. + +{% embed url="https://feeds.chain.link/eth-usd" caption="" %} + +The specific smart contract address for each oracle being used are listed on our [registry](../../smart-contracts/registry.md) page. + +It is possible that additional oracles will be added to the protocol over time. Support may also be removed if any of these oracles become unreliable. + diff --git a/ru/core-concepts/price-oracles/untitled.md b/ru/core-concepts/price-oracles/untitled.md new file mode 100644 index 000000000..c864aa049 --- /dev/null +++ b/ru/core-concepts/price-oracles/untitled.md @@ -0,0 +1,25 @@ +# Без названия + +## Получение суперспособностей + +Стать супергероем довольно просто: + +``` +$ give me super-powers +``` + +{% hint style="info" %} + Суперсилы предоставляются случайным образом, поэтому, если вы не довольны своими, сообщите о проблеме. +{% endhint %} + +Когда Вы станете достаточно сильным, спасите мир: + +{% code title="hello.sh" %} +```bash +# Для этого еще нет кода, извините +echo 'Вы должны мне поверить, я спас мир' +``` +{% endcode %} + + + diff --git a/ru/core-concepts/supported-assets/README.md b/ru/core-concepts/supported-assets/README.md new file mode 100644 index 000000000..56390ccf6 --- /dev/null +++ b/ru/core-concepts/supported-assets/README.md @@ -0,0 +1,20 @@ +# Supported Stablecoins + +**Supported Stablecoins** + +It is important to understand that OUSD is only as strong as the stablecoins that are backing it. Any loss to the underlying assets will cause a similar loss to the value of OUSD. + +Currently, OUSD supports the following stablecoins: + +{% page-ref page="usdt.md" %} + +{% page-ref page="usdc.md" %} + +{% page-ref page="dai.md" %} + +None of these stablecoins are perfect, but we selected them because of their widespread usage. While these stablecoins have lost their USD peg on multiple occasions, they have demonstrated resiliency in eventually getting back to their 1 USD targets. + +It is important to note that all these stablecoins introduce non-trivial counter-party risk. Tether, in particular, has had well-documented banking troubles and regulatory challenges. In addition, both USDT and USDC have backdoors that grant their issuers the power to freeze money in their holder's wallets. While DAI does not have any direct backdoors, it's assets can also be negatively impacted since USDC is accepted as collateral for minting DAI. + +Despite these concerns, there are already billions of dollars betting on the security of these stablecoins. It is possible that additional stablecoins will be added to the protocol over time. Support may also be removed if any of these stablecoins prove to be too unreliable or put OUSD holders funds in jeopardy. + diff --git a/ru/core-concepts/supported-assets/dai.md b/ru/core-concepts/supported-assets/dai.md new file mode 100644 index 000000000..4be5c3788 --- /dev/null +++ b/ru/core-concepts/supported-assets/dai.md @@ -0,0 +1,20 @@ +# DAI + +![](../../.gitbook/assets/dai.png) + +Dai is a fiat-pegged stablecoin launched as a ERC-20 token on the Ethereum blockchain in December 2017. A major upgrade from single-collateral Dai \(SAI\) to multi-collateral Dai \(DAI\) was completed in November 2019. Dai is pegged to the US dollar. + +Dai is minted by users locking up crypto assets such as ETH or USDC as collateral in a collateralized debt position \(CDP\) called a vault. Previously, only ETH was accepted as collateral. The reserves and status of each vault can be viewed on the blockchain in real-time. The health of these vaults and the Dai stablecoin are closely monitored. + +Dai is the world's third-largest stablecoin with over $400 million in circulation. In addition, cDAI and aDAI, synthetic versions of Dai on the lending platforms Compound and Aave, combine for over $600 million in circulation. + +| Key Facts | | +|:------------- |:------------------------------------------------------------------------------------------------------------------- | +| Issued by | MakerDAO | +| Name | Dai | +| Symbol | DAI | +| Address | [0x6b175474e89094c44da98b954eedeac495271d0f](https://etherscan.io/token/0x6b175474e89094c44da98b954eedeac495271d0f) | +| Decimals | 18 | +| Official site | [https://makerdao.com/](https://makerdao.com/) | +| Holders | Over 140k addresses | + diff --git a/ru/core-concepts/supported-assets/usdc.md b/ru/core-concepts/supported-assets/usdc.md new file mode 100644 index 000000000..2647d7c83 --- /dev/null +++ b/ru/core-concepts/supported-assets/usdc.md @@ -0,0 +1,22 @@ +# USDC + +![](../../.gitbook/assets/usdc-coin-bd351fb779%20%281%29.png) + +USD Coin \(USDC\) is a fiat-pegged stablecoin launched as a ERC-20 token on the Ethereum blockchain in October 2018. USDC is pegged to the US dollar and can easily be redeemed for US dollars. + +Each USDC is backed by a 1:1 ratio with the equivalent amount of fiat currency held in custodial accounts by members of Centre, a consortium founded by Circle and Coinbase. Members of Centre are regulated financial institutions based in the US. Monthly audits of reserves are published by Grant Thornton LLP. + +USDC is the world's second-largest stablecoin after USDT and has quickly grown to over $1 billion in circulation. However, USDC remains far behind USDT's $12+ billion in circulation. + +| Key Facts | | +|:------------- |:------------------------------------------------------------------------------------------------------------------- | +| Issued by | Centre | +| Name | USD Coin | +| Symbol | USDC | +| Address | [0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48](https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48) | +| Decimals | 6 | +| Official site | [https://www.centre.io/usdc](https://www.centre.io/usdc) | +| Holders | Over 200k addresses | + + + diff --git a/ru/core-concepts/supported-assets/usdt.md b/ru/core-concepts/supported-assets/usdt.md new file mode 100644 index 000000000..4ae2afe89 --- /dev/null +++ b/ru/core-concepts/supported-assets/usdt.md @@ -0,0 +1,22 @@ +# USDT + +![](../../.gitbook/assets/image%20%281%29.png) + +Tether \(USDT\) is a fiat-pegged stablecoin that was initially built on top of Bitcoin via the Omni Layer Protocol. In September 2017, Tether announced they would be launching additional ERC-20 tokens for United States dollars on the Ethereum blockchain. + +Each Tether issued into circulation is said to be backed by a one-to-one ratio with the equivalent amount of fiat currency held in a custodial account by Tether Limited, a Hong Kong-based company with close ties to the cryptocurrency exchange, Bitfinex. + +Despite the controversy ****around ****the company's failure to provide a promised audit showing adequate reserves backing tether, USDT is still the world's largest stablecoin by market cap and currently the fourth-largest cryptocurrency after BTC, ETH and XRP. + +| Key Facts | | +|:------------- |:---------------------------------------------------------------------------------------------------------------- | +| Issued by | Tether Limited | +| Name | Tether | +| Symbol | USDT | +| Address | [0xdac17f958d2ee523a2206206994597c13d831](https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7) | +| Decimals | 6 | +| Official site | [https://tether.to/ ](https://tether.to/%20) | +| Holders | Over 1.8M addresses | + + + diff --git a/ru/core-concepts/supported-defi-platforms/README.md b/ru/core-concepts/supported-defi-platforms/README.md new file mode 100644 index 000000000..86093cb97 --- /dev/null +++ b/ru/core-concepts/supported-defi-platforms/README.md @@ -0,0 +1,30 @@ +# Поддерживаемые DeFi платформы + +**Поддерживаемые платформы** + +OUSD генерирует доход за счет размещения стейблкоинов на кредитных платформах и в улах ликвидности маркет-мейкеров. Важно понимать, что эти платформы несут технологический риск и что в случае серьезного нарушения безопасности средства могут быть потеряны. Мы предпочитаем работать с платформами, смарт-контракты которых прошли аудиты и которые, по нашему мнению, являются наиболее безопасными. + +В настоящее время мы планируем получать доход со следующих платформ: + +{% page-ref page="compound.md" %} + +В настоящее время планируются интеграции следующих платформ: + +{% page-ref page="aave.md" %} + +{% page-ref page="dydx.md" %} + +{% page-ref page="uniswap.md" %} + +{% page-ref page="curve.md" %} + +{% page-ref page="balancer.md" %} + +{% page-ref page="yearn.finance.md" %} + +Хотя DeFi очень быстро вырос, и сейчас на этих платформах размещена стоимость в миллиарды долларов, некоторые из этих проектов все еще находятся в стадии бета-тестирования и являются экспериментальными. В смарт-контрактах, на которых работают эти платформы, могут быть скрытые уязвимости, и в прошлом были понесены многомиллионные убытки, вызванные уязвимостями в приложениях Ethereum. + +Мы внимательно следим за событиями безопасности на поддерживаемых нами платформах и немедленно приступим к защите средств держателей OUSD, если обнаружим какие-либо угрозы. + + + diff --git a/ru/core-concepts/supported-defi-platforms/aave.md b/ru/core-concepts/supported-defi-platforms/aave.md new file mode 100644 index 000000000..3dfac3178 --- /dev/null +++ b/ru/core-concepts/supported-defi-platforms/aave.md @@ -0,0 +1,25 @@ +# Aave + +{% hint style="info" %} +Скоро. Aave еще не интегрирован. +{% endhint %} + +Aave - это протокол и платформа кредитования, построенные на Ethereum и запущенные в январе 2020 года создателями ETHLend. Пользователи Aave могут зарабатывать сложные проценты или занимать активы под залог. Каждый поддерживаемый актив объединен в свой собственный пул ликвидности и пользователи могут выбирать между фиксированной или переменной процентной ставкой на основанной на спросе и предложении. + +Залоговые балансы представлены ERC-20 токенами aTokens в соотношении 1:1 к базовым активам, которые они представляют. Проценты начисляются автоматически и выплачиваются кредиторам с помощью токенов aToken, а это означает, что кредиторы видят, что их баланс aToken увеличивается со временем. Пользователи могут брать активы под залог своих токенов aTokens. Токены aTokens можно свободно передавать и использовать во многих других протоколах DeFi. Токены aTokens можно в любой момент обменять на соответствующие базовые активы. + +Aave поддерживает срочные ссуды, которые представляют собой ссуды без обеспечения, при которых пользователи берут в долг и погашают остаток ссуды в рамках одной транзакции, что означает, что пользователям срочной ссуды не нужно вносить какой-либо изначальный капитал. Срочные ссуды - это комплексный продукт, предназначенный для разработчиков, который может использоваться для арбитража между несколькими протоколами DeFi. + +В настоящее время Aave управляется токеном ERC-20 LEND, который ранее был служебным токеном для ETHLend. Aave объявила о переходе к полностью децентрализованному управлению, который включает обмен токенов LEND на AAVE - новый токен управления ERC-20, с вознаграждением за стейкинг. Некоторые AAVE будут распределяться среди пользователей платформы в рамках кампании по добыче ликвидности. + +Общая заблокированная стоимость Aave \(TVL\) быстро выросла до более чем 1,2 миллиарда долларов США, что сделало его одним из крупнейших протоколов DeFi. LEND имеет оборотную рыночную капитализацию более 700 миллионов долларов США. + +Aave прошел аудит безопасности OpenZeppelin, Trail of Bits и Consensys Diligence. Aave поддерживает программу вознаграждения за поиск ошибок. + +| Ресурсы | | +|:----------------------- |:------------------------------------------------------------------------------ | +| Официальный сайт | [https://aave.com/](https://aave.com/) | +| Документы по разработке | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/aave/aave-protocol](https://github.com/aave/aave-protocol) | +| Discord | [https://discordapp.com/invite/AnSqnvV](https://discordapp.com/invite/AnSqnvV) | + diff --git a/ru/core-concepts/supported-defi-platforms/balancer.md b/ru/core-concepts/supported-defi-platforms/balancer.md new file mode 100644 index 000000000..5c6b00430 --- /dev/null +++ b/ru/core-concepts/supported-defi-platforms/balancer.md @@ -0,0 +1,27 @@ +# Balancer + +{% hint style="info" %} +Скоро. Balancer еще не интегрирован. +{% endhint %} + +Balancer - это децентрализованный протокол ликвидности и обменник на Ethereum, запущенный в марте 2020 года. Пользователи могут обменивать токены ERC-20 за комиссию или вносить токены в пулы ликвидности, чтобы получать комиссию в виде вознаграждения. + +Balancer - это автоматизированный маркет-мейкер \(AMM\), который позволяет создавать пулы ликвидности из 8 различных активов с настраиваемыми значениями. Пулы ликвидности на Balancer можно рассматривать как аналогичные биржевые инвестиционные фонды \(ETFs\) или портфели с целевыми значениями для конкретных активов. Если торговля заставляет пул отклоняться от целевого распределения значений, обменные курсы между активами в пуле изменяются. Арбитражёры могут совершать сделки, чтобы воспользоваться этим и восстановить баланс пула до распределения его целевого значения. В отличие от других AMM, ликвидность может распределяться между пулами. + +Balancer поддерживает частные пулы, где только владелец пула может вносить ликвидность; общие пулы, которые являются полностью публичными; и смарт-пулы, которые являются общими пулами, контролируемыми смарт-контрактом, который может реализовывать автоматические правила и логику. Поставщикам ликвидности выдаются токены Balancer Pool Tokens \(BPTs\), которые представляют их долю в данном пуле и комиссиях. Эти токены можно свободно передавать и обменять на предоставленные активы и начисленные комиссии. + +Эмитенты токенов, стремящиеся повысить ликвидность своих токенов, предложили поставщикам ликвидности материальные стимулы в кампаниях по добыче ликвидности. Новые эмитенты токенов также запустили свои токены в пулы Balancer. + +Balancer управляется ERC-20 токеном управления BAL. Держатели BAL могут голосовать за изменения протокола. BAL постоянно распределяется между поставщиками ликвидности, и большая часть общего предложения BAL была распределена между командой и инвесторами по непрерывному расписанию вестинга. + +Объемы торгов на Balancer часто превышают 25 миллионов долларов США в день. На момент написания, Balancer имеет заблокированную общую стоимость \(TVL\) в размере более 250 миллионов долларов, предоставленную поставщиками ликвидности. + +Balancer прошел аудит безопасности Trail of Bits и имеет программу вознаграждения за поиск ошибок. Однако в июне 2020 года Balancer подвергся серьезной хакерской атаке. + +| Ресурсы | | +|:----------------------- |:-------------------------------------------------------------------- | +| Официальный сайт | [https://balancer.finance/](https://balancer.finance/) | +| Документы по разработке | [https://docs.balancer.finance/](https://docs.balancer.finance/) | +| GitHub | [https://github.com/balancer-labs](https://github.com/balancer-labs) | +| Discord | [https://discord.gg/ARJWaeF](https://discord.gg/ARJWaeF) | + diff --git a/ru/core-concepts/supported-defi-platforms/compound.md b/ru/core-concepts/supported-defi-platforms/compound.md new file mode 100644 index 000000000..c6387d72f --- /dev/null +++ b/ru/core-concepts/supported-defi-platforms/compound.md @@ -0,0 +1,19 @@ +# Compound + +Compound - это протокол и платформа кредитования, построенные на Ethereum и запущенные в сентябре 2018 года. Пользователи могут зарабатывать сложные проценты или брать активы в кредит под залог. Каждый поддерживаемый актив объединен в свой собственный пул ликвидности, а процентные ставки автоматически корректируются в зависимости от спроса и предложения. + +Залоговые балансы представлены ERC-20 токенами cTokens, на которые автоматически начисляют проценты и с течением времени увеличивается их стоимость по сравнению с базовым активом, который они представляют. Пользователи могут брать активы под залог своих токенов cTokens. Токены cTokens можно свободно передавать и использовать во многих других протоколах DeFi. Токены cTokens можно в любой момент обменять на соответствующие базовые активы. + +Compound управляется ERC-20 токеном управления COMP. Держатели COMP могут вносить предложения и голосовать за изменения протокола или делегировать свои голоса кому-то другому. Токены COMP ежедневно распределяются пропорционально между пользователями протокола и поровну распределяются между заемщиками и кредиторами. Главными держателями токенов COMP являются команда Compound, инвесторы и консультанты. + +Общая заблокированная стоимость Compound \(TVL\) быстро выросла почти до 800 миллионов долларов США, что сделало его одним из крупнейших протоколов DeFi. COMP имеет оборотную рыночную капитализацию более 500 миллионов долларов США. + +Compound прошел несколько аудитов безопасности OpenZeppelin и Trail of Bits. Протокол Compound был официально проверен CertiK и прошел стресс-тестирование в Gauntlet. Compound поддерживает программу вознаграждения за поиск ошибок. + +| Ресурсы | | +|:----------------------- |:-------------------------------------------------------------------------------------------------------------- | +| Официальный сайт | [https://compound.finance/](https://compound.finance/) | +| Документы по разработке | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/compound-finance/compound-protocol](https://github.com/compound-finance/compound-protocol) | +| Discord | [https://discord.com/invite/cU7vmVW](https://discord.com/invite/cU7vmVW) | + diff --git a/ru/core-concepts/supported-defi-platforms/curve.md b/ru/core-concepts/supported-defi-platforms/curve.md new file mode 100644 index 000000000..872c205c0 --- /dev/null +++ b/ru/core-concepts/supported-defi-platforms/curve.md @@ -0,0 +1,25 @@ +# Curve + +{% hint style="info" %} +Скоро. Curve еще не интегрирован. +{% endhint %} + +Curve - это децентрализованный протокол ликвидности и обменник в Ethereum для стейблкоинов и оборотных BTC, запущенный в январе 2020 года. Пользователи могут переключаться между популярными стейблкоинами ERC-20 или между биткойн токенами стандарта ERC-20. Поставщики ликвидности обеспечивают торговлю и получают комиссионные. + +Curve - это автоматизированный маркет-мейкер \(AMM\), где с каждым рынком связан пул ликвидности с двумя или более активами, которые должны иметь одинаковую стоимость, например USDT, USDC, DAI и TUSD, каждый из которых является стейблкоином с привязкой к доллару США. Обменный курс между каждым стейблкоином и их средние значения определяются алгоритмом, основанным на спросе и предложении. Арбитражёры нормализуют эти обменные курсы. + +Некоторые из пулов ликвидности Curve зарабатывают дополнительные комиссии для поставщиков ликвидности в дополнение к биржевым комиссиям, получаемым от трейдеров. Curve предлагает пулы стейблкоинов, интегрированные с Compound, yearn.finance и Synthetix. Активы в каждом пуле ликвидности предоставляются этим платформам для получения дополнительной прибыли, которая передается поставщикам ликвидности этих пулов. Токены поставщика ликвидности \(LP\) выдаются участникам пула и могут быть выкуплены за их первоначально предоставленную ликвидность плюс начисленные комиссии и доход. Токены LP также могут переводиться для использования в других протоколах. + +Curve управляется CRV, токеном управления ERC-20. Держатели CRV могут голосовать за изменения протокола. Держатели CRV могут заложить свои токены, чтобы получить дополнительное количество голосов, пропорционально времени стейкинга. CRV постоянно распределяется между поставщиками ликвидности, большая часть общего предложения CRV была выделена команде и инвесторам, распределяется в соответствии с графиком вестинга. + +Объемы торгов на Curve часто превышают 50 миллионов долларов в день. На момент написания, Curve имеет общую заблокированную поставщиками ликвидности стоимость \(TVL\) более 1 миллиарда долларов. + +Curve прошла два аудита Trail of Bits и поддерживает программу поощрения ошибок. + +| Ресурсы | | +|:----------------------- |:------------------------------------------------------------------------ | +| Официальный сайт | [https://www.curve.fi/](https://uniswap.org/) | +| Документы по разработке | [https://www.curve.fi/devdocs](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/curvefi](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/9uEHakc](https://discord.com/invite/EwFs3Pp) | + diff --git a/ru/core-concepts/supported-defi-platforms/dydx.md b/ru/core-concepts/supported-defi-platforms/dydx.md new file mode 100644 index 000000000..f1f4c7915 --- /dev/null +++ b/ru/core-concepts/supported-defi-platforms/dydx.md @@ -0,0 +1,27 @@ +# dYdX + +{% hint style="info" %} +Скоро. dYdX еще не интегрирован. +{% endhint %} + +dYdX - это протокол и платформа для торговли и кредитования, построенные на Ethereum и запущенные в мае 2019 года. Пользователи могут торговать активами на децентрализованной, не связанной с хранением, бирже dYdX, или участвовать в заимствовании средств и кредитовании. Протокол кредитования позволяет осуществлять маржинальную торговлю и торговлю фьючерсами. Процентные ставки корректируются в зависимости от спроса и предложения, доступны только краткосрочные кредиты. + +Ликвидность активов, доступных для заимствования и кредитования, объединяется в пулы по типам активов. Проценты, выплачиваемые кредиторам, начисляются автоматически, и заемщики должны предоставить залог для получения кредита. + +dYdX также поддерживает срочные ссуды, которые представляют собой беззалоговые займы, когда пользователи занимают и выплачивают остаток ссуды одной транзакцией, что означает, что пользователям срочной ссуды не нужно вносить какой-либо изначальный капитал. Срочные ссуды - это комплексный продукт, предназначенный для разработчиков, который может использоваться для арбитража между несколькими протоколами DeFi. + +На момент написания этой статьи общая заблокированная сумма средств в dYdX \(TVL\) составила около 40 миллионов долларов. dYdX не имеет собственного токена. + +dYdX прошел аудит безопасности OpenZeppelin и Bramah Systems. + +| Ресурсы | | +|:----------------------- |:-------------------------------------------------------------------- | +| Официальный сайт | [https://dydx.exchange/](https://dydx.exchange/) | +| Документы по разработке | [https://docs.dydx.exchange/](https://docs.dydx.exchange/) | +| GitHub | [https://github.com/dydxprotocol/](https://github.com/dydxprotocol/) | +| Discord | [https://discord.gg/yah42Rb](https://discord.gg/yah42Rb) | + + + + + diff --git a/ru/core-concepts/supported-defi-platforms/uniswap.md b/ru/core-concepts/supported-defi-platforms/uniswap.md new file mode 100644 index 000000000..5414d09f4 --- /dev/null +++ b/ru/core-concepts/supported-defi-platforms/uniswap.md @@ -0,0 +1,27 @@ +# Uniswap + +{% hint style="info" %} +Скоро. Uniswap еще не интегрирован. +{% endhint %} + +Uniswap - это децентрализованный протокол ликвидности и обменик на Ethereum, запущенный в ноябре 2018 года. Uniswap v2 был запущен в мае 2020 года. Пользователи могут обменивать токены ERC-20 за комиссию или вносить токены в пулы ликвидности, чтобы получать комиссию в виде вознаграждения. + +Рынки на Uniswap работают как пулы ликвидности, а не как стаканы заявок. Этот тип обмена называется автоматизированный маркет-мейкер \(AMM\). Обменный курс между двумя активами определяется формулой постоянной производной и движется по кривой цен в зависимости от относительного значения каждого актива в пуле. Это побуждает арбитражёров входить в пулы ликвидности, чтобы перебалансировать относительные значения и нормализовать обменный курс. + +Трейдеры могут страдать от проскальзываний, если в данном пуле недостаточно ликвидности, они не могут быть защищены от невыгодных обменных курсов. Поставщики ликвидности могут нести временные потери, если обменный курс пула не соответствует рыночным реалиям, а арбитражёры совершают сделки по кривой ценообразования. + +Участникам пула выдаются токены Uniswap Liquidity Provider \(LP\), которые соответствуют их доле в данном пуле ликвидности. Эти токены LP можно свободно перемещать. Участники могут выйти из пулов в любое время, обменяв эти токены на предоставленные активы и начисленные комиссии. + +Эмитенты токенов, стремящиеся повысить ликвидность своих токенов, предложили поставщикам ликвидности материальные стимулы в кампаниях по добыче ликвидности. Новые эмитенты токенов также запустили свои токены в пулы Uniswap. + +Объемы торгов на Uniswap теперь превосходят объемы многих традиционных бирж и регулярно превышают 200 миллионов долларов в день. Uniswap имеет более 170 миллионов долларов в общей стоимости, заблокированной поставщиками ликвидности \(TVL)\. Uniswap не имеет собственной платформы или токена управления. + +Смарт-контракты Uniswap были проверены и официально верифицированы dapp.org. Uniswap поддерживает программу вознаграждения за поиск ошибок. + +| Ресурсы | | +|:----------------------- |:------------------------------------------------------------------------ | +| Официальный сайт | [https://uniswap.org/](https://uniswap.org/) | +| Документы по разработке | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/ru/core-concepts/supported-defi-platforms/yearn.finance.md b/ru/core-concepts/supported-defi-platforms/yearn.finance.md new file mode 100644 index 000000000..4012b1881 --- /dev/null +++ b/ru/core-concepts/supported-defi-platforms/yearn.finance.md @@ -0,0 +1,25 @@ +# Yearn.finance + +{% hint style="info" %} +Скоро. Yearn.finance еще не интегрирован. +{% endhint %} + +Yearn.finance, ранее называвшаяся iEarn.finance - это платформа агрегации доходности, построенная на Ethereum и запущенная в январе 2020 года Андре Кронье. Yearn управляет стратегиями заработка дохода и стратегий балансировки, используя сочетание автоматизации и принятия решений другими лицами от имени пользователей, которые вложили капитал. + +У Yearn есть два продукта агрегирования доходности: Earn и Vaults. Earn позволяет пользователям вносить стейблкоины или оборотных BTC в пулы ликвидности на Curve для получения комиссий и вознаграждений токенами управления. Эти активы также предоставляются в аренду на платформах, предлагающих высокую доходность и вознаграждение в виде токенов, увеличивая полученный доход. + +Vaults предлагают более автоматизированный и управляемый опыт. Пользователи депонируют активы, такие как LINK, токены поставщика ликвидности Curve или стейблкоины, и Vault объединяет эти активы вместе и развертывает стратегию получения наивысшего дохода, которую сообщество и Андре Кронье считают безопасной. Токены управления, заработанные в качестве вознаграждений, продаются за исходный депонированный актив, объединяются с другими комиссиями и автоматически переводятся в хранилище для увеличения доходности. Стратегии можно часто менять, а объединение активов вместе экономит расходы на газ для пользователей. + +Yearn управляется YFI, токеном управления на ERC-20. Держатели YFI могут проголосовать за изменения протокола после согласия заблокировать свои токены YFI на 3 дня. Токены YFI также можно заблокировать для получения доходности на портале управления. Этот доход исходит от комиссий, взимаемых с пользователей продуктов Yearn. YFI был полностью распределен между поставщиками ликвидности Curve и Balancer. Не было аллокаций ни для членов команды, ни для инвесторов. + +Общая заблокированная стоимость Yearn \(TVL\) быстро выросла до более чем 800 миллионов долларов, что сделало ее одной из крупнейших платформ DeFi. YFI имеет оборотную рыночную капитализацию более 400 миллионов долларов. + +Yearn прошел несколько аудитов безопасности и смарт-контрактов со стороны CertiK, Quantstamp, HackMD и CryptoManiacs. Yearn зарекомендовала себя как платформа, которая очень быстро запускает экспериментальные продукты и предупреждает пользователей, что их продукты находятся в стадии бета-тестирования. + +| Ресурсы | | +|:----------------------- |:-------------------------------------------------------------------- | +| Официальный сайт | [https://yearn.finance/](https://yearn.finance/) | +| Документы по разработке | [https://docs.yearn.finance/](https://docs.yearn.finance/) | +| GitHub | [https://github.com/iearn-finance](https://github.com/iearn-finance) | +| Discord | [https://discord.gg/uTmHe8r](https://discord.gg/uTmHe8r) | + diff --git a/ru/core-concepts/supported-platforms/README.md b/ru/core-concepts/supported-platforms/README.md new file mode 100644 index 000000000..7d3bb87e6 --- /dev/null +++ b/ru/core-concepts/supported-platforms/README.md @@ -0,0 +1,32 @@ +# Поддерживаемые платформы + +**Поддерживаемые платформы** + +OUSD генерирует доход за счет размещения стейблкоинов на кредитных платформах и в улах ликвидности маркет-мейкеров. Важно понимать, что эти платформы несут технологический риск и что в случае серьезного нарушения безопасности средства могут быть потеряны. Мы предпочитаем работать с платформами, смарт-контракты которых прошли аудиты и которые, по нашему мнению, являются наиболее безопасными. + +В настоящее время мы планируем получать доход со следующих платформ: + +{% page-ref page="compound.md" %} + +В настоящее время планируются интеграции следующих платформ: + +{% page-ref page="yearn.finance.md" %} + +{% page-ref page="compound.md" %} + +{% page-ref page="aave.md" %} + +{% page-ref page="dydx.md" %} + +{% page-ref page="uniswap.md" %} + +{% page-ref page="curve.md" %} + +{% page-ref page="balancer.md" %} + +Хотя рынок DeFi очень быстро вырос, и сейчас на этих платформах размещена стоимость в миллиарды долларов, некоторые из этих проектов все еще находятся в стадии бета-тестирования и являются экспериментальными. В смарт-контрактах, на которых работают эти платформы, могут быть скрытые уязвимости, и в прошлом были понесены многомиллионные убытки, вызванные уязвимостями в приложениях Ethereum. + +Мы внимательно следим за событиями безопасности на поддерживаемых нами платформах и немедленно приступим к защите средств держателей OUSD, если обнаружим какие-либо угрозы. + + + diff --git a/ru/core-concepts/supported-platforms/aave.md b/ru/core-concepts/supported-platforms/aave.md new file mode 100644 index 000000000..533ab1bae --- /dev/null +++ b/ru/core-concepts/supported-platforms/aave.md @@ -0,0 +1,25 @@ +# Aave + +{% hint style="info" %} +Скоро. Aave еще не интегрирован. +{% endhint %} + +Aave - это протокол и платформа кредитования, построенные на Ethereum и запущенные в январе 2020 года создателями ETHLend. Пользователи Aave могут зарабатывать сложные проценты или занимать активы под залог. Каждый поддерживаемый актив объединен в свой собственный пул ликвидности и пользователи могут выбирать между фиксированной или переменной процентной ставкой на основанной на спросе и предложении. + +Залоговые балансы представлены ERC-20 токенами aTokens в соотношении 1:1 к базовым активам, которые они представляют. Проценты начисляются автоматически и выплачиваются кредиторам с помощью токенов aToken, а это означает, что кредиторы видят, что их баланс aToken увеличивается со временем. Пользователи могут брать активы под залог своих токенов aTokens. Токены aTokens можно свободно передавать и использовать во многих других протоколах DeFi. Токены aTokens можно в любой момент обменять на соответствующие базовые активы. + +Aave поддерживает срочные ссуды, которые являются ссудами без обеспечения, при которых пользователи берут в долг и погашают остаток ссуды в рамках одной транзакции, что означает, что пользователям срочной ссуды не нужно вносить какой-либо изначальный капитал. Срочные ссуды - это комплексный продукт, предназначенный для разработчиков, который может использоваться для арбитража между несколькими протоколами DeFi. + +В настоящее время Aave управляется токеном ERC-20 LEND, который ранее был служебным токеном для ETHLend. Aave объявила о переходе к полностью децентрализованному управлению, который включает обмен токенов LEND на AAVE - новый токен управления ERC-20, с вознаграждением за стейкинг. Некоторые AAVE будут распределяться среди пользователей платформы в рамках кампании по добыче ликвидности. + +Общая заблокированная стоимость Aave \(TVL\) быстро выросла до более чем 1,2 миллиарда долларов США, что сделало его одним из крупнейших протоколов DeFi. LEND имеет оборотную рыночную капитализацию более 700 миллионов долларов США. + +Aave прошел аудит безопасности OpenZeppelin, Trail of Bits и Consensys Diligence. Aave поддерживает программу вознаграждения за поиск ошибок. + +| Ресурсы | | +|:----------------------- |:------------------------------------------------------------------------------ | +| Официальный сайт | [https://aave.com/](https://aave.com/) | +| Документы по разработке | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/aave/aave-protocol](https://github.com/aave/aave-protocol) | +| Discord | [https://discordapp.com/invite/AnSqnvV](https://discordapp.com/invite/AnSqnvV) | + diff --git a/ru/core-concepts/supported-platforms/balancer.md b/ru/core-concepts/supported-platforms/balancer.md new file mode 100644 index 000000000..7eddbadd8 --- /dev/null +++ b/ru/core-concepts/supported-platforms/balancer.md @@ -0,0 +1,27 @@ +# Balancer + +{% hint style="info" %} +Скоро. Balancer еще не интегрирован. +{% endhint %} + +Balancer - это децентрализованный протокол ликвидности и обменник на Ethereum, запущенный в марте 2020 года. Пользователи могут обменивать токены ERC-20, оплачивая комиссию, или вносить токены в пулы ликвидности, чтобы получать комиссию в виде вознаграждения. + +Балансировщик - это автоматизированный маркет-мейкер \(AMM\), который позволяет создавать пулы ликвидности из 8 различных активов с настраиваемыми значениями. Пулы ликвидности на Balancer можно рассматривать как аналогичные биржевые инвестиционные фонды \(ETFs\) или портфели с целевыми значениями для конкретных активов. Если торговля заставляет пул отклоняться от целевого распределения значений, обменные курсы между активами в пуле изменяются. Арбитражёры могут совершать сделки, чтобы воспользоваться этим и восстановить баланс пула до распределения его целевого значения. В отличие от других AMM, ликвидность может распределяться между пулами. + +Balancer поддерживает частные пулы, где только владелец пула может вносить ликвидность; общие пулы, которые являются полностью публичными; и смарт-пулы, которые являются общими пулами, контролируемыми смарт-контрактом, который может реализовывать автоматические правила и логику. Поставщикам ликвидности выдаются токены Balancer Pool Tokens \(BPTs\), которые представляют их долю в данном пуле и зарабатываемых комиссиях. Эти токены можно свободно передавать и обменивать на предоставленные активы и начисленные комиссии. + +Эмитенты токенов, стремящиеся повысить ликвидность своих токенов, предложили поставщикам ликвидности материальные стимулы в кампаниях по добыче ликвидности. Новые эмитенты токенов также запустили свои токены в пулы Balancer. + +Balancer управляется ERC-20 токеном управления BAL. Держатели BAL могут голосовать за изменения протокола. BAL постоянно распределяется между поставщиками ликвидности, и большая часть общего предложения BAL была распределена между командой и инвесторами по непрерывному расписанию вестинга. + +Объемы торгов на Balancer часто превышают 25 миллионов долларов США в день. На момент написания, Balancer имеет заблокированную общую стоимость \(TVL\) в размере более 250 миллионов долларов, предоставленную поставщиками ликвидности. + +Балансир прошел аудит безопасности Trail of Bits и имеет программу вознаграждения за поиск ошибок. Однако в июне 2020 года Balancer подвергся серьезной хакерской атаке. + +| Ресурсы | | +|:----------------------- |:-------------------------------------------------------------------- | +| Официальный сайт | [https://balancer.finance/](https://balancer.finance/) | +| Документы по разработке | [https://docs.balancer.finance/](https://docs.balancer.finance/) | +| GitHub | [https://github.com/balancer-labs](https://github.com/balancer-labs) | +| Discord | [https://discord.gg/ARJWaeF](https://discord.gg/ARJWaeF) | + diff --git a/ru/core-concepts/supported-platforms/compound.md b/ru/core-concepts/supported-platforms/compound.md new file mode 100644 index 000000000..43ac063dc --- /dev/null +++ b/ru/core-concepts/supported-platforms/compound.md @@ -0,0 +1,19 @@ +# Compound + +Compound - это протокол и платформа кредитования, построенные на Ethereum и запущенные в сентябре 2018 года. Пользователи могут зарабатывать сложные проценты или брать активы в кредит под залог. Каждый поддерживаемый актив объединен в свой собственный пул ликвидности, а процентные ставки автоматически корректируются в зависимости от спроса и предложения. + +Залоговые балансы представлены ERC-20 токенами cTokens, на которые автоматически начисляют проценты и с течением времени их стоимость увеличивается по сравнению с базовым активом, который они представляют. Пользователи могут брать активы под залог своих токенов cTokens. Токены cTokens можно свободно передавать и использовать во многих других протоколах DeFi. Токены cTokens можно в любой момент обменять на соответствующие базовые активы. + +Compound управляется ERC-20 токеном управления COMP. Держатели COMP могут вносить предложения и голосовать за изменения протокола или делегировать свои голоса кому-то другому. Токены COMP ежедневно распределяются пропорционально между пользователями протокола и поровну распределяются между заемщиками и кредиторами. Главными держателями токенов COMP являются команда Compound, инвесторы и консультанты. + +Общая заблокированная стоимость Compound \(TVL\) быстро выросла почти до 800 миллионов долларов США, что сделало его одним из крупнейших протоколов DeFi. COMP имеет оборотную рыночную капитализацию более 500 миллионов долларов США. + +Compound прошел несколько аудитов безопасности OpenZeppelin и Trail of Bits. Протокол Compound был официально проверен CertiK и прошел стресс-тестирование в Gauntlet. Compound поддерживает программу вознаграждения за поиск ошибок. + +| Ресурсы | | +|:----------------------- |:-------------------------------------------------------------------------------------------------------------- | +| Официальный сайт | [https://compound.finance/](https://compound.finance/) | +| Документы по разработке | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/compound-finance/compound-protocol](https://github.com/compound-finance/compound-protocol) | +| Discord | [https://discord.com/invite/cU7vmVW](https://discord.com/invite/cU7vmVW) | + diff --git a/ru/core-concepts/supported-platforms/curve.md b/ru/core-concepts/supported-platforms/curve.md new file mode 100644 index 000000000..f8ef1316b --- /dev/null +++ b/ru/core-concepts/supported-platforms/curve.md @@ -0,0 +1,25 @@ +# Curve + +{% hint style="info" %} +Скоро. Curve еще не интегрирован. +{% endhint %} + +Curve - это децентрализованный протокол ликвидности и обменник в Ethereum для стейблкоинов и оборотных BTC, запущенный в январе 2020 года. Пользователи могут переключаться между популярными стейблкоинами ERC-20 или между биткойн токенами стандарта ERC-20. Поставщики ликвидности обеспечивают торговлю и получают комиссию в качестве вознаграждения. + +Curve - это автоматизированный маркет-мейкер \(AMM\), где с каждым рынком связан пул ликвидности с двумя или более активами, которые должны иметь одинаковую стоимость, например USDT, USDC, DAI и TUSD, все из которых являются стейблкоинами с привязкой к доллару США. Обменный курс между каждым стейблкоином и их средние значения определяются алгоритмом, основанным на спросе и предложении. Арбитражёры нормализуют эти обменные курсы. + +Некоторые из пулов ликвидности Curve зарабатывают дополнительные комиссии для поставщиков ликвидности в дополнение к биржевым комиссиям, получаемым от трейдеров. Curve предлагает пулы стейблкоинов, интегрированные с Compound, yearn.finance и Synthetix. Активы в каждом пуле ликвидности предоставляются этим платформам для получения дополнительной прибыли, которая передается поставщикам ликвидности этих пулов. Токены поставщика ликвидности \(LP\) выдаются участникам пула и могут быть выкуплены за их первоначально предоставленную ликвидность плюс начисленные комиссии и доход. Токены LP также могут переводиться для использования в других протоколах. + +Curve управляется CRV, токеном управления ERC-20. Держатели CRV могут голосовать за изменения протокола. Держатели CRV могут заложить свои токены, чтобы получить дополнительное количество голосов, пропорционально времени стейкинга. CRV постоянно распределяется между поставщиками ликвидности, большая часть общего предложения CRV была выделена команде и инвесторам, распределяется в соответствии с графиком вестинга. + +Объемы торгов на Curve часто превышают 50 миллионов долларов в день. На момент написания, Curve имеет общую заблокированную поставщиками ликвидности стоимость \(TVL\) более 1 миллиарда долларов. + +Curve прошла два аудита Trail of Bits и поддерживает программу поощрения ошибок. + +| Ресурсы | | +|:----------------------- |:------------------------------------------------------------------------ | +| Официальный сайт | [https://www.curve.fi/](https://uniswap.org/) | +| Документы по разработке | [https://www.curve.fi/devdocs](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/curvefi](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/9uEHakc](https://discord.com/invite/EwFs3Pp) | + diff --git a/ru/core-concepts/supported-platforms/dydx.md b/ru/core-concepts/supported-platforms/dydx.md new file mode 100644 index 000000000..58f288eaa --- /dev/null +++ b/ru/core-concepts/supported-platforms/dydx.md @@ -0,0 +1,27 @@ +# dYdX + +{% hint style="info" %} +Скоро. dYdX еще не интегрирован. +{% endhint %} + +dYdX - это протокол и платформа для торговли и кредитования, построенные на Ethereum и запущенные в мае 2019 года. Пользователи могут торговать активами на не связанной с хранением децентрализованной бирже dYdX, или участвовать в заимствовании средств и кредитовании. Протокол кредитования позволяет осуществлять маржинальную торговлю и торговлю фьючерсами. Процентные ставки корректируются в зависимости от спроса и предложения, доступны только краткосрочные кредиты. + +Ликвидность активов, доступных для заимствования и кредитования, объединяется в пулы по типам активов. Проценты, выплачиваемые кредиторам, начисляются автоматически, и заемщики должны предоставить залог для получения кредита. + +dYdX также поддерживает срочные ссуды, которые представляют собой беззалоговые займы, когда пользователи занимают и выплачивают остаток ссуды одной транзакцией, что означает, что пользователям срочной ссуды не нужно вносить какой-либо изначальный капитал. Срочные ссуды - это комплексный продукт, предназначенный для разработчиков, который может использоваться для арбитража между несколькими протоколами DeFi. + +На момент написания этой статьи общая заблокированная сумма средств в dYdX \(TVL\) составила около 40 миллионов долларов. dYdX не имеет собственного токена. + +dYdX прошел аудит безопасности OpenZeppelin и Bramah Systems. + +| Ресурсы | | +|:----------------------- |:-------------------------------------------------------------------- | +| Официальный сайт | [https://dydx.exchange/](https://dydx.exchange/) | +| Документы по разработке | [https://docs.dydx.exchange/](https://docs.dydx.exchange/) | +| GitHub | [https://github.com/dydxprotocol/](https://github.com/dydxprotocol/) | +| Discord | [https://discord.gg/yah42Rb](https://discord.gg/yah42Rb) | + + + + + diff --git a/ru/core-concepts/supported-platforms/uniswap.md b/ru/core-concepts/supported-platforms/uniswap.md new file mode 100644 index 000000000..3f532ae0c --- /dev/null +++ b/ru/core-concepts/supported-platforms/uniswap.md @@ -0,0 +1,27 @@ +# Uniswap + +{% hint style="info" %} +Скоро. Uniswap еще не интегрирован. +{% endhint %} + +Uniswap - это децентрализованный протокол ликвидности и обменик на Ethereum, запущенный в ноябре 2018 года. Uniswap v2 был запущен в мае 2020 года. Пользователи могут обменивать токены ERC-20, оплачивая комиссию, или вносить токены в пулы ликвидности, чтобы получать комиссию в виде вознаграждения. + +Рынки на Uniswap работают как пулы ликвидности, а не как стаканы заявок. Этот тип обмена называется автоматизированный маркет-мейкер \(AMM\). Обменный курс между двумя активами определяется формулой постоянной производной и движется по кривой цен в зависимости от относительного значения каждого актива в пуле. Это побуждает арбитражёров входить в пулы ликвидности, чтобы перебалансировать относительные значения и нормализовать обменный курс. + +Трейдеры могут страдать от проскальзываний, если в данном пуле недостаточно ликвидности, они не могут быть защищены от невыгодных обменных курсов. Поставщики ликвидности могут нести временные потери, если обменный курс пула не соответствует рыночным реалиям, а арбитражёры совершают сделки по кривой ценообразования. + +Участникам пула выдаются токены Uniswap Liquidity Provider \(LP\), которые соответствуют их доле в данном пуле ликвидности. Эти токены LP можно свободно перемещать. Участники могут выйти из пулов в любое время, обменяв эти токены на предоставленные активы и начисленные комиссии. + +Эмитенты токенов, стремящиеся повысить ликвидность своих токенов, предложили поставщикам ликвидности материальные стимулы в кампаниях по добыче ликвидности. Новые эмитенты токенов также запустили свои токены в пулы Uniswap. + +Объемы торгов на Uniswap теперь превосходят объемы многих традиционных бирж и регулярно превышают 200 миллионов долларов в день. Uniswap имеет более 170 миллионов долларов в общей стоимости, заблокированной поставщиками ликвидности \(TVL)\. Uniswap не имеет собственной платформы или токена управления. + +Смарт-контракты Uniswap были проверены и официально верифицированы dapp.org. Uniswap поддерживает программу вознаграждения за поиск ошибок. + +| Ресурсы | | +|:----------------------- |:------------------------------------------------------------------------ | +| Официальный сайт | [https://uniswap.org/](https://uniswap.org/) | +| Документы по разработке | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/ru/core-concepts/supported-platforms/yearn.finance.md b/ru/core-concepts/supported-platforms/yearn.finance.md new file mode 100644 index 000000000..4012b1881 --- /dev/null +++ b/ru/core-concepts/supported-platforms/yearn.finance.md @@ -0,0 +1,25 @@ +# Yearn.finance + +{% hint style="info" %} +Скоро. Yearn.finance еще не интегрирован. +{% endhint %} + +Yearn.finance, ранее называвшаяся iEarn.finance - это платформа агрегации доходности, построенная на Ethereum и запущенная в январе 2020 года Андре Кронье. Yearn управляет стратегиями заработка дохода и стратегий балансировки, используя сочетание автоматизации и принятия решений другими лицами от имени пользователей, которые вложили капитал. + +У Yearn есть два продукта агрегирования доходности: Earn и Vaults. Earn позволяет пользователям вносить стейблкоины или оборотных BTC в пулы ликвидности на Curve для получения комиссий и вознаграждений токенами управления. Эти активы также предоставляются в аренду на платформах, предлагающих высокую доходность и вознаграждение в виде токенов, увеличивая полученный доход. + +Vaults предлагают более автоматизированный и управляемый опыт. Пользователи депонируют активы, такие как LINK, токены поставщика ликвидности Curve или стейблкоины, и Vault объединяет эти активы вместе и развертывает стратегию получения наивысшего дохода, которую сообщество и Андре Кронье считают безопасной. Токены управления, заработанные в качестве вознаграждений, продаются за исходный депонированный актив, объединяются с другими комиссиями и автоматически переводятся в хранилище для увеличения доходности. Стратегии можно часто менять, а объединение активов вместе экономит расходы на газ для пользователей. + +Yearn управляется YFI, токеном управления на ERC-20. Держатели YFI могут проголосовать за изменения протокола после согласия заблокировать свои токены YFI на 3 дня. Токены YFI также можно заблокировать для получения доходности на портале управления. Этот доход исходит от комиссий, взимаемых с пользователей продуктов Yearn. YFI был полностью распределен между поставщиками ликвидности Curve и Balancer. Не было аллокаций ни для членов команды, ни для инвесторов. + +Общая заблокированная стоимость Yearn \(TVL\) быстро выросла до более чем 800 миллионов долларов, что сделало ее одной из крупнейших платформ DeFi. YFI имеет оборотную рыночную капитализацию более 400 миллионов долларов. + +Yearn прошел несколько аудитов безопасности и смарт-контрактов со стороны CertiK, Quantstamp, HackMD и CryptoManiacs. Yearn зарекомендовала себя как платформа, которая очень быстро запускает экспериментальные продукты и предупреждает пользователей, что их продукты находятся в стадии бета-тестирования. + +| Ресурсы | | +|:----------------------- |:-------------------------------------------------------------------- | +| Официальный сайт | [https://yearn.finance/](https://yearn.finance/) | +| Документы по разработке | [https://docs.yearn.finance/](https://docs.yearn.finance/) | +| GitHub | [https://github.com/iearn-finance](https://github.com/iearn-finance) | +| Discord | [https://discord.gg/uTmHe8r](https://discord.gg/uTmHe8r) | + diff --git a/ru/core-concepts/supported-stablecoins/README.md b/ru/core-concepts/supported-stablecoins/README.md new file mode 100644 index 000000000..38afe1018 --- /dev/null +++ b/ru/core-concepts/supported-stablecoins/README.md @@ -0,0 +1,25 @@ +# Поддерживаемые стейблкоины + +**Поддерживаемые стейблкоины** + +Важно понимать, что OUSD настолько устойчив, насколько устойчивы стейблкоины, которые его обеспечивают. Любая потеря базовых активов приведет к потерям, аналогичным убыткам в OUSD. + +В настоящее время OUSD поддерживает следующие стейблкоины: + +{% content-ref url="usdt.md" %} +[usdt.md](usdt.md) +{% endcontent-ref %} + +{% content-ref url="usdc.md" %} +[usdc.md](usdc.md) +{% endcontent-ref %} + +{% content-ref url="dai.md" %} +[dai.md](dai.md) +{% endcontent-ref %} + +None of these stablecoins are perfect, but we selected them because of their widespread usage. While these stablecoins have lost their USD peg on multiple occasions, they have demonstrated resiliency in eventually getting back to their 1 USD targets. + +It is important to note that all these stablecoins introduce non-trivial counter-party risk. Tether, in particular, has had well-documented banking troubles and regulatory challenges. In addition, both USDT and USDC have backdoors that grant their issuers the power to freeze money in their holder's wallets. While DAI does not have any direct backdoors, its assets can also be negatively impacted since USDC and USDT are accepted as collateral for minting DAI. + +Despite these concerns, there are already billions of dollars betting on the security of these stablecoins. It is possible that additional stablecoins will be added to the protocol over time. Support may also be removed if any of these stablecoins prove to be too unreliable or put OUSD holder's funds in jeopardy. diff --git a/ru/core-concepts/supported-stablecoins/dai.md b/ru/core-concepts/supported-stablecoins/dai.md new file mode 100644 index 000000000..2e131dfdd --- /dev/null +++ b/ru/core-concepts/supported-stablecoins/dai.md @@ -0,0 +1,19 @@ +# DAI + +![](../../.gitbook/assets/dai.png) + +Dai - это стейблкоин с привязкой к фиатной валюте, запущенный в качестве токена ERC-20 на блокчейне Ethereum в декабре 2017 года. A major upgrade from single-collateral Dai (SAI) to multi-collateral Dai (DAI) was completed in November 2019. Dai привязан к доллару США. + +Dai is minted by users locking up crypto assets such as ETH or USDC as collateral in a collateralized debt position (CDP) called a vault. Ранее в залог принимался только ETH. Резервы и состояние каждого хранилища можно просмотреть в блокчейне в режиме реального времени. Состояние этих хранилищ и стейблкоина Dai тщательно контролируется. + +Dai - третий по величине стейблкоин в мире с оборотом более 400 миллионов долларов. Кроме того, cDAI и aDAI, синтетические версии Dai на кредитных платформах Compound и Aave, имеют общий оборот более 600 миллионов долларов. + +| Ключевые факты | | +| ---------------- | ------------------------------------------------------------------------------------------------------------------- | +| Эмитирован | MakerDAO | +| Название | Dai | +| Символ | DAI | +| Адрес | [0x6b175474e89094c44da98b954eedeac495271d0f](https://etherscan.io/token/0x6b175474e89094c44da98b954eedeac495271d0f) | +| Разрядность | 18 | +| Официальный сайт | [https://makerdao.com/](https://makerdao.com) | +| Держатели | Over 380k addresses | diff --git a/ru/core-concepts/supported-stablecoins/usdc.md b/ru/core-concepts/supported-stablecoins/usdc.md new file mode 100644 index 000000000..4f5c62497 --- /dev/null +++ b/ru/core-concepts/supported-stablecoins/usdc.md @@ -0,0 +1,20 @@ +# USDC + +![](../../.gitbook/assets/usdc-coin-bd351fb779 (1).png) + +USD Coin (USDC) is a fiat-pegged stablecoin launched as a ERC-20 token on the Ethereum blockchain in October 2018. USDC привязан к доллару США и может быть легко выкуплен за доллары США. + +Каждый USDC обеспечен в соотношении 1:1 с эквивалентной суммой фиатной валюты на счетах ответственного хранения, открытыми членами Center - консорциума, основанного Circle и Coinbase. Члены Центра - это регулируемые финансовые учреждения, расположенные в США. Ежемесячный аудит запасов публикует Grant Thornton LLP. + +USDC является вторым по величине стейблкоином в мире после USDT, и его оборот быстро превысил 1 миллиард долларов. Тем не менее, USDC по-прежнему сильно отстает от USDT, который находится в обращении на сумму более 12 миллиардов долларов. + +| Ключевые факты | | +| ---------------- | ------------------------------------------------------------------------------------------------------------------- | +| Эмитирован | Centre | +| Название | USD Coin | +| Символ | USDC | +| Адрес | [0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48](https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48) | +| Разрядность | 6 | +| Официальный сайт | [https://www.centre.io/usdc](https://www.centre.io/usdc) | +| Держатели | Over 1M addresses | + diff --git a/ru/core-concepts/supported-stablecoins/usdt.md b/ru/core-concepts/supported-stablecoins/usdt.md new file mode 100644 index 000000000..a966af325 --- /dev/null +++ b/ru/core-concepts/supported-stablecoins/usdt.md @@ -0,0 +1,20 @@ +# USDT + +![](../../.gitbook/assets/image (1).png) + +Tether (USDT) is a fiat-pegged stablecoin that was initially built on top of Bitcoin via the Omni Layer Protocol. В сентябре 2017 года Tether объявил, что они будут запускать дополнительные токены ERC-20 за доллары США на блокчейне Ethereum. + +Каждый выпущенный в обращение Tether, как утверждается, обеспечен в соотношении один к одному эквивалентным количеством фиатной валюты, хранящейся на депозитарном счете Tether Limited, гонконгской компании, тесно связанной с биржей криптовалют Bitfinex. + +Despite the controversy **** around **** the company's failure to provide a promised audit showing adequate reserves backing tether, USDT is still the world's largest stablecoin by market cap and currently the fourth-largest cryptocurrency after BTC, ETH and XRP. + +| Ключевые факты | | +| ---------------- | ---------------------------------------------------------------------------------------------------------------- | +| Эмитирован | Tether Limited | +| Название | Tether | +| Символ | USDT | +| Адрес | [0xdac17f958d2ee523a2206206994597c13d831](https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7) | +| Разрядность | 6 | +| Официальный сайт | [https://tether.to/ ](https://tether.to) | +| Держатели | Over 3.4M addresses | + diff --git a/ru/core-concepts/supported-strategies/README.md b/ru/core-concepts/supported-strategies/README.md new file mode 100644 index 000000000..f3582fc09 --- /dev/null +++ b/ru/core-concepts/supported-strategies/README.md @@ -0,0 +1,27 @@ +# Поддерживаемые стратегии + +**Поддерживаемые DeFi платформы** + +OUSD генерирует доход за счет размещения стейблкоинов на кредитных платформах и в пулах ликвидности маркет-мейкеров. Важно понимать, что эти платформы несут технологический риск и что в случае серьезного нарушения безопасности средства могут быть потеряны. Мы предпочитаем работать с платформами, смарт-контракты которых прошли аудиты и которые, по нашему мнению, являются наиболее безопасными. + +Currently, OUSD earns yield from the following platform(s): + +{% content-ref url="compound.md" %} +[compound.md](compound.md) +{% endcontent-ref %} + +{% content-ref url="aave.md" %} +[aave.md](aave.md) +{% endcontent-ref %} + +{% content-ref url="curve.md" %} +[curve.md](curve.md) +{% endcontent-ref %} + +{% content-ref url="convex.md" %} +[convex.md](convex.md) +{% endcontent-ref %} + +Although DeFi has grown very quickly and there are now billions of dollars worth of value deposited on these platforms, several of these projects are still in beta and are highly experimental. There may be hidden vulnerabilities in the smart contracts that power these platforms, and there have been multi-million dollar losses caused by vulnerabilities in Ethereum applications in the past. + +We closely monitor security events on the platforms we support and will immediately move to secure OUSD holder funds if we identify any threats. diff --git a/ru/core-concepts/supported-strategies/aave.md b/ru/core-concepts/supported-strategies/aave.md new file mode 100644 index 000000000..a45d852e1 --- /dev/null +++ b/ru/core-concepts/supported-strategies/aave.md @@ -0,0 +1,20 @@ +# Aave + +Aave - это протокол и платформа кредитования, построенные на Ethereum и запущенные в январе 2020 года создателями ETHLend. Пользователи Aave могут зарабатывать сложные проценты или занимать активы под залог. Каждый поддерживаемый актив объединен в свой собственный пул ликвидности и пользователи могут выбирать между фиксированной или переменной процентной ставкой на основанной на спросе и предложении. + +Залоговые балансы представлены ERC-20 токенами aTokens в соотношении 1:1 к базовым активам, которые они представляют. Проценты начисляются автоматически и выплачиваются кредиторам с помощью токенов aToken, а это означает, что кредиторы видят, что их баланс aToken увеличивается со временем. Пользователи могут брать активы под залог своих токенов aTokens. Токены aTokens можно свободно передавать и использовать во многих других протоколах DeFi. Токены aTokens можно в любой момент обменять на соответствующие базовые активы. + +Aave поддерживает срочные ссуды, которые являются ссудами без обеспечения, при которых пользователи берут в долг и погашают остаток ссуды в рамках одной транзакции, что означает, что пользователям срочной ссуды не нужно вносить какой-либо изначальный капитал. Срочные ссуды - это комплексный продукт, предназначенный для разработчиков, который может использоваться для арбитража между несколькими протоколами DeFi. + +Aave's governance token was formerly called LEND which was the utility token for ETHLend. As part of their transition to fully decentralized governance, LEND holders were able to exchange LEND for AAVE, a new ERC-20 governance token with staking rewards. Some AAVE tokens have been distributed to users of the platform in a liquidity mining campaign. + +Aave's total value locked (TVL) has quickly grown to over $15.5 billion, making it the largest DeFi protocol at the time of writing. LEND has a circulating market cap of over $5.3 billion. + +Aave прошел аудит безопасности OpenZeppelin, Trail of Bits и Consensys Diligence. Aave поддерживает программу вознаграждения за поиск ошибок. + +| Ресурсы | | +| ----------------------- | ------------------------------------------------------------------------------ | +| Официальный сайт | [https://aave.com/](https://aave.com) | +| Документы по разработке | [http://docs.aave.com/](http://docs.aave.com) | +| GitHub | [https://github.com/aave/aave-protocol](https://github.com/aave/aave-protocol) | +| Discord | [https://aave.com/discord](https://aave.com/discord) | diff --git a/ru/core-concepts/supported-strategies/balancer.md b/ru/core-concepts/supported-strategies/balancer.md new file mode 100644 index 000000000..5d89ea972 --- /dev/null +++ b/ru/core-concepts/supported-strategies/balancer.md @@ -0,0 +1,27 @@ +# Balancer + +{% hint style="info" %} +Скоро. Balancer еще не интегрирован. +{% endhint %} + +Balancer - это децентрализованный протокол ликвидности и обменник на Ethereum, запущенный в марте 2020 года. Пользователи могут обменивать токены ERC-20, оплачивая комиссию, или вносить токены в пулы ликвидности, чтобы получать комиссию в виде вознаграждения. + +Балансировщик - это автоматизированный маркет-мейкер \(AMM\), который позволяет создавать пулы ликвидности из 8 различных активов с настраиваемыми значениями. Пулы ликвидности на Balancer можно рассматривать как аналогичные биржевые инвестиционные фонды \(ETFs\) или портфели с целевыми значениями для конкретных активов. Если торговля заставляет пул отклоняться от целевого распределения значений, обменные курсы между активами в пуле изменяются. Арбитражёры могут совершать сделки, чтобы воспользоваться этим и восстановить баланс пула до распределения его целевого значения. В отличие от других AMM, ликвидность может распределяться между пулами. + +Balancer поддерживает частные пулы, где только владелец пула может вносить ликвидность; общие пулы, которые являются полностью публичными; и смарт-пулы, которые являются общими пулами, контролируемыми смарт-контрактом, который может реализовывать автоматические правила и логику. Поставщикам ликвидности выдаются токены Balancer Pool Tokens \(BPTs\), которые представляют их долю в данном пуле и зарабатываемых комиссиях. Эти токены можно свободно передавать и обменивать на предоставленные активы и начисленные комиссии. + +Эмитенты токенов, стремящиеся повысить ликвидность своих токенов, предложили поставщикам ликвидности материальные стимулы в кампаниях по добыче ликвидности. Новые эмитенты токенов также запустили свои токены в пулы Balancer. + +Balancer управляется ERC-20 токеном управления BAL. Держатели BAL могут голосовать за изменения протокола. BAL постоянно распределяется между поставщиками ликвидности, и большая часть общего предложения BAL была распределена между командой и инвесторами по непрерывному расписанию вестинга. + +Объемы торгов на Balancer часто превышают 25 миллионов долларов США в день. На момент написания, Balancer имеет заблокированную общую стоимость \(TVL\) в размере более 250 миллионов долларов, предоставленную поставщиками ликвидности. + +Balancer прошел аудит безопасности Trail of Bits и имеет программу вознаграждения за поиск ошибок. Однако в июне 2020 года Balancer подвергся серьезной хакерской атаке. + +| Ресурсы | | +|:----------------------- |:-------------------------------------------------------------------- | +| Официальный сайт | [https://balancer.finance/](https://balancer.finance/) | +| Документы по разработке | [https://docs.balancer.finance/](https://docs.balancer.finance/) | +| GitHub | [https://github.com/balancer-labs](https://github.com/balancer-labs) | +| Discord | [https://discord.gg/ARJWaeF](https://discord.gg/ARJWaeF) | + diff --git a/ru/core-concepts/supported-strategies/compound.md b/ru/core-concepts/supported-strategies/compound.md new file mode 100644 index 000000000..b32216b50 --- /dev/null +++ b/ru/core-concepts/supported-strategies/compound.md @@ -0,0 +1,18 @@ +# Compound + +Compound - это протокол и платформа кредитования, построенные на Ethereum и запущенные в сентябре 2018 года. Пользователи могут зарабатывать сложные проценты или брать активы в кредит под залог. Каждый поддерживаемый актив объединен в свой собственный пул ликвидности, а процентные ставки автоматически корректируются в зависимости от спроса и предложения. + +Залоговые балансы представлены ERC-20 токенами cTokens, на которые автоматически начисляют проценты и с течением времени их стоимость увеличивается по сравнению с базовым активом, который они представляют. Пользователи могут брать активы под залог своих токенов cTokens. Токены cTokens можно свободно передавать и использовать во многих других протоколах DeFi. Токены cTokens можно в любой момент обменять на соответствующие базовые активы. + +Compound управляется ERC-20 токеном управления COMP. Держатели COMP могут вносить предложения и голосовать за изменения протокола или делегировать свои голоса кому-то другому. COMP tokens are awarded pro-rata to users of the protocol daily, split equally between borrowers and lenders. Главными держателями токенов COMP являются команда Compound, инвесторы и консультанты. + +Compound's total value locked (TVL) has quickly grown to over $10 billion, making it one of the largest DeFi protocols. COMP has a circulating market cap of over $2.5 billion. + +Compound прошел несколько аудитов безопасности OpenZeppelin и Trail of Bits. Протокол Compound был официально проверен CertiK и прошел стресс-тестирование в Gauntlet. Compound поддерживает программу вознаграждения за поиск ошибок. + +| Ресурсы | | +| ----------------------- | -------------------------------------------------------------------------------------------------------------- | +| Официальный сайт | [https://compound.finance/](https://compound.finance) | +| Документы по разработке | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/compound-finance/compound-protocol](https://github.com/compound-finance/compound-protocol) | +| Discord | [https://discord.com/invite/cU7vmVW](https://discord.com/invite/cU7vmVW) | diff --git a/ru/core-concepts/supported-strategies/convex.md b/ru/core-concepts/supported-strategies/convex.md new file mode 100644 index 000000000..771280a68 --- /dev/null +++ b/ru/core-concepts/supported-strategies/convex.md @@ -0,0 +1,18 @@ +# Convex + +Convex is an aggregation platform for Curve that launched in May 2021. Convex allows liquidity providers on Curve to earn boosted CRV rewards without having to vote-lock CRV. Convex vote-locks CRV on behalf of users and distributes boosted CRV rewards to them. Convex passes on trading fees earned on Curve to users as well. + +Convex also rewards users with their own ERC-20 governance token, CVX. Convex supports both CRV and CVX staking for additional rewards. Vote-locking CVX is required to participate in Convex governance. + +Convex is one of the few protocols whitelisted to participate in Curve governance and controls a huge amount of vote-locked CRV, making them one of the biggest players in Curve governance. A large proportion of liquidity provided on Curve is now done through Convex. Convex has a Total Value Locked (TVL) of over $15.4 billion in deposits at the time of writing. + +Convex has been audited by MixBytes. + +| | | +| -------------- | ---------------------------------------------------------------- | +| Resources | | +| Official site | [https://www.convexfinance.com](https://www.convexfinance.com) | +| Developer docs | [https://docs.convexfinance.com](https://docs.convexfinance.com) | +| GitHub | [https://github.com/convex-eth](https://github.com/convex-eth) | +| Discord | [https://discord.gg/uAwvZfs9qU](https://discord.gg/uAwvZfs9qU) | + diff --git a/ru/core-concepts/supported-strategies/curve.md b/ru/core-concepts/supported-strategies/curve.md new file mode 100644 index 000000000..e821d8c9a --- /dev/null +++ b/ru/core-concepts/supported-strategies/curve.md @@ -0,0 +1,20 @@ +# Curve + +Curve - это децентрализованный протокол ликвидности и обменник в Ethereum для стейблкоинов и оборотных BTC, запущенный в январе 2020 года. Пользователи могут переключаться между популярными стейблкоинами ERC-20 или между биткойн токенами стандарта ERC-20. Поставщики ликвидности обеспечивают торговлю и получают комиссию в качестве вознаграждения. + +Curve is an Automated Market Maker (AMM) where each market has an associated liquidity pool with two or more assets that should have the same value, like USDT, USDC, DAI and TUSD, which are all US dollar pegged stablecoins. Обменный курс между каждым стейблкоином и их средние значения определяются алгоритмом, основанным на спросе и предложении. Арбитражёры нормализуют эти обменные курсы. + +Некоторые из пулов ликвидности Curve зарабатывают дополнительные комиссии для поставщиков ликвидности в дополнение к биржевым комиссиям, получаемым от трейдеров. Curve предлагает пулы стейблкоинов, интегрированные с Compound, yearn.finance и Synthetix. Активы в каждом пуле ликвидности предоставляются этим платформам для получения дополнительной прибыли, которая передается поставщикам ликвидности этих пулов. Liquidity Provider (LP) tokens are given to pool participants and can be redeemed for their initial liquidity supplied plus accrued fees and yield. Токены LP также могут переводиться для использования в других протоколах. + +Curve управляется CRV, токеном управления ERC-20. Держатели CRV могут голосовать за изменения протокола. CRV holders can stake or "vote-lock" their tokens for additional voting power proportional to time staked. Vote-locking CRV also significantly boosts liquidity provider rewards. CRV is continuously awarded to liquidity providers and a large portion of the total supply of CRV was allocated to the team and investors on a continuous vesting schedule. + +Curve has a Total Value Locked (TVL) of over $20.4 billion by liquidity providers at the time of writing. Hundreds of millions of dollars of trading volume are generated on Curve every day. + +Curve прошла два аудита Trail of Bits и поддерживает программу поощрения ошибок. + +| Ресурсы | | +| ----------------------- | ------------------------------------------------------------------------ | +| Официальный сайт | [https://www.curve.fi/](https://www.curve.fi) | +| Документы по разработке | [https://www.curve.fi/devdocs](https://www.curve.fi/devdocs) | +| GitHub | [https://github.com/curvefi](https://github.com/curvefi) | +| Discord | [https://discord.com/invite/9uEHakc](https://discord.com/invite/9uEHakc) | diff --git a/ru/core-concepts/supported-strategies/dydx.md b/ru/core-concepts/supported-strategies/dydx.md new file mode 100644 index 000000000..0ca941ce6 --- /dev/null +++ b/ru/core-concepts/supported-strategies/dydx.md @@ -0,0 +1,27 @@ +# dYdX + +{% hint style="info" %} +Скоро. dYdX еще не интегрирован. +{% endhint %} + +dYdX - это протокол и платформа для торговли и кредитования, построенные на Ethereum и запущенные в мае 2019 года. Пользователи могут торговать активами на не связанной с хранением децентрализованной бирже dYdX, или участвовать в заимствовании средств и кредитовании. Протокол кредитования позволяет осуществлять маржинальную торговлю и торговлю фьючерсами. Процентные ставки корректируются в зависимости от спроса и предложения, доступны только краткосрочные кредиты. + +Ликвидность активов, доступных для заимствования и кредитования, объединяется в пулы по типам активов. Проценты, выплачиваемые кредиторам, начисляются автоматически, и заемщики должны предоставить залог для получения кредита. + +dYdX также поддерживает срочные займы, которые представляют собой беззалоговые ссуды, когда пользователи занимают и выплачивают остаток ссуды одной транзакцией, что означает, что пользователям срочной ссуды не нужно вносить какой-либо изначальный капитал. Срочные ссуды - это комплексный продукт, предназначенный для разработчиков, который может использоваться для арбитража между несколькими протоколами DeFi. + +На момент написания этой статьи общая заблокированная сумма средств в dYdX \(TVL\) составила около 40 миллионов долларов. dYdX не имеет собственного токена. + +dYdX прошел аудит безопасности OpenZeppelin и Bramah Systems. + +| Ресурсы | | +|:----------------------- |:-------------------------------------------------------------------- | +| Официальный сайт | [https://dydx.exchange/](https://dydx.exchange/) | +| Документы по разработке | [https://docs.dydx.exchange/](https://docs.dydx.exchange/) | +| GitHub | [https://github.com/dydxprotocol/](https://github.com/dydxprotocol/) | +| Discord | [https://discord.gg/yah42Rb](https://discord.gg/yah42Rb) | + + + + + diff --git a/ru/core-concepts/supported-strategies/uniswap.md b/ru/core-concepts/supported-strategies/uniswap.md new file mode 100644 index 000000000..3f532ae0c --- /dev/null +++ b/ru/core-concepts/supported-strategies/uniswap.md @@ -0,0 +1,27 @@ +# Uniswap + +{% hint style="info" %} +Скоро. Uniswap еще не интегрирован. +{% endhint %} + +Uniswap - это децентрализованный протокол ликвидности и обменик на Ethereum, запущенный в ноябре 2018 года. Uniswap v2 был запущен в мае 2020 года. Пользователи могут обменивать токены ERC-20, оплачивая комиссию, или вносить токены в пулы ликвидности, чтобы получать комиссию в виде вознаграждения. + +Рынки на Uniswap работают как пулы ликвидности, а не как стаканы заявок. Этот тип обмена называется автоматизированный маркет-мейкер \(AMM\). Обменный курс между двумя активами определяется формулой постоянной производной и движется по кривой цен в зависимости от относительного значения каждого актива в пуле. Это побуждает арбитражёров входить в пулы ликвидности, чтобы перебалансировать относительные значения и нормализовать обменный курс. + +Трейдеры могут страдать от проскальзываний, если в данном пуле недостаточно ликвидности, они не могут быть защищены от невыгодных обменных курсов. Поставщики ликвидности могут нести временные потери, если обменный курс пула не соответствует рыночным реалиям, а арбитражёры совершают сделки по кривой ценообразования. + +Участникам пула выдаются токены Uniswap Liquidity Provider \(LP\), которые соответствуют их доле в данном пуле ликвидности. Эти токены LP можно свободно перемещать. Участники могут выйти из пулов в любое время, обменяв эти токены на предоставленные активы и начисленные комиссии. + +Эмитенты токенов, стремящиеся повысить ликвидность своих токенов, предложили поставщикам ликвидности материальные стимулы в кампаниях по добыче ликвидности. Новые эмитенты токенов также запустили свои токены в пулы Uniswap. + +Объемы торгов на Uniswap теперь превосходят объемы многих традиционных бирж и регулярно превышают 200 миллионов долларов в день. Uniswap имеет более 170 миллионов долларов в общей стоимости, заблокированной поставщиками ликвидности \(TVL)\. Uniswap не имеет собственной платформы или токена управления. + +Смарт-контракты Uniswap были проверены и официально верифицированы dapp.org. Uniswap поддерживает программу вознаграждения за поиск ошибок. + +| Ресурсы | | +|:----------------------- |:------------------------------------------------------------------------ | +| Официальный сайт | [https://uniswap.org/](https://uniswap.org/) | +| Документы по разработке | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/ru/core-concepts/supported-strategies/yearn.finance.md b/ru/core-concepts/supported-strategies/yearn.finance.md new file mode 100644 index 000000000..4012b1881 --- /dev/null +++ b/ru/core-concepts/supported-strategies/yearn.finance.md @@ -0,0 +1,25 @@ +# Yearn.finance + +{% hint style="info" %} +Скоро. Yearn.finance еще не интегрирован. +{% endhint %} + +Yearn.finance, ранее называвшаяся iEarn.finance - это платформа агрегации доходности, построенная на Ethereum и запущенная в январе 2020 года Андре Кронье. Yearn управляет стратегиями заработка дохода и стратегий балансировки, используя сочетание автоматизации и принятия решений другими лицами от имени пользователей, которые вложили капитал. + +У Yearn есть два продукта агрегирования доходности: Earn и Vaults. Earn позволяет пользователям вносить стейблкоины или оборотных BTC в пулы ликвидности на Curve для получения комиссий и вознаграждений токенами управления. Эти активы также предоставляются в аренду на платформах, предлагающих высокую доходность и вознаграждение в виде токенов, увеличивая полученный доход. + +Vaults предлагают более автоматизированный и управляемый опыт. Пользователи депонируют активы, такие как LINK, токены поставщика ликвидности Curve или стейблкоины, и Vault объединяет эти активы вместе и развертывает стратегию получения наивысшего дохода, которую сообщество и Андре Кронье считают безопасной. Токены управления, заработанные в качестве вознаграждений, продаются за исходный депонированный актив, объединяются с другими комиссиями и автоматически переводятся в хранилище для увеличения доходности. Стратегии можно часто менять, а объединение активов вместе экономит расходы на газ для пользователей. + +Yearn управляется YFI, токеном управления на ERC-20. Держатели YFI могут проголосовать за изменения протокола после согласия заблокировать свои токены YFI на 3 дня. Токены YFI также можно заблокировать для получения доходности на портале управления. Этот доход исходит от комиссий, взимаемых с пользователей продуктов Yearn. YFI был полностью распределен между поставщиками ликвидности Curve и Balancer. Не было аллокаций ни для членов команды, ни для инвесторов. + +Общая заблокированная стоимость Yearn \(TVL\) быстро выросла до более чем 800 миллионов долларов, что сделало ее одной из крупнейших платформ DeFi. YFI имеет оборотную рыночную капитализацию более 400 миллионов долларов. + +Yearn прошел несколько аудитов безопасности и смарт-контрактов со стороны CertiK, Quantstamp, HackMD и CryptoManiacs. Yearn зарекомендовала себя как платформа, которая очень быстро запускает экспериментальные продукты и предупреждает пользователей, что их продукты находятся в стадии бета-тестирования. + +| Ресурсы | | +|:----------------------- |:-------------------------------------------------------------------- | +| Официальный сайт | [https://yearn.finance/](https://yearn.finance/) | +| Документы по разработке | [https://docs.yearn.finance/](https://docs.yearn.finance/) | +| GitHub | [https://github.com/iearn-finance](https://github.com/iearn-finance) | +| Discord | [https://discord.gg/uTmHe8r](https://discord.gg/uTmHe8r) | + diff --git a/ru/core-concepts/wrapped-ousd.md b/ru/core-concepts/wrapped-ousd.md new file mode 100644 index 000000000..bea00ee4b --- /dev/null +++ b/ru/core-concepts/wrapped-ousd.md @@ -0,0 +1,31 @@ +# Wrapped OUSD + +Wrapped OUSD provides a non-rebasing version of OUSD that still earns yield. This makes it easier to use OUSD as a building block for other contracts and it may provide tax benefits in some jurisdictions. + +![Two flavors, up only](https://cdn-images-1.medium.com/max/1600/1\*cqRG-8-64XYx9QChoMxk3g.png) + +### How wrapped OUSD works + +When you wrap OUSD, you get back a fixed number of wOUSD tokens. This number will not go up - you will have the same number of wOUSD tokens tomorrow as you have today. However, the number of OUSD tokens that you can unwrap will go up over time. + +For example, if you wrap 10,000 OUSD, you might receive 9,423 wOUSD. If you hold for a while, you will still have 9,423 wOUSD, but when you unwrap the wOUSD, you receive 11,500 OUSD. + +Both OUSD and wOUSD earn at the same rate and can be transferred just like any other ERC-20 token. wOUSD is one of the first implementations of [EIP-4626](https://eips.ethereum.org/EIPS/eip-4626), which is an extension on ERC-20 that provides basic functionality for depositing and withdrawing tokens and reading balances on a tokenized vault. wOUSD was independently [audited by Solidified](https://github.com/OriginProtocol/security/blob/3dc8c1dec2f6fbf4f7d0bdf92408f79262624647/audits/Solidified%20-%20OGV,%20wOUSD,%20and%20ERC721a%20-%20May%202022.pdf) in May 2022 and is ready for production use. + +### Wrapping + +If you don’t already have OUSD, you can buy it from Gate.io, KuCoin, Curve, Uniswap, or [get it directly from the OUSD DApp](https://www.youtube.com/watch?v=UabjvL-7iu4). + +Once you have OUSD in your wallet, visit [ousd.com/wrap](https://ousd.com/wrap) and follow these steps: + +1. Connect your wallet +2. Enter the amount of OUSD that you want to wrap +3. Submit the allowance for the wOUSD contract to use your OUSD +4. Submit the transaction to wrap your OUSD + +![ousd.com/wrap](https://cdn-images-1.medium.com/max/1600/1\*57fSZSSlzebhpIl8R4UqUQ.png) + +### Unwrapping + +Unwrapping your OUSD does not require any approvals since you already hold the wOUSD in your wallet. There's also no minimum term or lock-up period. You can use the same form shown above and just click the arrow to flip it to unwrap mode. This form calls the `redeem` function to unwrap a spcific amount of wOUSD. You can also [use Etherscan](https://etherscan.io/address/0xd2af830e8cbdfed6cc11bab697bb25496ed6fa62#writeProxyContract) to call the `withdraw` function if you prefer to specify the amount of OUSD that you want to be taken out. + diff --git a/ru/core-concepts/yield-generation/README.md b/ru/core-concepts/yield-generation/README.md new file mode 100644 index 000000000..4ad4f2d1d --- /dev/null +++ b/ru/core-concepts/yield-generation/README.md @@ -0,0 +1,30 @@ +# Генерирование дохода + +**Автоматизированное получение прибыли** + +While the Cambrian explosion of new lending and automated market maker pools has fueled total value locked (TVL), it has also made it increasingly challenging for yield farmers to manually allocate capital in efficient and optimal ways. + +[Yearn](https://yearn.finance) has demonstrated that smart contracts can automate the rebalancing of funds across various strategies to optimally earn lending interest, market-making fees, and rewards tokens. Со временем будут внедрены новые стратегии, которые увеличивают прибыль при минимизации рисков и зависимостей. + +![Automated yield farming on the OUSD protocol](../../.gitbook/assets/ousd_earnings_graphic.png) + +OUSD использует следующие высокоуровневые стратегии для получения дохода: + +{% content-ref url="lending.md" %} +[lending.md](lending.md) +{% endcontent-ref %} + +{% content-ref url="market-making.md" %} +[market-making.md](market-making.md) +{% endcontent-ref %} + +{% content-ref url="rewards.md" %} +[rewards.md](rewards.md) +{% endcontent-ref %} + +OUSD is able to generate higher yields than competing protocols due to a combination of important design decisions that amplify the rewards that are returned to OUSD holders: + +* Плата за выход возвращается в пул, вознаграждая долгосрочных держателей +* Ценовые оракулы предпочитают группу, а не отдельного человека, опять же, вознаграждая долгосрочных владельцев +* Чтобы получать доход, смарт-контракты необходимо подписывать вручную. Это позволяет протоколу задействовать больше капитала, чем это было бы возможно в противном случае. +* Умные стратегии уравновешивают риск и вознаграждение более эффективно, чем вложение капитала в любую одну базовую стратегию. diff --git a/ru/core-concepts/yield-generation/lending.md b/ru/core-concepts/yield-generation/lending.md new file mode 100644 index 000000000..14351e794 --- /dev/null +++ b/ru/core-concepts/yield-generation/lending.md @@ -0,0 +1,26 @@ +# Кредитование + +**Из банковской сферы в не банковскую** + +Платформы кредитования DeFi позволяют пользователям давать в кредит и брать в долг криптоактивы без посредников. И кредиторы, и заемщики получают больше от своей криптовалюты. Кредиторы получают проценты, а заемщики вносят криптовалюту в качестве залога, чтобы получить доступ к кредиту без традиционных банковских проблем. Платформы кредитования DeFi в настоящее время обеспечивают гораздо более высокую доходность для кредиторов, чем на традиционных рынках. + +OUSD интегрируется с кредитными платформами DeFi, которые предоставляют займы с залогом, стоимость которого выше суммы кредита. Залоги, стоимость которых выше суммы кредита в сочетании с разумными правилами ликвидации обеспечивает рациональный уровень безопасности для кредиторов. Aave также дополнительно обеспечивает свои кредитные пулы токенами AAVE соответственно, что еще больше снижает риск. + +OUSD интегрируется с ведущими поставщиками кредитных услуг, которые имеют проверенный послужной список, проверенные смарт-контракты и успешно ссудили сотни миллионов долларов без каких-либо проблем. В настоящее время мы интегрируем следующие кредитные платформы: + +{% content-ref url="../supported-strategies/compound.md" %} +[compound.md](../supported-strategies/compound.md) +{% endcontent-ref %} + +{% content-ref url="../supported-strategies/aave.md" %} +[aave.md](../supported-strategies/aave.md) +{% endcontent-ref %} + + + + + + + + + diff --git a/ru/core-concepts/yield-generation/market-making.md b/ru/core-concepts/yield-generation/market-making.md new file mode 100644 index 000000000..3f003fb76 --- /dev/null +++ b/ru/core-concepts/yield-generation/market-making.md @@ -0,0 +1,22 @@ +# Маркет-мейкинг + +**Владейте долей на децентрализованных биржах** + +Automated market makers (AMMs) have quickly risen as the preferred form of decentralized exchange on the Ethereum network. Частично это связано со сложностью поддержки стакана заявок в DEXах на Ethereum 1.0, который может конкурировать с быстрой работой и низким проскальзыванием на централизованных биржах. Кроме того, такие AMM, как Uniswap, относительно понятны в использовании и экономят больше газа. + +AMMs can only enable new markets when liquidity providers supply liquidity (e.g. multiple tokens for given trading pairs or pools). В обмен на предоставление ликвидности, поставщики ликвидности вознаграждаются торговыми комиссиями, когда другие пользователи обменивают токены. For example, when traders swap two tokens on Uniswap v3, they are currently charged anywhere between 0.05% and 1% on top of the gas fees. These fees are distributed pro-rata to liquidity providers of the pair based on the percentage of total liquidity that they have provided. + +{% hint style="info" %} +[Непостоянная потеря](https://medium.com/@pintail/uniswap-a-good-deal-for-liquidity-providers-104c0b6816f2) - важный фактор риска, который необходимо осознать, но эта проблема в значительной степени смягчается за счет того, что OUSD предоставляет ликвидность только для стейблкоинов примерно равной стоимости. +{% endhint %} + +The OUSD protocol routes USDT, USDC, and DAI to highly-performing liquidity pools as determined by trading volume and rewards tokens (e.g. Curve rewards CRV tokens to liquidity providers). Затем доходность передается держателям OUSD. + +В настоящее время мы интегрируем следующий автоматизированный маркет-мейкер: + +{% content-ref url="../supported-strategies/curve.md" %} +[curve.md](../supported-strategies/curve.md) +{% endcontent-ref %} + + + diff --git a/ru/core-concepts/yield-generation/rewards.md b/ru/core-concepts/yield-generation/rewards.md new file mode 100644 index 000000000..ac9e7efd3 --- /dev/null +++ b/ru/core-concepts/yield-generation/rewards.md @@ -0,0 +1,12 @@ +# Вознаграждения + +**Collecting Rewards** + +В дополнение к сбору процентов от кредитования и рыночных комиссий, мы намерены автоматически запрашивать и конвертировать дополнительные премиальные выплаты, которые распределяются многими протоколами DeFi. For example, Compound gives away COMP tokens and Curve gives away CRV tokens. Эти бонусные вознаграждения будут регулярно конвертироваться в стейблкоины, размещаться на рынке и распределяться среди держателей OUSD в виде дополнительной прибыли. + +{% hint style="info" %} +В то время как хранилище безопасно хранит любые неожиданные награды, которые оно получает, необходимо будет написать и развернуть собственные стратегии, чтобы решить, когда и как протокол должен преобразовать их в стейблкоины. +{% endhint %} + +Сегодня вознаграждения являются важным фактором для лиц, добывающих прибыль, поскольку они составляют значительную часть их доходов. Мы ожидаем, что протокол OUSD со временем будет обновлен, чтобы использовать преимущества наиболее привлекательной доходности, доступной в ландшафте DeFi. Протокол будет учитывать рыночную стоимость различных предлагаемых вознаграждений при принятии решения о том, как наилучшим образом распределить ресурсы. + diff --git a/ru/faq.md b/ru/faq.md new file mode 100644 index 000000000..add4775a7 --- /dev/null +++ b/ru/faq.md @@ -0,0 +1,33 @@ +# FAQ + +**Где я могу купить OUSD?** + +Ознакомьтесь с разделом [Приступая к работе](https://docs.ousd.com/getting-started) чтобы увидеть множество вариантов. + +**Каковы затраты на создание и выкуп OUSD?** + +Как и в случае любой транзакции Ethereum, Вам понадобится эфир для взаимодействия со смарт-контрактом OUSD. Мы приняли меры по сокращению использования газа, где это было возможно, но эти расходы могут варьироваться. + +Каждый раз, когда Вы создаете или выкупаете OUSD, к Вашим депонированным или выведенным стейблкоинам будет применяться обменный курс. Вы можете узнать больше об этом в разделе [Ценовые Оракулы](https://docs.ousd.com/core-concepts/price-oracles). + +To encourage long-term holding of OUSD and to protect the protocol from attackers, an exit fee of 0.25% is charged on all redeems. You can read more about this in [How It Works](https://docs.ousd.com/how-it-works). + +**Как скоро мой баланс увеличится, если у меня будет OUSD?** + +Сумма OUSD в вашем кошельке будет расти каждый раз, когда происходит положительное событие перераспределения. Вы можете узнать больше об этом в разделе [Гибкое предложение](https://docs.ousd.com/core-concepts/elastic-supply). В настоящее время предложение перераспределяется несколько раз в день и обычно зависит от того, как много людей создают и выкупают OUSD. + +**Почему не растет OUSD, если он хранится в Uniswap, SushiSwap и т.д.?** + +По умолчанию события перераспределения не влияют на предложение OUSD, которое находится в смарт-контрактах. Эти контракты могут получить дополнительных OUSD, если они способны работать с токенами эластичного предложения. Вы можете прочитать больше об этом в разделе [Перераспределение & Смарт-Контракты](https://docs.ousd.com/core-concepts/elastic-supply/rebasing-and-smart-contracts). + +**За счет чего возможен такой высокий APY?** + +Вы можете прочитать о наших различных стратегиях в разделе [Генерирование дохода](https://docs.ousd.com/core-concepts/yield-generation). We currently get most of the yield from harvesting rewards tokens (namely COMP and CRV). Кроме того, доходность увеличивается по мере того, как увеличивается количество OUSD, хранящееся в смарт-контрактах, от которых не подана заявка на участие в перераспределении, поскольку базовые активы продолжают приносить доход среднестатистическому держателю OUSD. + +**Почему мой баланс увеличивается медленнее, чем указано в APY?** + +Баланс OUSD увеличивается при перераспределении предложения. Но размер каждого перераспределения сильно различается в зависимости от того, сколько хранилище заработало с момента последнего перераспределения. И хотя большинство перераспределений собирают небольшую прибыль от стратегий кредитования, другие перераспределения связаны с ликвидацией токенов вознаграждения или получением комиссий. В результате доходность будет значительно варьироваться в короткие периоды времени. + +**А как насчет взлома? Безопасен ли OUSD?** + +7 ноября 2020 года OUSD был взломан из-за не обнаруженной ранее уязвимости повторного входа, злоумышленники получили 7 миллионов долларов США. Вы можете прочитать больше в разделе [Подробности о взломе](https://medium.com/originprotocol/urgent-ousd-has-hacked-and-there-has-been-a-loss-of-funds-7b8c4a7d534c) в нашем блоге, а также в разделе [Подробный план компенсации](https://medium.com/originprotocol/origin-dollar-ousd-detailed-compensation-plan-faa73f87442e), где описаны принятые меры в отношении пострадавших пользователей. Origin Dollar был перезапущен в декабре после завершения нескольких аудитов и обновлений безопасности. Вы можете узнать больше о шагах, предпринятых для защиты протокола, в нашем [объявлении о перезапуске](https://medium.com/originprotocol/origin-dollar-ousd-is-back-b8ee0c601dad). diff --git a/ru/getting-started.md b/ru/getting-started.md new file mode 100644 index 000000000..5b9fa618c --- /dev/null +++ b/ru/getting-started.md @@ -0,0 +1,71 @@ +# Приступая к работе + +Эти документы предназначены для того, чтобы объяснить, как работает OUSD, сообщить о потенциальных рисках и преимуществах и предоставить руководство для разработчиков, которые хотят внести свой вклад в нашу кодовую базу или интегрировать OUSD в свои продукты. Вот несколько способов приступить к работе. + +**Buying OUSD** + +{% hint style="info" %} +The [Origin Dollar DApp](https://ousd.com/swap) will intelligently route your transaction to get you the best rate. +{% endhint %} + +The [Origin Dollar DApp](https://ousd.com/swap) allows anyone to buy or sell OUSD using a web-3 enabled cryptocurrency wallet like [Metamask](https://www.metamask.io), [Ledger](https://www.ledger.com), or [Gnosis Safe](https://gnosis-safe.io). This is the native way to get OUSD, especially if you want a large amount that could risk moving the market on other exchanges. The DApp will intelligently decide whether to create or trade-in OUSD tokens using the vault or help you complete the trade on whichever AMM is currently offering the best rate. + +**Decentralized Exchanges** + +OUSD is currently available on the following decentralized exchanges. These are listed here for reference only. We recommend using the [Origin Dollar DApp](https://ousd.com/swap) to ensure you always get the best rate. + +* [Buy OUSD on 1inch](https://app.1inch.io/#/1/swap/USDT/OUSD) +* [Buy OUSD on Curve](https://curve.fi/factory/9) +* [Buy OUSD on Uniswap v3](https://app.uniswap.org/#/swap?inputCurrency=0xdac17f958d2ee523a2206206994597c13d831ec7\&outputCurrency=0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86) +* [Buy OUSD on Uniswap v2](https://app.uniswap.org/#/swap?inputCurrency=0xdac17f958d2ee523a2206206994597c13d831ec7\&outputCurrency=0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86\&use=v2) +* [Buy OUSD on Sushiswap](https://exchange.sushiswapclassic.org/#/swap?inputCurrency=0xdac17f958d2ee523a2206206994597c13d831ec7\&outputCurrency=0x2a8e1e676ec238d8a992307b495b45b3feaa5e86) + +**Centralized Exchanges** + +OUSD is currently available on the following centralized exchanges. Be sure to check on how they are handling the yield that is being generated by the protocol. Depending on the exchange, there may be additional steps you need to take to participate in the yield while it's being held in their custody. + +* Buy OUSD on KuCoin + * [OUSD/USDT](https://trade.kucoin.com/OUSD-USDT) + * [OUSD/BTC](https://trade.kucoin.com/OUSD-BTC) +* Buy OUSD on Gate.io + * [OUSD/USDT](https://www.gate.io/trade/OUSD\_USDT) +* Buy OUSD on Virgox + * [OUSD/USDT](https://virgox.com/exchange/141) +* [Buy OUSD on Dharma App](https://www.dharma.io) (US only) + +We're continuing to work on making OUSD available on additional centralized exchanges. + +**Adding OUSD to Your Wallet** + +{% hint style="success" %} +The main ERC20 address for Origin Dollar (OUSD) is: \ +**0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +If your OUSD does not automatically show up in your wallet, you should be able to add it manually using the address above. If you are planning on [storing your OUSD in a multi-sig wallet](core-concepts/elastic-supply/rebasing-and-smart-contracts.md), be sure to opt-in to receive yield. We want to have OUSD supported by as many wallets as possible and included on all the various lists of well-known tokens. We would greatly appreciate any help you can offer in this area. + +**Integrating OUSD** + +OUSD is a non-standard ERC-20 token that requires custom integration work for most applications that wish to support it. In particular, it is important for developers to understand how our elastic supply works as this can easily cause unexpected behavior. + +If you are a wallet provider or crypto exchange that is interested in supporting OUSD, please refer to the following guides: + +{% content-ref url="core-concepts/elastic-supply/rebasing-and-smart-contracts.md" %} +[rebasing-and-smart-contracts.md](core-concepts/elastic-supply/rebasing-and-smart-contracts.md) +{% endcontent-ref %} + +{% content-ref url="smart-contracts/architecture.md" %} +[architecture.md](smart-contracts/architecture.md) +{% endcontent-ref %} + +{% content-ref url="smart-contracts/api/" %} +[api](smart-contracts/api/) +{% endcontent-ref %} + +**Developer Analytics** + +Our internal developer dashboard is available at [analytics.ousd.com](https://analytics.ousd.com). The dashboard shows the current circulating supply, the assets under management in the vault, and the current allocations between each of the stablecoins and strategies. + +**Getting Help** + +Please join the Origin Dollar #engineering room in Origin's [Discord](https://www.originprotocol.com/discord) server. Our team and members of our community look forward to helping you build. Your questions help us improve, so please don't hesitate to ask if you can't find what you are looking for here. diff --git a/ru/governance/admin-privileges.md b/ru/governance/admin-privileges.md new file mode 100644 index 000000000..75ba75ecc --- /dev/null +++ b/ru/governance/admin-privileges.md @@ -0,0 +1,32 @@ +# Права администратора + +Смарт-контракты OUSD разработаны с возможностью улучшения владельцем. Команда Origin использует два разных контракта кошелька с мульти-подписями Gnosis для внесения изменений в протокол. Аудиты этих кошельков с мульти-подписями были проведены такими компаниями, как [OpenZeppelin](https://blog.openzeppelin.com/gnosis-multisig-wallet-audit-d702ff0e2b1e/), [ConsenSys Dilligence](https://blog.gnosis.pm/the-gnosis-multisig-wallet-and-our-commitment-to-security-ce9aca0d17f6), командой Origin и др. + +{% hint style="info" %} +Задержка действий администратора дает пользователям возможность выхода из OUSD, если его администраторы станут злонамеренными, будут скомпрометированы или внесут изменения, которые не нравятся пользователям. +{% endhint %} + +### Admin + +Основной администратор - это контракт с 5 из 8 подписей, которые требуются для внесения любых изменений кода в протоколе. OUSD можно обновить только из этого кошелька с 5 из 8 подписей. Ключи к этой мульти-подписке принадлежат лицам, имеющим тесные связи с компанией, и даже действующие вместе основатели Origin не обладают достаточным контролем, чтобы самостоятельно выполнять функции владельца. In addition, the OUSD contracts are owned by a [timelock](../smart-contracts/api/timelock.md) which places a 48 hour time delay before any changes to the protocol can be made. + +### Strategist + +Some functionality, such as rebalancing funds between strategies or pausing deposits, can be triggered without the timelock and with far fewer signers. Это позволяет команде Origin быстрее реагировать на рыночные условия или угрозы безопасности. These signers, known as Strategists, have the ability to execute a limited number of functions __ with only 2 of 9 signers. + +The strategist multisig can do the following actions on the vault: + +* reallocate - move funds between strategies +* setVaultBuffer - adjust the amount of funds held outside strategies for cheaper redeems. +* setAssetDefaultStrategy - which strategy mints and redeems pull from for a particular strategy +* withdrawAllFromStrategy - remove funds from a single strategy and send them to the vault +* withdrawAllFromStrategies - remove funds from all active strategies and send them to the vault +* pauseRebase - pause all rebases +* pauseCapital - pause all mints and redeems +* unpauseCapital - allow all mints and redeems + +### Future + +Having these admin privileges is necessary in the early days to ensure that the protocol is secure and optimized for earning yields while minimizing risks. We expect to release multiple iterations of our smart contracts in the first several months of the protocol's existence. + +Once several upgrade cycles have been completed, we intend to transfer ownership from our company control to a decentralized governance contract, thereby allowing the community to vote and participate in future protocol updates. diff --git a/ru/governance/contributing.md b/ru/governance/contributing.md new file mode 100644 index 000000000..7c252b6bf --- /dev/null +++ b/ru/governance/contributing.md @@ -0,0 +1,103 @@ +# Сотрудничество + +**100% Открытый исходный код** + +OUSD - это проект с полностью открытым исходным кодом, и мы приветствуем любые вклады в него. Есть много способов помочь: сообщать о проблемах, добавлять код и помогать нам улучшать наше сообщество. + +{% content-ref url="broken-reference" %} +[Broken link](broken-reference) +{% endcontent-ref %} + +We work in public and our company Discord is open to all. If you have questions or need help getting started, our [Discord OUSD channels](https://discord.gg/jyxpUSe) are the best place to get assistance from our team and community. + +{% content-ref url="broken-reference" %} +[Broken link](broken-reference) +{% endcontent-ref %} + +**Developer Analytics** + +Our internal developer dashboard is available at [analytics.ousd.com](https://analytics.ousd.com). The dashboard shows the current circulating supply, the assets under management in the vault, and the current allocations between each of the stablecoins and strategies. Various other developer tools can be found at [ousd.com/dashboard](https://ousd.com/dashboard). + +#### Процесс разработки + +Our branching strategy is similar to [GitFlow](http://nvie.com/posts/a-successful-git-branching-model/), but we do all of our development in the `master` branch and have a `stable` branch for code that has been released. + +Your development flow should look like: + +1. Найдите интересную проблему и общайтесь! Сообщите каналу `#engineering` [Discord](https://discord.gg/jyxpUSe), над чем вы хотите работать. +2. Отправьте запрос [члену основной команды](https://github.com/orgs/OriginProtocol/teams/core/members) в Discord и попросите добавить Вас в нашу команду [разработчиков](https://github.com/orgs/OriginProtocol/teams/contributors). В противном случае вам нужно будет форкнуть соответствующий репозиторий и поместить ветки функций в свою собственную вилку. +3. Добавьте комментарий к проблеме или назначьте сами, чтобы несколько участников случайно не работали над одной и той же задачей. +4. Начните с ветки `master` и проверьте новую ветку функции, если Вы не вносите вклад в существующую функцию. +5. Напишите отличный код. +6. Извлеките последние подтверждения изменения кода из `master` и убедитесь, что Ваш код работает с любой другой работой, которая добавилась с момента начала Вашей работы. +7. Push your branch to the upstream repository (i.e. https://github.com/OriginProtocol/\[repo]) so that other contributors can easily work off of it if necessary. +8. Запросите обзор в PR, щелкнув значок шестеренки рядом с надписью «Рецензенты» в правом столбце. + +For critical smart contract code to be merged it must pass the following checklist: + +* Код проверен 2 рецензентами +* Пройдены модульные (блочные) тесты +* Тесты Slither проходят без предупреждений +* Тесты Echidna пройдены + +The `master` branch is locked so that only members of the [core team](https://github.com/orgs/OriginProtocol/teams/core) are able to merge your pull requests. Pull requests that are peer-reviewed by other trusted contributors will be fast-tracked and merged faster! Check in the `#engineering` Discord channel for appropriate reviewers. + +#### Стиль написания кода + +We use a variety of programming languages in our repositories. When contributing, please follow existing coding conventions and refer to the CONTRIBUTING.md file in the repository, if one exists. + +For JavaScript, we use [NPM’s style](https://docs.npmjs.com/misc/coding-style), which is automatically enforced via [prettier](https://prettier.io). + +For Solidity, we use two-space indents. + +#### Дизайн протокола + +When considering protocol or implementation design proposals, we are looking for: + +* Описание проблемы, которую решает данное проектное предложение +* Обсуждение возможных компромиссов +* Обзор других существующих решений +* Links to relevant literature (RFCs, papers, etc) +* Обсуждение предлагаемого решения + +Please note that protocol design is hard and meticulous work. You may need to review existing literature and think through generalized use cases. + +#### Принципы сообщества + +We want to keep the Origin community awesome, growing and collaborative. We need your help to keep it that way. To help with this we’ve come up with some general guidelines for the community as a whole: + +* Ведите себя хорошо: будьте вежливы, уважительны и учтивы по отношению к другим членам сообщества: недопустимы оскорбления на религиозной, расовой, гендерной или любой другой почве. Нам больше нравятся хорошие люди, чем плохие! +* Поощряйте разнообразие и участие: сделайте так, чтобы каждый в нашем сообществе почувствовал себя желанным гостем, независимо от его происхождения и степени их вклада, и сделайте все возможное, чтобы поощрять участие в нашем сообществе. +* Соблюдайте закон: не доставляйте никому проблем. Делитесь только контентом, принадлежащим вам, не предавайте огласке личную или конфиденциальную информацию, касающуюся других людей и не нарушайте законы. +* Оставайтесь в теме: убедитесь, что вы публикуете сообщения на правильном канале, и избегайте обсуждений не по теме. Помните, когда Вы обновляете проблему или отвечаете на электронное письмо, потенциально оно отправляется большому количеству людей. Пожалуйста, учтите это перед обновлением. Также помните, что никто не любит спам. + +#### Сообщения о проблемах + +If you find bugs, mistakes or inconsistencies in Origin’s code or documents, please let us know by filing a GitHub issue. No issue is too small. Help us fix our tpyos! + +#### Проблемы с безопасностью + +OUSD is still in early development, which means there may be problems with the protocol or in our implementations. We take security vulnerabilities very seriously. If you discover a security issue, please bring it to our attention right away! + +If you find a security vulnerability please send your report privately to [security@originprotocol.com](mailto:security@originprotocol.com) or send an encrypted message to [@joshfraser on Keybase](https://keybase.io/joshfraser). Please DO NOT file a public issue. Be sure to review our guidelines for responsible disclosure and eligibility for bug bounties. + +{% content-ref url="../security-and-risks/bug-bounties.md" %} +[bug-bounties.md](../security-and-risks/bug-bounties.md) +{% endcontent-ref %} + +#### **Улучшение сообщества** + +Origin is just as much about community as it is about our technology. + +We need constant help in improving our documentation, building new tools to interface with our platform, spreading the word to new users, helping new users getting setup and much more. + +Please get in touch if you would like to help out. Our `discussion` channel on [Discord](https://www.originprotocol.com/discord) is a great place to share ideas and volunteer to help. + +#### Вакансии на полный рабочий день + +Origin occasionally hires developers for part-time or full-time positions. + +We have a strong preference for hiring people who have already started contributing to the project. If you want a full-time position on our team, your best shot is to engage with our team and start contributing code. It is very unlikely that we would offer you a full-time position on our engineering team unless you’ve had at least a few pull requests merged. + +If you are interested, check out [the Origin Protocol job listings](https://angel.co/originprotocol/jobs). If you’d like to help in other ways, please propose your ideas in [our Discord channel](https://www.originprotocol.com/discord). + diff --git a/ru/governance/governance.md b/ru/governance/governance.md new file mode 100644 index 000000000..eea11a787 --- /dev/null +++ b/ru/governance/governance.md @@ -0,0 +1,26 @@ +# Principles + +**Progressive Decentralization** + +OUSD is designed to be a decentralized protocol governed by many stakeholders all over the world. We believe that the minters and holders of OUSD should collectively determine important protocol decisions as soon as possible. + +That being said, in the very early days, it is imperative that the core engineering team can act quickly and decisively to build the foundational parts of the protocol. + +Decentralization will progress across four phases rapidly over the next few months. It is our intent to relinquish control and governance to the community as soon as possible. + +![](../.gitbook/assets/ousd_docs_graphics_2%20%283%29.png) + +**Timelock** + +Prior to full decentralized governance, we will implement a [timelock](../smart-contracts/api/timelock-1.md) in front of all admin function calls, giving OUSD users time \(48 hours\) to withdraw their funds if they have objections to our proposed upgrades. This timelock will be added shortly after launch. + +**New and Existing Stakeholders** + +OUSD is a new project founded by Origin Protocol [team](www.originprotocol.com/team) and will be supported by the existing Origin community as well as many new stakeholders that choose to mint, hold, use, and provide liquidity for OUSD. + +In addition, we also want to ensure high participation from our existing Origin Token \(OGN\) holders, community of close to 500,000 members, and buyers/sellers on the Platform. Existing OGN holders will be able to stake their OGN to participate in governance and earn incentives for driving value to OUSD. More details will be provided in the near future. + +The strong connection between OUSD and the rest of the Origin commerce platform will fuel growth in both initiatives. + + + diff --git a/ru/governance/ogn-staking.md b/ru/governance/ogn-staking.md new file mode 100644 index 000000000..412883944 --- /dev/null +++ b/ru/governance/ogn-staking.md @@ -0,0 +1,18 @@ +# Стейкинг токенов OGN + +Origin Token (OGN) is intended as the governance token for OUSD and OGN will play an increasingly important role as the Origin Platform becomes more decentralized. Сегодня пользователи могут блокировать свои токены OGN, чтобы заработать дополнительные OGN по истечении выбранного периода стейкинга. + +{% hint style="info" %} +Посетите [OUSD DApp](https://www.ousd.com/stake) в браузере с поддержкой web3, чтобы заблокировать OGN. +{% endhint %} + +Первоначальная программа стейкинга предлагает три периода блокировки и соответствующую доходность: + +* 30-дневный период: Зарабатывайте 7,5% годовых +* 90-дневный период: Зарабатывайте 12,5% годовых +* 365-дневный период: Зарабатывайте 25% годовых + +Токены в стейкинге будут заблокированы на выбранный период времени. After each staking period ends, you will be able to claim both your initial OGN (principal) and yield. + +OGN is currently trading on top exchanges like [Coinbase](https://www.coinbase.com/price/origin-token), [Binance](https://www.binance.com/en/register?ref=NPPYAEAE), [Huobi](https://www.huobi.com/en-us/exchange/ogn_usdt/), [Upbit](https://upbit.com/exchange?code=CRIX.UPBIT.BTC-OGN), [Bittrex Global](https://global.bittrex.com/Market/Index?MarketName=BTC-OGN), and [dozens more](https://coinmarketcap.com/currencies/origin-protocol/markets/). Посетите веб-сайт Origin, чтобы [узнать больше об OGN](https://www.originprotocol.com/ogn-token) или посетите панель [OGN Dashboard](https://www.originprotocol.com/dashboard) чтобы отслеживать важные показатели токенометрики. + diff --git a/ru/governance/phases.md b/ru/governance/phases.md new file mode 100644 index 000000000..71e2ecbc0 --- /dev/null +++ b/ru/governance/phases.md @@ -0,0 +1,6 @@ +# Фазы + +Постепенная децентрализация будет проходить в четыре этапа, как описано ниже. + +![](../.gitbook/assets/ousd_docs_graphics_2%20%282%29.png) + diff --git a/ru/governance/principles.md b/ru/governance/principles.md new file mode 100644 index 000000000..9b913f912 --- /dev/null +++ b/ru/governance/principles.md @@ -0,0 +1,30 @@ +# Принципы + +**Governance Portal** + +OGN holders are encouraged to participate in creating and voting on proposals that impact the protocol in the [OGN governance portal](https://vote.originprotocol.com). Anyone with at least 1,000 OGN in their wallet or staked in our OGN Staking contract can create a new proposal using Snapshot. All OGN holders are able to vote for proposals. Our desire is for our community to have a strong impact on the direction of Origin’s products, open-source codebase, and to have a voice in key business decisions and the overall direction of the project. + +OGN holders can also [delegate votes](vote-delegation.md) to another account. + +**Progressive Decentralization** + +OUSD is designed to be a decentralized protocol governed by many stakeholders all over the world. We believe that the holders of OUSD should collectively determine important protocol decisions as soon as possible. + +That being said, in the very early days, it is imperative that the core engineering team can act quickly and decisively to build the foundational parts of the protocol. + +Decentralization will progress across four phases rapidly over the next few months. It is our intent to relinquish control and governance to the community as soon as possible. + +![](../.gitbook/assets/ousd\_docs\_graphics\_2 (2).png) + +**Timelock** + +Prior to full decentralized governance, we will implement a [timelock](../smart-contracts/api/timelock.md) in front of all admin function calls, giving OUSD users time to withdraw their funds if they have objections to our proposed upgrades. + +**New and Existing Stakeholders** + +OUSD is a new project founded by Origin Protocol [team](https://www.originprotocol.com/team) and will be supported by the existing Origin community as well as many new stakeholders that choose to mint, hold, use, and provide liquidity for OUSD. + +In addition, we also want to ensure high participation from our existing Origin Token (OGN) holders and the millions of people in our community. Existing OGN holders are able to [stake their OGN](ogn-staking.md) to participate in governance and earn incentives for driving value to OUSD. + +The strong connection between OUSD and the rest of the Origin commerce platform will fuel growth in both initiatives. + diff --git a/ru/governance/vote-delegation.md b/ru/governance/vote-delegation.md new file mode 100644 index 000000000..9a8149d2f --- /dev/null +++ b/ru/governance/vote-delegation.md @@ -0,0 +1,18 @@ +# Vote Delegation + +OGN holders can forward their voting power on the [Governance Portal](https://vote.originprotocol.com/#/) to another Ethereum address. Choosing this option does not strip the delegator of their voting power. The delegatee receives the extra voting power only on proposals the delegator has not voted on. + +This is convenient when users want someone they trust or even one of Origin's team members to make governance decisions regarding Origin's ecosystem. It is also useful when users have OGN stored more safely in a hardware wallet and don’t want to go through the hassle of connecting it to the computer. A more accessible Ethereum wallet e.g. Metamask can be used to vote by having voting power delegated to it from the hardware wallet.\ + + +**How to Delegate** + +* Go to: [https://snapshot.org/#/delegate](https://snapshot.org/#/delegate). +* Type in the address or ENS name you want to delegate to. +* There is an option to limit the delegation power to only Origin’s products by selecting _Limit delegation to a specific space_ and typing in “origingov.eth”. +* Click confirm to save your delegation.\ + + +![](../.gitbook/assets/Screenshot 2022-03-20 at 10.47.43.png) + +After completing these steps, the OGN voting power is successfully delegated to the address specified. diff --git a/ru/guides/incentivized-harvesting-guide.md b/ru/guides/incentivized-harvesting-guide.md new file mode 100644 index 000000000..a24597e9c --- /dev/null +++ b/ru/guides/incentivized-harvesting-guide.md @@ -0,0 +1,46 @@ +# Incentivized Harvesting Guide + +The OUSD Harvester contract collects reward tokens earned by the OUSD strategies, sells them, and sends them on to increase protocol yield. **Anyone can call the harvest and earn 1% of the resulting USDT** for doing so. This creates a self-incentivizing system that operates at a known cost to the protocol. + +### When to call + +You'll want to call this contract when it is profitable to do so. You gain the 1% harvest USDT given by the contract, and spend the gas cost to send the transaction. + +The simplest way to calculate both of these is to simulate the transaction. You can then look at the resulting transfers to know the income received, and you can look at the gas amount used, the current gas prices, and the current cost of ETH, to find out the cost. + +Alternatively you can precompute the gas used for a given strategy's harvest, look up the pending reward tokens using various online services, then do your calculations without using the blockchain. + +The amount of rewards increases at a fairly steady, predictable rate. The primary variation is in gas prices, which will make a much bigger minute to minute difference on when you should call this. + +When calculating profitability, remember to account for the cost to swap back to ETH from USDT. + +### How to call + +When you call the harvest, **you will want to use some form of MEV protection**. Otherwise bots will see that your transaction is profitable, and execute it ahead of you, leaving you no gain and only gas fees. + +To harvest, you call `harvester.harvestAndSwap(strategyAddress, rewardTo)`. + +The harvester address and strategyAddresses can be found in the strategy tab of the [contract registry](../smart-contracts/registry.md). The `rewardTo` address is the account that will receive the USDT funds as a reward for calling the function - use your own address for it. + +Below is the harvestAndSwap ABI: + +``` +[{ + "inputs": [ + { + "internalType": "address", + "name": "_strategyAddr", + "type": "address" + }, + { + "internalType": "address", + "name": "_rewardTo", + "type": "address" + } + ], + "name": "harvestAndSwap", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" +}] +``` diff --git a/ru/guides/integration-guide-for-exchanges.md b/ru/guides/integration-guide-for-exchanges.md new file mode 100644 index 000000000..556cdb3c0 --- /dev/null +++ b/ru/guides/integration-guide-for-exchanges.md @@ -0,0 +1,34 @@ +# Руководство по интеграции для бирж + +Централизованные биржи будут играть важную роль в достижении нашей цели сделать OUSD повсеместно распространенным. Мы рады помочь любой бирже, которая хочет сделать OUSD доступным для своих пользователей. Мы считаем, что OUSD станет отличным дополнением к любой бирже, которая хочет предложить своим пользователям как превосходный стейблкоин, так и новую возможность получать высокий доход. + +Эти документы - отличная отправная точка для понимания того, как работает OUSD. Вот несколько важных вопросов для бирж, которые хотят интегрировать OUSD: + +**Do you want to participate in the yield that is generated?** + +Мы предполагаем, что ответ будет положительным, и мы также очень поощряем это! Однако, могут быть некоторые случаи, когда вы предпочтете действовать быстро и добавить на свою биржу OUSD, не участвуя в [процессе перераспределения OUSD](../core-concepts/elastic-supply/rebasing-and-smart-contracts.md), так как это является самой быстрой и простой интеграцией. Для бирж, которые хотят добавить токен OUSD, но ограничены в технических ресурсах, есть возможность сначала запустить версию без перераспределения, пока ваши специалисты вносят необходимые изменения. Чтобы запретить перераспределение OUSD, необходимо вызвать функцию `rebaseOptOut()` из каждого кошелька EOA, на котором хранится OUSD, или ничего не делать, если OUSD хранится на смарт-контрактах. Non-rebasing OUSD behaves just like any other ERC-20 token. + +**Are you storing customer balances on smart contracts (ie. multi-sigs) or EOA wallets?** + +Любой смарт-контракт, содержащий OUSD, должен вручную предоставить согласие на получение дохода, вызывая функцию `rebaseOptIn()`. Это необходимость, вызванная [гибким предложением](../core-concepts/elastic-supply/) и [природой перераспределения OUSD](../core-concepts/elastic-supply/rebasing-and-smart-contracts.md). Многие биржи переводят средства клиентов на кошельки с мульти-подписями для холодного хранения. Делая это, Вам нужно убедиться, что было получено разрешение на перераспределение, чтобы не потерять заработок. + +**Кешируете ли вы балансы пользователей?** + +OUSD динамически обновляет значение, возвращаемое функцией `balanceOf()` в нашем контракте ERC20. Users' balances will update at unpredictable times as new yield is generated by the protocol. Пока вы не кешируете это значение, пользователи всегда будут видеть правильную сумму OUSD, которую они держат. + +It's important to note that while OUSD is a rebasing token, user balances will only rebase in a positive direction (your balance will never go down). This makes things a lot simpler than integrating with other rebasing coins like AMPL or other algo-stables. + +**Are you comingling user funds?** + +If you are comingling funds, you'll want to be sure that each user gets their pro-rata amount of the yield that is generated by the protocol. Probably the easiest way to do this is to track each user's balance as a percentage of a pool instead of as a fixed amount. + +**Are you planning to provide liquidity?** + +The Origin team is often willing to provide a market maker and initial liquidity for exchanges that wish to integrate OUSD. There are also 9 figures worth of liquidity available on decentralized exchanges like [Curve](https://curve.fi/factory/9). + +If you are interested in using OUSD to power your own staking or earning program, you will probably want to be able to access OUSD on demand. OUSD can always be minted or redeemed using the [Origin Dollar DApp](https://www.ousd.com), or directly from the OUSD [smart contracts](../smart-contracts/registry.md). If you are planning on providing liquidity yourself, you should be aware that the exact amount of OUSD you will receive in exchange for your USDT, USDC, or DAI depends on the current exchange rates as determined by the [oracles.](../core-concepts/price-oracles.md) If you are planning on redeeming OUSD for the underlying stablecoins, you should know there is a 0.25% exit fee and OUSD will return a basket of stable coins in proportion to the backing stablecoins in the pool. We encourage exchanges to leverage existing pools of liquidity to avoid those fees. If possible, mints or redeems should be done in large batches for maximum efficiency. + +#### Do you have other questions? + +The best way to get help from both our engineering and business teams is usually on [Discord](https://www.originprotocol.com/discord). + diff --git a/ru/how-it-works.md b/ru/how-it-works.md new file mode 100644 index 000000000..0d2dad901 --- /dev/null +++ b/ru/how-it-works.md @@ -0,0 +1,39 @@ +# Как это работает + +#### На 100% поддерживаемый и стабильный + +Origin Dollar (OUSD) is an ERC-20 compliant token for the Ethereum network. + +OUSD - это стабильная валюта, которая в соотношении 1:1 поддерживается другими стейблкоинами, такими как USDT, USDC и DAI. В результате 1 OUSD всегда должен быть очень близок к стоимости 1 USD. + +{% hint style="success" %} +1 OUSD = 1 USD +{% endhint %} + +#### Buying OUSD + +Users can convert their existing stablecoins (currently USDT, USDC, and DAI) to OUSD at the official [Origin Dollar DApp](https://www.ousd.com). Received OUSD begins accruing compounding yield immediately. + +The Origin DApp will intelligently route user's transactions to give them the best available price while taking slippage and gas costs into consideration. This means that the DApp will sometimes encourage users to buy OUSD that is already in circulation versus minting fresh OUSD from the vault. The OUSD DApp will choose from multiple sources of liquidity and will suggest the option that gives the user the best possible rate. + +**Selling OUSD** + +Users can convert their OUSD back into other stablecoins at any time using the [Origin Dollar DApp](https://www.ousd.com). The Origin DApp will intelligently route user's transactions to give them the best available price while taking slippage, gas costs, and the vault's exit fee into consideration. This means that the DApp will often help users sell their OUSD on AMM's instead of redeeming OUSD with the vault and incurring the protocol's exit fee. + +A 0.25% exit fee is charged upon redemption with the vault. This fee is distributed as additional yield to the remaining participants in the vault (ie. other OUSD holders). The fee serves as a security feature to make it difficult for attackers to take advantage of lagging oracles, preventing them from siphoning stablecoins from the vault in the event of mispriced underlying assets. The fee exists to incentivize long-term holders over short-term speculators. + +Upon redemption, the vault will determine which stablecoin(s) to return to the user. In the current implementation, the vault will return coins in the same ratio as the current holdings. This lack of user optionality also protects the vault as a whole in the event that any of the supported stablecoins loses its peg to the dollar. + +{% hint style="warning" %} +Redemptions on the OUSD vault incur a **0.25% exit fee** and the user doesn't get to pick which stablecoins they receive. Users can often avoid this fee by selling to an AMM instead. +{% endhint %} + +#### **Автоматизированное получение дохода** + +OUSD generates yields by deploying the underlying stablecoins that were deposited to the OUSD smart contract to other DeFi protocols such as Compound, Aave, and Curve. There may be new diversified strategies added to the vault in the future. Collected interest, trading fees, and rewards tokens are pooled and converted to stablecoins to produce OUSD-denominated yields. Over time, the protocol will move assets in and out of different liquidity pools in order to provide the best yield to the holders of OUSD. + +#### **Гибкое предложение** + +The generated returns are passed on to the holders of OUSD via constant rebasing of the money supply. OUSD constantly adjusts the money supply in response to the yield the protocol has generated. This allows the price of OUSD to stay pegged at $1 while the balances in token holders' wallets adjust in real-time to reflect yields that have been earned by the protocol. + +The end result is a stablecoin that is easy to spend, earns outsized yields automatically, and is more desirable to hold than existing stablecoins. diff --git a/ru/security-and-risks/asset-risk.md b/ru/security-and-risks/asset-risk.md new file mode 100644 index 000000000..92140f5ed --- /dev/null +++ b/ru/security-and-risks/asset-risk.md @@ -0,0 +1,33 @@ +# Bug Bounties + +**Bug Bounties** + +Bug bounties are granted at the full discretion of Origin Protocol. The rewards range in size from **$100** for minor issues to **$250,000** for major vulnerabilities. Currently, the bounty program only applies to OUSD and not other products from Origin. + +{% hint style="warning" %} +In order to be eligible for a bug bounty, you must follow the rules of Responsible Disclosure outlined below. +{% endhint %} + +**Responsible Disclosure** + +Security is our top priority and we've taken every effort to make sure our code is secure and works as intended. However, it's completely possible that vulnerabilities both large and small may have gone undetected. + +In case you discover a vulnerability, we would like to know about it immediately so we can take steps to address it as quickly as possible. + +If you discover a vulnerability, please do the following: + +* Report your findings to [security@originprotocol.com](mailto:security@originprotcol.com) or contact [Josh Fraser on Keybase](https://keybase.io/joshfraser) +* Do not take advantage of the vulnerability or problem you have discovered +* Do not reveal the problem to others until it has been resolved +* Do not use attacks on physical security, social engineering, distributed denial of service, spam or applications of third parties +* Do provide sufficient information to reproduce the problem, so we will be able to resolve it as quickly as possible. Complex vulnerabilities may require further explanation so we might ask you for additional information. + +In return, we promise: + +* We will respond to your report within 3 business days with our evaluation of the report and an expected resolution date +* If you have followed the instructions above, we will not take any legal action against you in regard to the report +* We will handle your report with strict confidentiality, and not pass on your personal details to third parties without your permission +* If you so wish we will keep you informed of the progress towards resolving the problem +* In the public information concerning the problem reported, we will give your name as the discoverer of the problem \(unless you desire otherwise\) +* As a token of our gratitude for your assistance, we offer a reward for every report of a security problem that was not yet known to us. The amount of the reward will be determined based on the severity of the leak, the quality of the report, and any additional assistance you provide. + diff --git a/ru/security-and-risks/audits.md b/ru/security-and-risks/audits.md new file mode 100644 index 000000000..f8d53d59d --- /dev/null +++ b/ru/security-and-risks/audits.md @@ -0,0 +1,40 @@ +# Аудиты + +**Хранилище OUSD, ERC-20 и Комплексная система** + +OUSD прошел аудит в нескольких уважаемых компаниях по безопасности. We have worked with [OpenZeppelin](https://openzeppelin.com), [Trail of Bits](https://www.trailofbits.com), [Solidified](https://solidified.io), and [Certora](https://www.certora.com) to audit all of the code that powers Origin Dollar. Их выводы доступны ниже: + +* [Trail of Bits, аудит OUSD, декабрь 2020 г](https://github.com/OriginProtocol/security/blob/master/audits/Trail%20of%20Bits%20-%20Origin%20Dollar%20-%20Dec%202020.pdf) +* [Solidified, аудит OUSD, декабрь 2020г](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20Origin%20Dollar%20-%20Dec%202020.pdf) +* [Solidified, аудит стейкинга OGN, декабрь 2020 г](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20OGN%20Staking%20-%20Dec%202020.pdf) +* [Certora, OUSD Formal Verification Audit, January 2021](https://www.certora.com/pubs/OriginFeb2021.pdf) +* [OpenZeppelin, OUSD Audit, August 2021](https://github.com/OriginProtocol/security/blob/master/audits/OpenZeppelin%20-%20Origin%20Dollar%20-%20October%202021.pdf) +* [Solidified, wOUSD, ERC721a, Governance, Harvester & Dripper Audit, May 2022](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20OGV%2C%20wOUSD%2C%20and%20ERC721a%20-%20May%202022.pdf) + +Both our initial and future governance tokens have been audited as well: + +* [Trail of Bits, аудит OGN, ноябрь 2018 г](https://github.com/OriginProtocol/security/blob/master/audits/Trail%20of%20Bits%20-%20Origin%20Marketplace%20and%20OGN%20Token%20-%20Nov%202018.pdf) +* [Solidified, OGV Audit, May 2022](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20OGV%2C%20wOUSD%2C%20and%20ERC721a%20-%20May%202022.pdf) + +Кроме того, основные стратегии и зависимости, которые использует OUSD, были тщательно проверены различными компаниями. + +{% hint style="info" %} +OUSD интегрирует только те стратегии, которые были тщательно проаудированы и проверены в деле, со значительным капиталом и в течение длительного периода времени. +{% endhint %} + +**Cтратегия Compound и открытый ценовой поток** + +Compound has been audited by [Trail of Bits](https://www.trailofbits.com) and [OpenZeppelin](https://openzeppelin.com) and formally verified by [Certora](https://www.certora.com). Посетите веб-сайт Compound, чтобы получить [полный перечень аудитов](https://compound.finance/docs/security#audits), включающий исходный код для модифицированной [Временной блокировки](../smart-contracts/api/timelock.md), которую использует OUSD. + +**Стратегия Aave** + +Aave has been audited by [Trail of Bits](https://www.trailofbits.com), [OpenZeppelin](https://openzeppelin.com), [ConsenSys Diligence](https://consensys.net/diligence/), [Certik](https://certik.io), [MixBytes](https://mixbytes.io), and [PeckShield](https://peckshield.com). They have also been formally verified by [Certora](https://www.certora.com). Посетите веб-сайт Aave, чтобы получить [полный перечень аудитов](https://docs.aave.com/developers/security-and-audits). + +**Стратегия Curve** + +Curve has been audited by [Trail of Bits](https://www.trailofbits.com) and [Quantstamp](https://quantstamp.com). Посетите веб-сайт Curve, чтобы получить [полный перечень аудитов](https://www.curve.fi/audits). + +**Оракулы Chainlink** + +Chainlink has been audited by [Quantstamp](https://github.com/smartcontractkit/chainlink/tree/bafa91c), [SigmaPrime](https://github.com/smartcontractkit/chainlink/tree/cee356), [Callisto](https://gist.github.com/yuriy77k/c3a70d212a7f9ecda715252e45073158), and [Nick Johnson](https://github.com/smartcontractkit/chainlink/tree/5327f9). + diff --git a/ru/security-and-risks/bug-bounties.md b/ru/security-and-risks/bug-bounties.md new file mode 100644 index 000000000..c0f656dc3 --- /dev/null +++ b/ru/security-and-risks/bug-bounties.md @@ -0,0 +1,32 @@ +# Вознаграждения за поиск ошибок + +**Вознаграждения за поиск ошибок** + +Награды за найденные ошибки предоставляются на полное усмотрение Origin Protocol. The rewards range in size from **$100 OUSD** for minor issues to **$250,000 OUSD** for major vulnerabilities. В настоящее время программа вознаграждений распространяется только на OUSD, а не на другие продукты Origin. + +{% hint style="warning" %} +Чтобы иметь право на вознаграждение за обнаружение ошибок, Вы должны соблюдать правила ответственного раскрытия информации, изложенные ниже. +{% endhint %} + +**Ответственное раскрытие информации** + +Безопасность - наш главный приоритет, и мы приложили все усилия, чтобы убедиться, что наш код безопасен и работает должным образом. Однако вполне возможно, что как большие, так и маленькие уязвимости остались незамеченными. + +Если вы обнаружите уязвимость, мы хотели бы узнать о ней немедленно, чтобы как можно быстрее предпринять шаги для ее устранения. + +Если вы обнаружите уязвимость, сделайте следующее: + +* Report your findings to [security@originprotocol.com](mailto:security@originprotocol.com) or contact [Josh Fraser on Keybase](https://keybase.io/joshfraser). Here is an example of a [well written disclosure](https://gist.github.com/DanielVF/66f459da88804d1fd917c47576c68523). +* Не пользуйтесь уязвимостью или проблемой, которую вы обнаружили +* Не сообщайте о проблеме другим, пока она не будет решена +* Не используйте атаки на физическую безопасность, социальную инженерию, распределенный отказ в обслуживании, спам или приложения третьих лиц +* Предоставьте достаточно информации для воспроизведения проблемы, чтобы мы смогли решить ее как можно быстрее. Complex vulnerabilities may require further explanation so we might ask you for additional information. + +Взамен мы обещаем: + +* Мы ответим на Ваш отчет в течение 3 рабочих дней с нашей оценкой отчета и ожидаемой датой решения +* Если вы выполнили приведенные выше инструкции, мы не будем предпринимать никаких юридических действий против Вас в в отношении Вашего отчета +* Мы обработаем Ваш отчет в строгой конфиденциальности и не передадим Ваши личные данные третьим лицам без Вашего разрешения +* По вашему желанию, мы будем держать вас в курсе о ходе решения проблемы +* In the public information concerning the problem reported, we will give your name as the discoverer of the problem (unless you desire otherwise) +* В знак нашей благодарности за Вашу помощь мы предлагаем вознаграждение за каждое сообщение о проблеме безопасности, о которой мы еще не знали. Размер вознаграждения будет определяться в зависимости от серьезности проблемы, качества отчета и любой дополнительной помощи, которую Вы оказываете. diff --git a/ru/security-and-risks/contributing.md b/ru/security-and-risks/contributing.md new file mode 100644 index 000000000..5320c807a --- /dev/null +++ b/ru/security-and-risks/contributing.md @@ -0,0 +1,95 @@ +# Сотрудничество + +**100% Открытый исходный код** + +OUSD - это проект с полностью открытым исходным кодом, и мы приветствуем любые вклады в него. Есть много способов помочь: сообщать о проблемах, добавлять код и помогать нам улучшать наше сообщество. + +Мы работаем публично, и наша компания Discord открыта для всех. Если у Вас есть вопросы или Вам нужна помощь в начале работы, наши каналы Discord OUSD - лучшее место, где можно получить помощь от нашей команды и сообщества. + +**Developer Analytics** + +Our internal developer dashboard is available at [analytics.ousd.com](https://analytics.ousd.com). The dashboard shows the current circulating supply, the assets under management in the vault, and the current allocations between each of the stablecoins and strategies. + +#### Процесс разработки + +Our branching strategy is similar to [GitFlow](http://nvie.com/posts/a-successful-git-branching-model/), but we do all of our development in the `master` branch and have a `stable` branch for code that has been released. + +Your development flow should look like: + +1. Найдите интересную проблему и общайтесь! Сообщите каналу `#engineering` [Discord](https://discord.gg/jyxpUSe), над чем вы хотите работать. +2. Отправьте запрос [члену основной команды](https://github.com/orgs/OriginProtocol/teams/core/members) в Discord и попросите добавить Вас в нашу команду [разработчиков](https://github.com/orgs/OriginProtocol/teams/contributors). В противном случае вам нужно будет форкнуть соответствующий репозиторий и поместить ветки функций в свою собственную вилку. +3. Добавьте комментарий к проблеме или назначьте сами, чтобы несколько участников случайно не работали над одной и той же задачей. +4. Начните с ветки `master` и проверьте новую ветку функции, если Вы не вносите вклад в существующую функцию. +5. Следуйте соответствующему [стилю кодирования](https://docs.originprotocol.com/guides/getting_started/contributing.html#contributing-email-coding-style) и напишите отличный код. +6. Извлеките последние подтверждения изменения кода из `master` и убедитесь, что Ваш код работает с любой другой работой, которая добавилась с момента начала Вашей работы. +7. Переместите свою ветку в вышестоящий репозиторий \(т.е. https://github.com/OriginProtocol/\[repo\]\), чтобы другие участники могли легко поработать над ней в случае необходимости. +8. Запросите обзор в PR, щелкнув значок шестеренки рядом с надписью «Рецензенты» в правом столбце. + +For critical smart contract code to be merged it must pass the following checklist: + +* Code reviewed by 2 reviewers +* Unit tests pass +* Slither tests pass with no warning +* Echidna tests pass + +The `master` branch is locked so that only members of the [core team](https://github.com/orgs/OriginProtocol/teams/core) are able to merge your pull requests. Pull requests that are peer-reviewed by other trusted contributors will be fast-tracked and merged faster! Check in the `#engineering` Discord channel for appropriate reviewers. + +#### Стиль написания кода + +We use a variety of programming languages in our repositories. When contributing, please follow existing coding conventions and refer to the CONTRIBUTING.md file in the repository, if one exists. + +For JavaScript, we use [NPM’s style](https://docs.npmjs.com/misc/coding-style), which is automatically enforced via [prettier](https://prettier.io/). + +For Solidity, we use two-space indents. + +#### Дизайн протокола + +When considering protocol or implementation design proposals, we are looking for: + +* A description of the problem this design proposal solves +* Discussion of the trade-offs involved +* Review of other existing solutions +* Links to relevant literature \(RFCs, papers, etc\) +* Discussion of the proposed solution + +Please note that protocol design is hard and meticulous work. You may need to review existing literature and think through generalized use cases. + +#### Принципы сообщества + +We want to keep the Origin community awesome, growing and collaborative. We need your help to keep it that way. To help with this we’ve come up with some general guidelines for the community as a whole: + +* Be nice: Be courteous, respectful and polite to fellow community members: no regional, racial, gender, or other abuse will be tolerated. We like nice people way better than mean ones! +* Encourage diversity and participation: Make everyone in our community feel welcome, regardless of their background and the extent of their contributions, and do everything possible to encourage participation in our community. +* Keep it legal: Basically, don’t get anybody in trouble. Share only content that you own, do not share private or sensitive information, and don’t break laws. +* Stay on topic: Make sure that you are posting to the correct channel and avoid off-topic discussions. Remember when you update an issue or respond to an email you are potentially sending to a large number of people. Please consider this before you update. Also remember that nobody likes spam. + +#### Сообщения о проблемах + +If you find bugs, mistakes or inconsistencies in Origin’s code or documents, please let us know by filing a GitHub issue. No issue is too small. Help us fix our tpyos! + +#### Проблемы с безопасностью + +OUSD is still in early development, which means there may be problems with the protocol or in our implementations. We take security vulnerabilities very seriously. If you discover a security issue, please bring it to our attention right away! + +If you find a security vulnerability please send your report privately to [security@originprotocol.com](mailto:security@originprotocol.com) or send an encrypted message to [@joshfraser on Keybase](https://keybase.io/joshfraser). Please DO NOT file a public issue. Be sure to review our guidelines for responsible disclosure and eligibility for bug bounties. + +{% page-ref page="bug-bounties.md" %} + +#### **Улучшение сообщества** + +Origin is just as much about community as it is about our technology. + +We need constant help in improving our documentation, building new tools to interface with our platform, spreading the word to new users, helping new users getting setup and much more. + +Please get in touch if you would like to help out. Our `general` channel on [Discord](https://www.originprotocol.com/discord) is a great place to share ideas and volunteer to help. + +#### Вакансии на полный рабочий день + +Origin occasionally hires developers for part-time or full-time positions. + +We have a strong preference for hiring people who have already started contributing to the project. If you want a full time position on our team, your best shot is to engage with our team and start contributing code. It is very unlikely that we would offer you a full-time position on our engineering team unless you’ve had at least a few pull requests merged. + +If you are interested, check out [the Origin Protocol job listings](https://angel.co/originprotocol/jobs). If you’d like to help in other ways, please propose your ideas in [our Discord channel](https://www.originprotocol.com/discord). + + + diff --git a/ru/security-and-risks/insurance.md b/ru/security-and-risks/insurance.md new file mode 100644 index 000000000..161b837aa --- /dev/null +++ b/ru/security-and-risks/insurance.md @@ -0,0 +1,15 @@ +# Страхование + +OUSD holders can buy smart contract insurance to cover any losses that might result from any bugs or vulnerabilities in the OUSD contracts, including economic exploits (such as flash loans attacks). Кроме того, любой, кто хочет сделать финансовую ставку на безопасность наших контрактов, может получать доход, предоставляя покрытие. + +DeFi coverage for OUSD is currently available via[ Nexus Mutual](https://nexusmutual.io) and [InsurAce Protocol](https://www.insurace.io). These partnerships allow for more effective risk management by OUSD holders while creating new opportunities for coverage providers to profit. + +Read our [announcement post](https://medium.com/originprotocol/origin-partners-with-nexus-mutual-to-offer-defi-insurance-for-origin-dollar-ousd-6eb3432ee042) to learn how to [buy coverage](https://app.nexusmutual.io/cover/buy/get-quote?address=0xE75D77B1865Ae93c7eaa3040B038D7aA7BC02F70), [provide coverage](https://app.nexusmutual.io/staking), or [participate in shield mining campaigns](https://app.nexusmutual.io/rewards) with Nexus Mutual. You can learn more about InsurAce and how to buy coverage on their [user guide](https://docs.insurace.io/landing-page/documentation-1/user-guide) or [documentation](https://docs.insurace.io/landing-page/). + +**Nexus Mutual Coverage** + +Read our[ announcement post](https://medium.com/originprotocol/origin-partners-with-nexus-mutual-to-offer-defi-insurance-for-origin-dollar-ousd-6eb3432ee042) to learn how to[ buy coverage](https://app.nexusmutual.io/cover/buy/get-quote?address=0x0000000000000000000000000000000000000016),[ provide coverage](https://app.nexusmutual.io/staking), and[ participate in shield mining campaigns](https://app.nexusmutual.io/rewards) with Nexus Mutual. + +**InsurAce Protocol Coverage** + +Read InsurAce Protocol’s [User Guide](https://docs.insurace.io/landing-page/documentation-1/user-guide) to learn how to [buy coverage](https://docs.insurace.io/landing-page/documentation-1/user-guide/dashboard) and participate in [underwriting mining](https://docs.insurace.io/landing-page/documentation-1/user-guide/how-to-stake) for OUSD. diff --git a/ru/security-and-risks/risks.md b/ru/security-and-risks/risks.md new file mode 100644 index 000000000..98f5efde5 --- /dev/null +++ b/ru/security-and-risks/risks.md @@ -0,0 +1,44 @@ +# Риски + +{% hint style="danger" %} +Используйте на свой риск. Не вкладывайте больше капитала, чем вы готовы потерять. +{% endhint %} + +Как и в случае с любым продуктом DeFi, приносящим доход, с удержанием OUSD связаны риски, которые важно понимать. Эти риски можно условно разделить на 3 категории: + +* Риск смарт-контракта OUSD +* Риск базовой сторонней платформы +* Риск базового стейблкоина + +**Риск смарт-контракта OUSD** + +Наши смарт-контракты [прошли аудиты](audits.md) во множестве уважаемых компаний по безопасности. Однако важно отметить, что даже с учетом пройденных аудитов, все еще возможны логические ошибки, которые могут привести к потере средств держателей OUSD. Контракты используют сложную математику и логику. Несмотря на то, что мы приняли все меры предосторожности для обеспечения безопасности наших смарт-контрактов, напоминаем пользователям, что они используют их на свой страх и риск. Origin Protocol не несет ответственности за какую бы то ни было потерю средств, независимо от того, чья в этом вина. + +**Риск базовой сторонней платформы** + +OUSD надстроен поверх других платформ DeFi, таких как Aave, Compound и Curve, что увеличивает риски в смарт-контрактах. We are choosing to work with platforms that have literally billions of dollars of assets under management and have made a reasonable efforts to ensure the security of their protocols. Однако нет никаких гарантий, что базовые сторонние платформы будут продолжать работать по назначению, и любой сбой в базовой стратегии, скорее всего, приведет к потере средств для держателей OUSD. + +**Риски стейблкоина** + +Важно понимать, что OUSD настолько устойчив, насколько устойчивы стейблкоины, которые его обеспечивают. Any loss of value to an underlying stablecoin asset will cause a similar loss to the value of OUSD. While OUSD is designed to maintain a 1:1 relationship between supply and number of backing stablecoins, it does not guarantee which stablecoins will make up that backing nor the value of those coins. + +Важно отметить, что каждый из поддерживаемых стейблкоинов представляет собой нетривиальный риск для контрагента. У Tether, в частности, были хорошо задокументированные проблемы с банковской системой и нормативными требованиями. Кроме того, и в USDT, и в USDC есть лазейки, которые дают их эмитентам право замораживать деньги в кошельках их владельцев. While DAI does not have any direct backdoors, its assets can also be negatively impacted since USDC and USDT are accepted as collateral for minting DAI. + +**Risk mitigation** + +While it's impossible to guarantee our contracts are 100% safe, we have taken every step possible to mitigate the chance of losing funds: + +We regularly have our work [audited ](audits.md)by the top auditors in the industry. + +[DeFi insurance](insurance.md) is availble to offer smart contract coverage as an optional add-on service for OUSD holders. + +We have retained [Certora](https://www.certora.com) to formally verify the various security properties of our contracts. They helped us establish automated verifications that will run anytime we update our contract code. We have automated checking for common errors with [Slither](https://github.com/crytic/slither) and [Echidna](https://github.com/crytic/echidna) tests. Together, these alert our team to common security issues in addition to our own test suite. + +Code reviews involving our smart contracts are incredibly rigorous. We require at least two engineers to review each change with a detailed checklist and we prioritize security reviews over new feature development. + +Finally, we have formalized an engineering [rotation](https://github.com/OriginProtocol/security/blob/master/incidents/ROTATION.md) for reviewing [attacks on other projects](https://github.com/OriginProtocol/security/tree/master/incidents) as well as ensuring we deep dive into each of these reviews, including reviewing the affected contracts' source code ourselves. We've observed that attackers often exploit the same fundamental vulnerability on multiple different projects. By reviewing other project's vulnerabilities, we force ourselves to stay up to date on the latest security threats in our industry and are constantly learning from their mistakes. + +**Actions speak louder than words** + +You should also know that many members of the Origin team, including both founders, are holding a significant portion of their personal wealth in OUSD. Origin Protocol's corporate treasury is also holding millions of dollars in OUSD. We have skin in the game and are willing to put our own money at risk with the code we have written. + diff --git a/ru/security-and-risks/untitled.md b/ru/security-and-risks/untitled.md new file mode 100644 index 000000000..21b692090 --- /dev/null +++ b/ru/security-and-risks/untitled.md @@ -0,0 +1,20 @@ +# Audits + +{% hint style="danger" %} +The OUSD smart contracts have not yet been audited. We strongly recommend reviewing our smart contracts before depositing significant amounts of capital. +{% endhint %} + +**OUSD** + +Audits have already been scheduled with the respected security firm, [Trail of Bits](https://www.trailofbits.com/), for early October 2020. Their audit results will be publicly released as soon as they are available. + +**Supported Strategies** + +Multiple audits for Compound have already been completed and are available on their website. This includes the original code for the modified [Timelock](../smart-contracts/api/timelock-1.md) that OUSD is using. + +{% page-ref page="untitled.md" %} + + + + + diff --git a/ru/smart-contracts/api/README.md b/ru/smart-contracts/api/README.md new file mode 100644 index 000000000..6915b557c --- /dev/null +++ b/ru/smart-contracts/api/README.md @@ -0,0 +1,9 @@ +# API + +Documentation of contracts API used by the protocol: + +* [Хранилище (Vault)](vault.md) +* [ERC-20](erc-20-1.md) +* [Временная блокировка](timelock.md) +* [Stategies](strategies.md) + diff --git a/ru/smart-contracts/api/erc-20-1.md b/ru/smart-contracts/api/erc-20-1.md new file mode 100644 index 000000000..c03108bd8 --- /dev/null +++ b/ru/smart-contracts/api/erc-20-1.md @@ -0,0 +1,16 @@ +# ERC-20 + +{% hint style="success" %} +The main ERC20 address for Origin Dollar (OUSD) is: \ **0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +OUSD is an ERC-20 compliant token with one novel property (elastic supply) that is important to understand. + +{% hint style="warning" %} +Кошельки и биржи, которые хотят интегрировать OUSD, не должны кэшировать балансы OUSD, так как это значение будет часто меняться по мере начисления дохода держателям токенов. +{% endhint %} + +Самая большая разница, отделяющая OUSD от стандартного токена ERC-20, заключается в том, что функция OUSD `balanceOf()` будет возвращать переменную величину, основанную на общей стоимости пула, умноженной на долю держателя в пуле. Это различие важно понимать, особенно для кошельков и бирж, которые хотят интегрировать токен OUSD. Это значение следует извлекать в реальном времени, а не кэшировать, поскольку OUSD часто перераспределяется. + + + diff --git a/ru/smart-contracts/api/oracle.md b/ru/smart-contracts/api/oracle.md new file mode 100644 index 000000000..b52268236 --- /dev/null +++ b/ru/smart-contracts/api/oracle.md @@ -0,0 +1,7 @@ +# Оракулы + +{% hint style="info" %} +Документация скоро появится. +{% endhint %} + +OUSD uses Chainlink [oracles](../../core-concepts/price-oracles.md) to secure the protocol from pricing attacks. You can [read more about our decision to work with Chainlink](https://blog.originprotocol.com/how-origin-uses-chainlink-oracles-to-secure-ousd-bff5601e840e) on the Origin blog. diff --git a/ru/smart-contracts/api/ousd.md b/ru/smart-contracts/api/ousd.md new file mode 100644 index 000000000..ea3f2b41d --- /dev/null +++ b/ru/smart-contracts/api/ousd.md @@ -0,0 +1,8 @@ +# OUSD + +{% hint style="info" %} +Документация скоро появится. +{% endhint %} + + + diff --git a/ru/smart-contracts/api/strategies.md b/ru/smart-contracts/api/strategies.md new file mode 100644 index 000000000..fdf0a6f14 --- /dev/null +++ b/ru/smart-contracts/api/strategies.md @@ -0,0 +1,14 @@ +# Стратегии + +{% hint style="info" %} +Документация скоро появится. +{% endhint %} + +Новые стратегии могут быть добавлены или удалены в любое время, чтобы реагировать на новые рыночные реалии и диверсифицировать риски. + +После перехода к децентрализованному управлению мы намерены наделить сообщество возможностью предлагать новые стратегии и голосовать за соответствующий вес каждой стратегии в пуле. Мы ожидаем, что большинство держателей OUSD будут оценивать размер риска и возможностей при более высокой доходности, сохраняя более консервативные позиции по части средств. + + + + + diff --git a/ru/smart-contracts/api/timelock-1.md b/ru/smart-contracts/api/timelock-1.md new file mode 100644 index 000000000..88954aca7 --- /dev/null +++ b/ru/smart-contracts/api/timelock-1.md @@ -0,0 +1,22 @@ +# Timelock + +{% hint style="danger" %} +The timelock will be added soon after everything is verified as working. Until then, the contracts will be governed by Origin's 5 of 8 multi-sig. This allows for a faster response if any critical issues are discovered. +{% endhint %} + +The timelock contract enforces a 48 hour wait period before any changes to the OUSD contracts can be executed. The timelock can be called by our multi-sig and is the owner of our [ERC-20](../architecture.md), [Vault](vault.md), and [Strategies](strategies.md) contracts. Time-delaying admin actions gives users a chance to exit OUSD if its admins become malicious, are compromised, or make a change that the users do not like. + +{% hint style="info" %} +The timelock is a safety measure that gives OUSD holders 48 hours to withdraw their funds if they have objections to any proposed upgrades to the protocol. +{% endhint %} + +OUSD is using a slightly modified version of the [Compound Timelock](https://compound.finance/docs/governance) which has been [audited by OpenZeppelin](https://blog.openzeppelin.com/compound-finance-patch-audit/). The 3 notable differences are: + +1. OUSD will initially use a shorter wait period \(48 hours\) than Compound \(72 hours\) to allow for a faster response if any issues are discovered. +2. Once the 48 hours have passed, anyone is free to execute the call, not just the owner of the contract. +3. Deposits \(but not withdrawals or transfers\) can be immediately frozen without requiring the 48 waiting period. This is in case a major vulnerability is discovered. + + + + + diff --git a/ru/smart-contracts/api/timelock.md b/ru/smart-contracts/api/timelock.md new file mode 100644 index 000000000..ddab7418d --- /dev/null +++ b/ru/smart-contracts/api/timelock.md @@ -0,0 +1,15 @@ +# Временная блокировка + +The timelock contract enforces a 48 hour wait period before any changes to the OUSD contracts can be executed. The timelock can be called by our multi-sig and is the owner of our [ERC-20](../architecture.md), [Vault](vault.md), and [Strategies](strategies.md) contracts. Time-delaying admin actions gives users a chance to exit OUSD if its admins become malicious, are compromised, or make a change that the users do not like. + +{% hint style="info" %} +The timelock is a safety measure that gives OUSD holders 48 hours to withdraw their funds if they have objections to any proposed upgrades to the protocol. +{% endhint %} + +OUSD is using a slightly modified version of the [Compound Timelock](https://compound.finance/docs/governance) which has been [audited by OpenZeppelin](https://blog.openzeppelin.com/compound-finance-patch-audit/). The two notable differences are: + +1. OUSD will initially use a shorter wait period (48 hours) than Compound (72 hours) to allow for a faster response if any issues are discovered. +2. Some actions, such as reallocating funds between existing strategies and freezing deposits can be called immediately by a multisig wallet without requiring the 48 waiting period. Это было сделано на случай обнаружения серьезной уязвимости. + + + diff --git a/ru/smart-contracts/api/vault.md b/ru/smart-contracts/api/vault.md new file mode 100644 index 000000000..cee28b109 --- /dev/null +++ b/ru/smart-contracts/api/vault.md @@ -0,0 +1,184 @@ +--- +description: >- + Vault - это главный контракт протокола. Vault отвечает за создание и выкуп токенов OUSD, перебалансировку средств между различными поддерживаемыми стратегиями и ликвидацию токенов вознаграждения. +--- + +# Хранилище (Vault) + +## Единицы измерения + +Все суммы OUSD, переданные или возвращенные методами Vault, являются 18-ти разрядными. К примеру, 1 OUSD выражается как 1000000000000000000. + +Разрядность других стейблкоинов отличается. DAI использует 18 знаков после запятой, в то время как USDC и USDT имеют только 6 разрядов. + +The protocol was updated in November are [currently underway](https://github.com/OriginProtocol/origin-dollar/issues/590) to increase the resolution of rebasing calculations from 18 decimals to 27 decimals. The OUSD token itself will still retain 18 decimals of precision and user balances should not change. + +## Методы‌ + +### mint() + +**`function mint(address _asset, uint256 _amount, uint256 _minimumOusdAmount)`**‌ + +Mints OUSD in exchange for a deposit of a certain `_amount` of stablecoin specified by the `_asset` parameter. The caller receives a certain amount of OUSD depending on the **exchange rate**. + +| Имя параметра | Тип | Описание | +| --------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | +| \_asset | адрес | Address of the [supported](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/core-concepts/supported-assets) stablecoin | +| \_amount | uint256 | Депозит, выраженный в десятичных единицах | +| \_minimumOusdAmount | uint256 | Минимальное количество OUSD, получаемое в процессе вызова функции. The call to mint() reverts if the minimum is not met. | + +### mintMultiple() + +**`function mintMultiple(address[] _assets, uint256[] _amounts, uint256 _minimumOusdAmount)`**‌ + +Mints OUSD in exchange for a deposit of multiple stablecoins in a single call. Stablecoins are specified by the `_assets` array parameter and the amounts by the `_amounts` array parameter. The caller receives a certain amount of OUSD depending on the **exchange rate**. + +| Имя параметра | Тип | Описание | +| --------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| \_assets | address\[] | Addresses of the [supported](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/core-concepts/supported-assets) stablecoins | +| \_amounts | uint256\[] | Депозит, выраженный в десятичных единицах | +| \_minimumOusdAmount | uint256 | Минимальное количество OUSD, получаемое в процессе вызова функции. The call to mint() reverts if the minimum is not met. | + +{% hint style="warning" %} +On redemptions, it is the protocol and not the user that decides which stablecoin(s) are returned to the user. This decision of which coin(s) to return is based on the internal ratios of the assets that are being held in the vault.‌ +{% endhint %} + +### redeem() + +**`function redeem(uint256 _amount)`**‌ + +OUSD specified by the `_amount` parameter is redeemed in exchange for one or multiple supported stablecoins. Amount of stablecoins received depends on the **exchange rate**. + +| Имя параметра | Тип | Описание | +| ------------- | ------- | ------------------------------------------------- | +| \_amount | uint256 | количество OUSD, выраженное в десятичных единицах | + +### redeemAll()‌ + +**`function redeemAll()`**‌ + +All OUSD in user's possession is redeemed in exchange for one or multiple supported stablecoins. Amount of stablecoins received depends on the **exchange rate**. + +### rebase() + +**`function rebase()`**‌ + +Updates the balances for all users based on the value of the assets currently stored in the vault. Returns total value of the underlying assets and strategies represented by `uint256` type.‌ + +### allocate() + +**`function allocate()`**‌ + +Moves the assets under management into their prescribed [Stategies](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/architecture/strategies) to maximize yield and diversify risk.‌ + +### totalValue() + +**`function totalValue()`**‌ + +Returns total value of underlying assets and strategies. + +| Имя параметра | Тип | Описание | +| ------------- | ------- | -------------------------------------------- | +| value | uint256 | общая стоимость базовых активов и стратегий. | + +### checkBalance() + +**`function checkBalance(address _asset)`**‌ + +Returns the balance of an asset specified by the`_asset` parameter held in Vault and all strategies represented by `uint256` type. + +| Имя параметра | Тип | Описание | +| ------------- | ----- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | +| \_asset | адрес | Address of the [supported](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/core-concepts/supported-assets) stablecoin | + +### calculateRedeemOutputs() + +**`function calculateRedeemOutputs(uint256 _amount)`**‌ + +Calculate the mix of stablecoins that a `redeem` function would return when redeeming certain amount of OUSD specified by the `_amount` parameter. Returns an array of stablecoin values. + +To attribute the stablecoin values to the correct stablecoin currency this call should be used in conjunction with `getAllAssets` function that returns an array of stablecoin addresses. + +The index of an array that is returned by the `calculateRedeemOutputs` corresponds to the stablecoin address with the same index in an array returned by the `getAllAssets` function. + +| Имя параметра | Тип | Описание | +| ------------- | ------- | -------------------------------------------- | +| \_amount | uint256 | сумма OUSD, выраженная в десятичных единицах | + +| `Возврат` имени | Тип | Описание | +| --------------- | ----------- | --------------------------------------------------------- | +| outputs | uint256\[] | массив суммы активов стейблкоина `redeem`, функция вернет | + +### getAssetCount() + +**`function getAssetCount()`**‌ + +Return the number of supported stablecoin assets represented by `uint256` type.‌ + +### getAllAssets() + +**`function getAllAssets()`**‌ + +Return all assets addresses of supported stablecoin assets in order represented by `uint256` type.‌ + +### getStrategyCount()‌ + +**`function getStrategyCount()`**‌ + +Return the number of strategies active on the Vault represented by `uint256` type.‌ + +### getAPR() + +**`function getAPR()`**‌ + +Return the total annual percentage yield (APR) of the Vault and all Strategies represented by `uint256` type. Resulting number has 18 decimal places.‌ + +### isSupportedAsset() + +**`function isSupportedAsset(address _asset)`**‌ + +Return the boolean that is true if the asset specified by the `_asset` parameter is supported by the Vault. + +| Имя параметра | Тип | Описание | +| ------------- | ----- | ----------------- | +| \_asset | адрес | Адрес стейблкоина | + +### priceUSDMint() + +**`function priceUSDMint(string symbol)`**‌‌ + +Returns the exchange rate price of a stable coin specified by the `symbol` parameters used when minting OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Имя параметра | Тип | Описание | +| ------------- | ------ | ------------------ | +| символ | строка | Символ стейблкоина | + +### priceUSDRedeem() + +**`function priceUSDRedeem(string symbol)`**‌‌ + +Returns the exchange rate price of a stable coin specified by the `symbol` parameters used when redeeming OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Имя параметра | Тип | Описание | +| ------------- | ------ | ------------------ | +| символ | строка | Символ стейблкоина | + +### priceAssetUSDMint()‌ + +**`function priceAssetUSDMint(address _asset)`**‌‌ + +Returns the exchange rate price of a stable coin specified by the `_asset` parameters used when minting OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Имя параметра | Тип | Описание | +| ------------- | ----- | ------------------ | +| \_asset | адрес | Адрес стейблкоина‌ | + +### priceAssetUSDRedeem()‌ + +**`function priceAssetUSDRedeem(address _asset)`**‌‌‌ + +Returns the exchange rate price of a stable coin specified by the `_asset` parameters used when redeeming OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Имя параметра | Тип | Описание | +| ------------- | ----- | ----------------- | +| \_asset | адрес | Адрес стейблкоина | diff --git a/ru/smart-contracts/architecture.md b/ru/smart-contracts/architecture.md new file mode 100644 index 000000000..ef10f1cf4 --- /dev/null +++ b/ru/smart-contracts/architecture.md @@ -0,0 +1,18 @@ +# Архитектура + +![](../.gitbook/assets/ousd\_docs\_graphics\_3.png) + +OUSD состоит из серии смарт-контрактов. Каждый из этих контрактов заключен в прокси-контракт, который можно усовершенствовать с помощью протоколов управления. + +На внутреннем уровне доля владения в хранилище отслеживается с помощью рейтинговой системы, которая представляет процент доли владения в хранилище для каждого держателя. Контракт [ERC-20](api/erc-20-1.md) при просмотре баланса или инициировании перевода между кошельками выражает баланс в долларах США. + +[Vault](api/vault.md) отвечает за производство и сжигание OUSD. Он также определяет процент активов, развернутых для каждой из поддерживаемых [стратегий](../core-concepts/supported-strategies/). To optimize gas costs, the vault may maintain a buffer to allow most deposits and redemptions to occur without winding/unwinding assets from strategies. + +The Flipper is a smart contract for users to swap in and out of OUSD cheaply for any of DAI, USDC, or USDT at a fixed 1:1 rate. This contract is used as an alternative way to route user transactions originating from the web app. It's important to note that this contract may be empty on one side (e.g., contain 0 OUSD balance), and thus sometimes provides limited swap routes. While limited in functionality, Flipper uses around 45% less gas than Uniswap v3 due to its simplicity. + +The Harvester contract collects reward tokens earned by the strategies, sells them, and sends the resulting stablecoins to the Dripper to be released to the vault. Anyone can call the harvest and earn 1% of the resulting USDT for doing so. This creates a self-incentivizing system that operates at a known fixed cost. See our [incentivized-harvesting-guide.md](../guides/incentivized-harvesting-guide.md "mention") for details. + +The Dripper contract buffers aproximately one week of reward token sales proceeds and makes it avaiable at a smooth rate to the vault. This keeps OUSD yield from being extremely spiky when harvests come in. The rate is recalculated at least once per day and is the rate that it would take to distribute the current dripper holdings out over a one week period. + + + diff --git a/ru/smart-contracts/erc-20.md b/ru/smart-contracts/erc-20.md new file mode 100644 index 000000000..c3a21d407 --- /dev/null +++ b/ru/smart-contracts/erc-20.md @@ -0,0 +1,12 @@ +# Architecture + +![](../.gitbook/assets/ousd_docs_graphics_3.png) + +OUSD is made up of a series of smart contracts. Each of these contracts is wrapped in a proxy contract that can be upgraded via the governance protocols. + +Internally, ownership in the pool is tracked using a credits system that represents the percent ownership of the pool for each holder. The [ERC-20](api/erc-20-1.md) contract handles the conversion to USD terms when viewing a balance or initiating a transfer between wallets. + +The [Vault](api/vault.md) is responsible for minting and burning OUSD. It also enforces the percentage of assets that are deployed to each of the supported [Strategies](../core-concepts/supported-strategies/). To optimize gas costs, the vault maintains a buffer to allow most deposits and redemptions to occur without winding/unwinding assets from strategies. + + + diff --git a/ru/smart-contracts/registry.md b/ru/smart-contracts/registry.md new file mode 100644 index 000000000..eb647fa7a --- /dev/null +++ b/ru/smart-contracts/registry.md @@ -0,0 +1,156 @@ +# Реестр + +Вот полный реестр смарт-контрактов OUSD, которые были развернуты в основной сети Ethereum. + +{% hint style="success" %} +The main ERC20 address for Origin Dollar (OUSD) is: \ +**0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +{% tabs %} +{% tab title="Core" %} +Well-known addresses (proxy wrappers): + + + +| Контракт | Адрес | ENS | +| ----------------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------- | +| OUSD | [0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86](https://etherscan.io/address/0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86) |

ousd.eth

origindollar.eth

| +| Хранилище (Vault) | [0xE75D77B1865Ae93c7eaa3040B038D7aA7BC02F70](https://etherscan.io/address/0xe75d77b1865ae93c7eaa3040b038d7aa7bc02f70) | [originvault.eth](https://etherscan.io/address/originvault.eth) | + + + +Контракты на внутреннюю реализацию. The Vault is split into VaultAdmin and VaultCore to work around the maximum contract size limit on Ethereum: + + + +| Контракт | Адрес | +| ------------- | --------------------------------------------------------------------------------------------------------------------- | +| OUSD | [0x33db8d52d65F75E4cdDA1b02463760c9561A2aa1](https://etherscan.io/address/0x33db8d52d65F75E4cdDA1b02463760c9561A2aa1) | +| VaultAdmin | [0x3EB68D8f4992A0e34aA58cc3dF86A40814078cF6](https://etherscan.io/address/0x3EB68D8f4992A0e34aA58cc3dF86A40814078cF6) | +| ЯдроХранилища | [0x226de75867B2f785BA19600e2a7e6eFccD57157B](https://etherscan.io/address/0x226de75867B2f785BA19600e2a7e6eFccD57157B) | +{% endtab %} + +{% tab title="Strategies" %} +Well-known addresses (proxy wrappers): + + + +| Стратегия | Адрес | Автоматическое размещение | +| --------- | -------------------------------------------------------------------------------------------------------------------------- | ---------------------------- | +| Aave | [0x5e3646A1Db86993f73E6b74A57D8640B69F7e259](https://etherscan.io/address/0x5e3646A1Db86993f73E6b74A57D8640B69F7e259) | Manual allocation | +| Compound | [0x9c459eeb3FA179a40329b81C1635525e9A0Ef094](https://etherscan.io/address/0x9c459eeb3FA179a40329b81C1635525e9A0Ef094) | 100% of USDC, USDT and DAI | +| Convex | [0xEA2Ef2e2E5A749D4A66b41Db9aD85a38Aa264cb3](https://etherscan.io/address/0xEA2Ef2e2E5A749D4A66b41Db9aD85a38Aa264cb3#code) | Аллокация выбирается вручную | + + + +Контракты на внутреннюю реализацию: + + + +| Strategy | Address | +| -------- | -------------------------------------------------------------------------------------------------------------------------- | +| Aave | [0xA050eBE34Be464902F7E0F7F451f4B5253d57114](https://etherscan.io/address/0xA050eBE34Be464902F7E0F7F451f4B5253d57114) | +| Compound | [0x47f3eb71b5507df5ab6ac7f8660ef282ab0e560f](https://etherscan.io/address/0x47f3eb71b5507dF5Ab6aC7F8660Ef282Ab0E560f) | +| Convex | [0x08f3a0637851aA1B0E0750aA3d46E0E356f349aC](https://etherscan.io/address/0x08f3a0637851aa1b0e0750aa3d46e0e356f349ac#code) | + + + +Yield harvesting and collection: + + + +| | | +| --------- | -------------------------------------------------------------------------------------------------------------------------- | +| Contract | Address | +| Harvester | [0x21fb5812d70b3396880d30e90d9e5c1202266c89](https://etherscan.io/address/0x21fb5812d70b3396880d30e90d9e5c1202266c89#code) | +| Dripper | [0x80c898ae5e56f888365e235ceb8cea3eb726cb58](https://etherscan.io/address/0x80c898ae5e56f888365e235ceb8cea3eb726cb58#code) | +{% endtab %} + +{% tab title="Oracles" %} +The following Chainlink oracles are used to protect the vault in case a backing stablecoin loses value. They also offer slippage protection when harvesting rewards tokens or executing the OGN buyback. + + + +| Pair | Contract | +| ------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| [USDT/USD](https://data.chain.link/ethereum/mainnet/stablecoins/usdt-usd) | [0x3E7d1eAB13ad0104d2750B8863b489D65364e32D](https://etherscan.io/address/0x3E7d1eAB13ad0104d2750B8863b489D65364e32D) | +| [USDC/USD](https://data.chain.link/ethereum/mainnet/stablecoins/usdc-usd) | [0x8fFfFfd4AfB6115b954Bd326cbe7B4BA576818f6](https://etherscan.io/address/0x8fFfFfd4AfB6115b954Bd326cbe7B4BA576818f6) | +| [DAI/USD](https://data.chain.link/ethereum/mainnet/stablecoins/dai-usd) | [0xAed0c38402a5d19df6E4c03F4E2DceD6e29c1ee9](https://etherscan.io/address/0xAed0c38402a5d19df6E4c03F4E2DceD6e29c1ee9) | +| [COMP/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/comp-usd) | [0xdbd020caef83efd542f4de03e3cf0c28a4428bd5](https://etherscan.io/address/0xdbd020caef83efd542f4de03e3cf0c28a4428bd5) | +| [AAVE/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/aave-usd) | [0x547a514d5e3769680Ce22B2361c10Ea13619e8a9](https://etherscan.io/address/0x547a514d5e3769680Ce22B2361c10Ea13619e8a9) | +| [CRV/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/crv-usd) | [0xcd627aa160a6fa45eb793d19ef54f5062f20f33f](https://etherscan.io/address/0xcd627aa160a6fa45eb793d19ef54f5062f20f33f) | +| [CVX/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/cvx-usd) | [0xd962fC30A72A84cE50161031391756Bf2876Af5D](https://etherscan.io/address/0xd962fC30A72A84cE50161031391756Bf2876Af5D) | +| [OGN/ETH](https://data.chain.link/ethereum/mainnet/crypto-eth/ogn-eth) | [0x2c881b6f3f6b5ff6c975813f87a4dad0b241c15b](https://etherscan.io/address/0x2c881b6f3f6b5ff6c975813f87a4dad0b241c15b) | +{% endtab %} + +{% tab title="Governance" %} + + +| Contract | Address | ENS | +| ------------------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------- | +| 5 of 8 Multisig | [0xbe2AB3d3d8F6a32b96414ebbd865dBD276d3d899](https://etherscan.io/address/0xbe2AB3d3d8F6a32b96414ebbd865dBD276d3d899) | [originprotocol.eth](https://etherscan.io/address/originprotocol.eth) | +| 2 of 9 Multisig | [0xF14BBdf064E3F67f51cd9BD646aE3716aD938FDC](https://etherscan.io/address/0xF14BBdf064E3F67f51cd9BD646aE3716aD938FDC) | [originstrategist.eth](https://etherscan.io/address/originstrategist.eth) | +| Governor / Timelock | [0x72426BA137DEC62657306b12B1E869d43FeC6eC7](https://etherscan.io/address/0x72426BA137DEC62657306b12B1E869d43FeC6eC7) |

origingovernor.eth

origintimelock.eth

| +| OGN Buyback | [0x77314EB392b2be47C014cde0706908b3307Ad6a9](https://etherscan.io/address/0x77314EB392b2be47C014cde0706908b3307Ad6a9) | [originbuyback.eth](https://etherscan.io/address/originbuyback.eth) | +{% endtab %} + +{% tab title="Stablecoins" %} +| Contract | Address | +| ------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| [USDT](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | [0xdac17f958d2ee523a2206206994597c13d831ec7](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | +| [USDC](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | [0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | +| [DAI](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | [0x6b175474e89094c44da98b954eedeac495271d0f](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | +{% endtab %} + +{% tab title="Staking" %} +| Contract | Address | ENS | +| ----------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- | +| OGN Staking | [0x501804B374EF06fa9C427476147ac09F1551B9A0](https://etherscan.io/address/0x501804B374EF06fa9C427476147ac09F1551B9A0) | [originstaking.eth](https://etherscan.io/address/originstaking.eth) | + + + +Internal implementation contracts: + + + +| Contract | Address | +| ----------- | --------------------------------------------------------------------------------------------------------------------- | +| OGN Staking | [0x8cd68a1e0b79150455c5498882d5d5d3df2dde08](https://etherscan.io/address/0x8cd68a1e0b79150455c5498882d5d5d3df2dde08) | + + + +OUSD compensation contract ([details](https://medium.com/originprotocol/origin-delivers-on-compensation-promise-claim-your-ousd-and-ogn-now-a9fa9b840476)): + + + +| Contract | Address | +| ----------------- | --------------------------------------------------------------------------------------------------------------------- | +| OUSD Compensation | [0x9C94df9d594BA1eb94430C006c269C314B1A8281](https://etherscan.io/address/0x9C94df9d594BA1eb94430C006c269C314B1A8281) | +{% endtab %} + +{% tab title="Flipper" %} +Flipper is a gas-optimized way for users to swap in and out of OUSD at a fixed 1:1 rate with other stablecoins. This contract may become empty on one side (e.g., contain 0 OUSD balance), and thus sometimes provides limited swap routes. + + + +| Contract | Address | ENS | +| -------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- | +| Flipper | [0xcecaD69d7D4Ed6D52eFcFA028aF8732F27e08F70](https://etherscan.io/address/0xcecaD69d7D4Ed6D52eFcFA028aF8732F27e08F70) | [originflipper.eth](https://etherscan.io/address/originflipper.eth) | +{% endtab %} + +{% tab title="Wrapped" %} +Wrapped OUSD\ +\ **Well known proxy address:** - [0xD2af830E8CBdFed6CC11Bab697bB25496ed6FA62](https://etherscan.io/address/0xD2af830E8CBdFed6CC11Bab697bB25496ed6FA62) + +Internal implementation address - [0xbf3b9b141cb3629f5bb8f721cba9265c92494539](https://etherscan.io/address/0xbf3b9b141cb3629f5bb8f721cba9265c92494539) +{% endtab %} +{% endtabs %} + + + + + + + + diff --git a/th/README.md b/th/README.md new file mode 100644 index 000000000..7c08388ed --- /dev/null +++ b/th/README.md @@ -0,0 +1,29 @@ +--- +description: The first stablecoin that earns a yield while it's still in your wallet +--- + +# Introduction + +## **A Better Form of Money** + +Origin Dollar (OUSD) is a new stablecoin that was initially launched in September 2020 on the Ethereum network. Its design is superior to existing stablecoins because OUSD captures competitive yields while being passively held in wallets. + +![](.gitbook/assets/origin-dollar-summary.jpeg) + +**Background** + +In 1999, Yu Pan, Origin’s R\&D engineer, and his fellow PayPal co-founders [conceived](https://www.cnbc.com/2017/08/14/david-sacks-cryptocurrency-interview.html) of creating “the new world currency”, complete with interest yielding strategies and debit cards without having to connect to traditional banking systems. Several pivots and an eBay acquisition later, PayPal dropped its ambitions in this area. + +Almost two decades later, Tether introduced the concept of a USD-denominated stablecoin in 2014. Since then, stablecoins have proven themselves as an ideal way of transferring value without exposing users to the price volatility of free-floating currencies. Today, more value is [transferred via Tether](https://www.bloomberg.com/news/articles/2019-10-01/tether-not-bitcoin-likely-the-world-s-most-used-cryptocurrency) than with Bitcoin. Meanwhile, Decentralized Finance (DeFi) has experienced an explosion of growth with [billions of dollars](https://defipulse.com) of capital now locked up in smart contracts that generate yields from lending and trading protocols. + +One of the problems with existing stablecoins is that users have to constantly choose between holding an easily spendable coin and earning yields by locking their tokens up in smart contracts. For example, users that lock up USDC in Aave cannot spend a portion of that USDC simultaneously. Expensive Ethereum gas fees serve as "switching costs" each time those users want to switch between spending mode and earning mode. + +To make matters worse, yields from lending and trading activities change rapidly. Sophisticated DeFi yield earners are familiar with constantly having to rebalance their portfolio of assets across many competing platforms. This is time-consuming and expensive as gas fees once again eat into yields. In addition, it is time-consuming to calculate real ROI as APYs are unstable and constantly fluctuating. There isn't an easy unit of account. As a result, while DeFi is growing extremely rapidly, it still makes it difficult for many cryptocurrency users to participate. + +With OUSD, there’s no need to unwind complicated positions when you want to spend your OUSD. You can transfer it freely without having to pay gas to unlock spendable capital. In addition, OUSD gives you access to some of the highest-earning opportunities across DeFi with none of the hassles. The OUSD smart contract will deploy your underlying capital to a diversified set of yield-earning strategies, rebalancing over time to achieve great yields while diversifying risk. Earnings automatically accrue in your wallet and compound continuously while you hold OUSD. Again, no staking or lockups are required. OUSD also serves as an ideal unit of account. DeFi investors no longer need complicated spreadsheets to calculate their earnings as they can easily see their constantly updated OUSD balances in real-time as their interest compounds automatically. OUSD is an ideal stablecoin for DeFi yield farmers and novice cryptocurrency users alike. + +Created by cryptocurrency and fintech veterans, the Origin Dollar is brought to you by the [team](https://www.originprotocol.com/team) at [Origin Protocol](https://www.originprotocol.com) that includes serial entrepreneurs, early cryptocurrency investors, early employees at YouTube, engineering managers at Google/Dropbox, and one of the Paypal co-founders, Yu Pan. + +For those interested in diving into the technical details of how it works, these docs are a great place to start. We encourage developers to audit and contribute to our [Github](http://www.github.com/OriginProtocol) (100% open-source). Our team hangs out in [Discord](https://www.originprotocol.com/discord) if you have questions or need help getting started. + +Welcome to the future of money. diff --git a/th/SUMMARY.md b/th/SUMMARY.md new file mode 100644 index 000000000..a389e6c18 --- /dev/null +++ b/th/SUMMARY.md @@ -0,0 +1,64 @@ +# Table of contents + +* [Introducing OUSD](README.md) +* [How It Works](how-it-works.md) +* [Getting Started](getting-started.md) +* [Analytics Dashboard](analytics-dashboard.md) +* [FAQ](faq.md) + +## Core Concepts + +* [Elastic Supply](core-concepts/elastic-supply/README.md) + * [Rebasing & Smart Contracts](core-concepts/elastic-supply/rebasing-and-smart-contracts.md) +* [Yield Generation](core-concepts/yield-generation/README.md) + * [Lending](core-concepts/yield-generation/lending.md) + * [Market Making](core-concepts/yield-generation/market-making.md) + * [Rewards](core-concepts/yield-generation/rewards.md) +* [Wrapped OUSD](core-concepts/wrapped-ousd.md) +* [Supported Stablecoins](core-concepts/supported-stablecoins/README.md) + * [USDT](core-concepts/supported-stablecoins/usdt.md) + * [USDC](core-concepts/supported-stablecoins/usdc.md) + * [DAI](core-concepts/supported-stablecoins/dai.md) +* [Supported Strategies](core-concepts/supported-strategies/README.md) + * [Compound](core-concepts/supported-strategies/compound.md) + * [Aave](core-concepts/supported-strategies/aave.md) + * [Curve](core-concepts/supported-strategies/curve.md) + * [Convex](core-concepts/supported-strategies/convex.md) +* [Fund Management](core-concepts/fund-management.md) +* [Price Oracles](core-concepts/price-oracles.md) + +## Governance + +* [Principles](governance/principles.md) +* [Admin Privileges](governance/admin-privileges.md) +* [OGN Staking](governance/ogn-staking.md) +* [Contributing](governance/contributing.md) +* [Vote Delegation](governance/vote-delegation.md) + +## Smart Contracts + +* [Architecture](smart-contracts/architecture.md) +* [Registry](smart-contracts/registry.md) +* [API](smart-contracts/api/README.md) + * [Vault](smart-contracts/api/vault.md) + * [ERC-20](smart-contracts/api/erc-20-1.md) + * [Timelock](smart-contracts/api/timelock.md) + * [Strategies](smart-contracts/api/strategies.md) + +## Security & Risks + +* [Risks](security-and-risks/risks.md) +* [Audits](security-and-risks/audits.md) +* [Insurance](security-and-risks/insurance.md) +* [Bug Bounties](security-and-risks/bug-bounties.md) + +## Guides + +* [Integration Guide For Exchanges](guides/integration-guide-for-exchanges.md) +* [Incentivized Harvesting Guide](guides/incentivized-harvesting-guide.md) + +## Links + +* [Github](https://www.github.com/originprotocol/origin-dollar) +* [Discord](https://www.originprotocol.com/discord) +* [originprotocol.com](https://www.originprotocol.com) diff --git a/th/analytics-dashboard.md b/th/analytics-dashboard.md new file mode 100644 index 000000000..9c3e6a577 --- /dev/null +++ b/th/analytics-dashboard.md @@ -0,0 +1,31 @@ +# Analytics Dashboard + +{% hint style="info" %} +Visit [analytics.ousd.com](https://analytics.ousd.com) to see how funds are allocated, view historical performance data, and track your personal gains. +{% endhint %} + +The [APY dashboard](https://analytics.ousd.com/apy) is primarily intended for consumption by our engineering team, but we went ahead and deployed it since our ethos is "public by default" and everything that we do is [open-source](http://github.com/OriginProtocol). Unfortunately, that often means erring on the side of transparency and not necessarily the side of taking the time to explain things clearly. + +Before diving into the yield calculation, it's important to understand how OUSD works both in terms of [yield generation](https://docs.ousd.com/core-concepts/yield-generation) and [rebasing](https://docs.ousd.com/core-concepts/elastic-supply). You can read all about that in these [docs](https://docs.ousd.com), including [the part about smart contracts being excluded from yield](https://docs.ousd.com/core-concepts/elastic-supply/rebasing-and-smart-contracts). + +To summarize how APY is calculated, it's the annualized rate of change in OUSD's internal accounting of users' balances between two points in time. To understand that, let's break down the columns in the historical APY table (in reverse order). + +**Ratio** + +There are two types of OUSD balances: rebasing (most accounts) and non-rebasing (smart contracts that have not opted in). The OUSD token contract maintains a separate internal accounting for each type of balance using what it calls "credits". The ratio shown here is the rebasing supply of OUSD divided by the rebasing credits, which gives us the exchange rate between the two. + +**Credits** + +Some smart contracts holding OUSD have unique credit balances because their rebasing status has changed at some point in the past (by opting in or out). Here we show the sum of all rebasing credits and non-rebasing credits. When multiplied by the ratio, it gives the difference between backing supply and non-rebasing supply. + +**Non-rebasing** + +This is the portion of supply held in other smart contracts that have not opted in to rebasing. When added to (credits \* ratio), this equals backing supply. Note also that the **%** column shows the percentage of OUSD that is non-rebasing. + +**Boost** + +The APY is effectively "boosted" for rebasing accounts thanks to the fact that some OUSD is non-rebasing. Think about all of the stablecoins that were used as collateral to mint the non-rebasing OUSD. Those stablecoins are still earning through our yield farming strategies, but the gains are accruing only to the rebasing accounts. The result is that the effective APY is higher than it would be without this mechanism. The boost is the measure of this difference. If boost is 100%, then regular OUSD holders are enjoying double the APY that they otherwise would. + +**APR/APY calculation** + +Bringing this full circle, we currently measure yield by measuring the change in the [rebasing credits per token](https://github.com/OriginProtocol/origin-dollar/blob/master/contracts/contracts/token/OUSD.sol#L45) between two points in time. But there are a few other considerations to note. First, we have to make an assumption about how many Ethereum blocks are mined on an average day. We use a [fixed 6,500](https://github.com/OriginProtocol/ousd-analytics/blob/master/eagleproject/core/views.py#L43), but the actual number of blocks per day is variable. Second, we need a reasonable time horizon to measure. We focus on 30 days, which has proven to be a relatively consistent window of time during which a complete sample of yield-generating activities has occurred. Third, we convert APR into APY by assuming [constant daily compounding](https://github.com/OriginProtocol/ousd-analytics/blob/master/eagleproject/core/views.py#L449-L451). In other words, yield is constantly being reinvested into the same strategies. Finally, there is one notable drawback to using the rebase ratio to measure yield. Since rebase events currently occur sporadically (and not very frequently in a world of high gas prices), the APY won't reflect earnings that have not yet been translated to account balances. For example, there could be an interest rate spike in Compound or a volume spike in the Curve 3pool strategy, which would cause OUSD to earn more than it does on an average day. Until [the rebase method](https://github.com/OriginProtocol/origin-dollar/blob/master/contracts/contracts/vault/VaultCore.sol#L365-L370) gets called, the APY will underreport these earnings. In fact, anyone who sells OUSD during that time would be missing out on the "[next rebase](https://analytics.ousd.com)". The good news is that you should be able to observe the change in your balance over one week and it (annualized) should approximately equal our advertised APY. diff --git a/th/architecture/erc-20-1.md b/th/architecture/erc-20-1.md new file mode 100644 index 000000000..a9caff400 --- /dev/null +++ b/th/architecture/erc-20-1.md @@ -0,0 +1,19 @@ +# ERC-20 + +{% hint style="success" %} +The main ERC20 address for Origin Dollar \(OUSD\) is: +**0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +OUSD is an ERC-20 compliant token with one novel property that is important to understand. + +{% hint style="warning" %} +Wallets and exchanges that wish to integrate OUSD should not cache token balances for OUSD as this value will change frequently as yield is accrued to token holders. +{% endhint %} + +The biggest difference separating OUSD from your average ERC-20 token is the way OUSD's`balanceOf()` function will return a variable amount based on the total value of the pool multiplied by the holder's stake in the pool. This difference is vital to understand, particularly for wallets and exchanges that wish to integrate the OUSD token. This value should be fetched in real-time instead of being cached since OUSD rebases frequently. + + + + + diff --git a/th/architecture/erc-20.md b/th/architecture/erc-20.md new file mode 100644 index 000000000..9a789241b --- /dev/null +++ b/th/architecture/erc-20.md @@ -0,0 +1,12 @@ +# Overview + +![](../.gitbook/assets/ousd_docs_graphics_3.png) + +OUSD is made up of a series of smart contracts. Each of these contracts is wrapped in a proxy contract that can be upgraded via the governance protocols. + +Internally, ownership in the pool is tracked using a credits system that represents the percent ownership of the pool for each holder. The ERC-20 contract handles the conversion to USD terms when viewing a balance or initiating a transfer between wallets. + +The Vault is responsible for minting and burning OUSD. It also enforces the percentage of assets that are deployed to each of the supported [Strategies](../core-concepts/supported-strategies/). To optimize gas costs, the vault maintains a buffer to allow most deposits and redemptions to occur without winding/unwinding assets from strategies. + + + diff --git a/th/architecture/strategies.md b/th/architecture/strategies.md new file mode 100644 index 000000000..3133d5b03 --- /dev/null +++ b/th/architecture/strategies.md @@ -0,0 +1,14 @@ +# Strategies + +New strategies can be added or removed at any time to respond to new market realities and diversify risk. + +At launch, OUSD will take advantage of a single strategy and deploy deposited capital to Compound. We intend to deploy many other strategies soon thereafter. + +Once we migrate to decentralized governance, it is our intent for the community to propose new strategies and to vote on the appropriate weight for each strategy in the pool. We anticipate that most OUSD holders will value having some exposure to higher yield opportunities while maintaining more conservative positions for a portion of the funds. + + + + + + + diff --git a/th/architecture/timelock.md b/th/architecture/timelock.md new file mode 100644 index 000000000..b26b30f1c --- /dev/null +++ b/th/architecture/timelock.md @@ -0,0 +1,22 @@ +# Timelock + +{% hint style="danger" %} +The timelock will be added soon after everything is verified as working. Until then, the contracts will be governed by Origin's 5 of 8 multi-sig. This allows for a faster response if any critical issues are discovered. +{% endhint %} + +The timelock contract enforces a 48 hour wait period before any changes to the OUSD contracts can be executed. The timelock can be called by our multi-sig and is the owner of our [ERC-20](erc-20.md), [Vault](vault.md), and [Strategies](strategies.md) contracts. Time-delaying admin actions gives users a chance to exit OUSD if its admins become malicious, are compromised, or make a change that the users do not like. + +{% hint style="info" %} +The timelock is a safety measure that gives OUSD holders 48 hours to withdraw their funds if they have objections to any proposed upgrades to the protocol. +{% endhint %} + +OUSD is using a slightly modified version of the [Compound Timelock](https://compound.finance/docs/governance) which has been [audited by OpenZeppelin](https://blog.openzeppelin.com/compound-finance-patch-audit/). The 3 notable differences are: + +1. OUSD will initially use a shorter wait period \(48 hours\) than Compound \(72 hours\) to allow for a faster response if any issues are discovered. +2. Once the 48 hours have passed, anyone is free to execute the call, not just the owner of the contract. +3. Deposits \(but not withdrawals or transfers\) can be immediately frozen without requiring the 48 waiting period. This is in case a major vulnerability is discovered. + + + + + diff --git a/th/architecture/vault.md b/th/architecture/vault.md new file mode 100644 index 000000000..ebb2a96dc --- /dev/null +++ b/th/architecture/vault.md @@ -0,0 +1,17 @@ +# Vault + +The vault is at the core of the protocol. The vault is responsible for minting/redeeming OUSD tokens, rebalancing funds between the various supported strategies, and liquidating rewards tokens. + +The most important publicly callable functions on the Vault are: + +* `mint()`allows a single supported stablecoin to be converted to OUSD +* `mintMultiple()`allows multiple supported stablecoins to be converted to OUSD in a single call +* `redeem()`allows a specified amount of OUSD to be redeemed for other supported stablecoins. +* `redeemAll()`allows a user to redeem their entire balance of OUSD for other supported stablecoins. This is particularly useful since user balances are constantly growing as yield is accrued. +* `rebase()`updates the balances for all users based on the value of the assets currently stored in the pool. +* `allocate()`moves the assets under management into their prescribed [Stategies](strategies.md) to maximize yield and diversify risk. + +On redemptions, it is the protocol and not the user that decides which stablecoin\(s\) to return to the user. This decision of which coin\(s\) to return is based on the internal ratios of the assets that are being held in the pool. + + + diff --git a/th/core-concepts/elastic-supply.md b/th/core-concepts/elastic-supply.md new file mode 100644 index 000000000..2cf0fd8ae --- /dev/null +++ b/th/core-concepts/elastic-supply.md @@ -0,0 +1,18 @@ +# Elastic Supply + +**Elastic Supply. Stable Price.** + +OUSD works differently than most tokens. Instead of the price increasing as the value of the assets under management increase \(as with Compound cTokens or Yearn yTokens\), the value of one OUSD remains constant at approximately $1. Instead, the contracts constantly adjust the monetary supply and automatically updates the balance in every token holder’s wallet to reflect the yield that has been earned by the protocol. + +{% hint style="info" %} +Think of it as interest accruing in your bank account. The unit of account and value for the US dollar doesn’t change. You just get more US dollars over time as you earn interest. +{% endhint %} + +![](../.gitbook/assets/ousd_docs_graphics_4.png) + +This mechanism was inspired by the novel approach taken by [Ampleforth](https://www.ampleforth.org/), but there are some key differences that are worth highlighting: + +1. OUSD is 100% backed by other stablecoins and will not have the same challenge maintaining the peg to the dollar. Given the ease of minting and redeeming OUSD, we can count on arbitrageurs to ensure the peg is maintained. +2. OUSD rebasing should only increase supply since the amount of OUSD minted is tied to the realized gains earned by the underlying strategies. Your principal is protected as long as nothing goes wrong with the underlying lending/AMM and stablecoin protocols. Any decrease in your balance would be an indication of trouble in the system. +3. Unlike Ampleforth, which rebases once a day, the monetary supply of OUSD is constantly being updated in real-time as yield is generated. + diff --git a/th/core-concepts/elastic-supply/README.md b/th/core-concepts/elastic-supply/README.md new file mode 100644 index 000000000..a681d0615 --- /dev/null +++ b/th/core-concepts/elastic-supply/README.md @@ -0,0 +1,21 @@ +# Elastic Supply + +**Elastic Supply. Stable Price.** + +OUSD works differently than most tokens. Instead of the price increasing as the value of the assets under management increase (as with Compound cTokens or Yearn yTokens), the value of one OUSD remains constant at approximately $1. Instead, the contracts constantly adjust the monetary supply and automatically updates the balance in every token holder’s wallet to reflect the yield that has been earned by the protocol. + +{% hint style="info" %} +Think of it as interest accruing in your bank account. The unit of account and value for the US dollar doesn’t change. You just get more US dollars over time as you earn interest. +{% endhint %} + +![](../../.gitbook/assets/ousd\_docs\_graphics\_4.png) + +This mechanism was inspired by the novel approach taken by [Ampleforth](https://www.ampleforth.org), but there are some key differences that are worth highlighting: + +1. OUSD is 100% backed by other stablecoins and does not have the same challenge maintaining the peg to the dollar. Given the ease of minting and redeeming OUSD, we can count on arbitrageurs to ensure the peg is maintained. +2. OUSD rebasing will only increase supply since the amount of OUSD minted is tied to the realized gains earned by the underlying strategies. Your principal is protected as long as nothing goes wrong with the underlying lending/AMM and stablecoin protocols. Your OUSD balance will never decrease, but the value could drop if there's a failure in the underlying systems. +3. Unlike Ampleforth, which only rebases once a day, the monetary supply of OUSD is constantly being updated in real-time as yield is generated. Rebases are triggered regularly as users interact with the OUSD contracts. Chainlink Keepers ensure at least one rebase occurs every day. + +**Manually triggering a rebase** + +Anyone can trigger a rebase at any time by [calling the rebase function on the vault](https://etherscan.io/address/originvault.eth#writeProxyContract). You can do this on Etherscan by connecting a web3 wallet. diff --git a/th/core-concepts/elastic-supply/rebasing-and-smart-contracts.md b/th/core-concepts/elastic-supply/rebasing-and-smart-contracts.md new file mode 100644 index 000000000..cdebbc4bf --- /dev/null +++ b/th/core-concepts/elastic-supply/rebasing-and-smart-contracts.md @@ -0,0 +1,22 @@ +# Rebasing & Smart Contracts + +If you are using a multi-sig wallet or another smart contract that wishes to participate in the rebasing aspect of OUSD you must call OUSD’s`rebaseOptIn()` function. This only applies to smart contracts as standard EOA wallets are enrolled automatically. + +{% hint style="info" %} +Multi-sig wallets or other smart contracts must call`rebaseOptIn()`to earn yield. +{% endhint %} + +By default, OUSD that is held on smart contracts will not participate in the rebasing nature of the token and will forfeit any yield unless the smart contract explicitly opts-in. This increases the composability of OUSD within DeFi as many protocols weren't designed with the expectation that balances might change. To other DeFi protocols, OUSD works just like any other normal, well-behaved ERC-20 until you ask it to change. This is a particularly useful attribute for automated market makers (AMM’s) like Uniswap which break when the number of tokens they are holding changes unexpectedly. + +![The Gnosis Safe OUSD app will prompt you to opt in to yield](../../.gitbook/assets/ousd-app-in-gnosis-safe.png) + +Smart contracts must explicitly opt-in to receiving yield via the rebasing mechanism. This fixes the issue with the expanding supply on AMM’s while still allowing multi-sig wallets and other smart contracts the opportunity to still participate and earn yield. + +{% hint style="warning" %} +If you are deploying a contract and intend to call`rebaseOptIn()`to earn yield you cannot call it from the contract's constructor. The contract must be deployed before it can be called. +{% endhint %} + +[Gnosis Safe](https://gnosis-safe.io) users are encouraged to use the Origin Dollar app which will prompt you to opt in to receiving yield. If you are using the "Old" [Gnosis Wallet](https://github.com/gnosis/MultiSigWallet) or another contract-based wallet, you will need the [proxy contract address for OUSD](../../smart-contracts/registry.md) and the corresponding [ABI](https://api.etherscan.io/api?module=contract\&action=getabi\&address=0x1ae95dd4eeae7ed03da79856c2d44ffa3318f805). Once you add those, you will be able to call the `rebaseOptIn()` function to opt into receiving yield via rebasing or`rebaseOptOut()` to turn it off again. + + + diff --git a/th/core-concepts/fund-management.md b/th/core-concepts/fund-management.md new file mode 100644 index 000000000..d6b1920c5 --- /dev/null +++ b/th/core-concepts/fund-management.md @@ -0,0 +1,23 @@ +# Fund Management + +The OUSD smart contract aggregates all users' stablecoin deposits into a single pool of assets that are then deployed into earning strategies based on preset allocations. In contrast to Yearn Vaults, TokenSets, or Zapper opportunities, users do not select individual strategies. All deposited stablecoins and consequently all OUSD tokens are fungible. + +The weighting of how assets are distributed between the supported strategies is decided by OGN holders using weekly snapshot voting. These votes happen offchain and do not cost any gas. The results of the weekly poll will then be executed onchain by members of the [Strategist multi-sig](https://etherscan.io/address/0xF14BBdf064E3F67f51cd9BD646aE3716aD938FDC) (known as "Strategists"). + +Ultimately, we believe it should be up to the community to decide what the right balance of risk/reward is appropriate for OUSD. We encourage the community to favor high-yield strategies while still maintaining diversification across multiple strategies to remove single points of failure and minimize risk. + +**How strategy allocation voting works:** + +* New snapshot proposals will open for voting on the [OGN governance portal ](http://vote.originprotocol.com)at midnight Tuesday UTC (7pm eastern Monday). The poll will be open for 48 hours, ending at midnight Thursday UTC (7pm eastern on Wednesday). +* During this time, those interested can discuss allocation changes in a thread in the #governance channel on [Origin's Discord](https://www.originprotocol.com/discord). +* Each proposal will use "weighted voting", with options for each coin/strategy combination and an option to keep the existing allocation unchanged. OGN holders can spread their votes among different listed strategies or the existing allocation. +* After the voting time has ended, Strategists will submit, verify, and execute transactions to change OUSD to the determined allocation percentages for the week. If more than 50% of the weighted votes are cast for the existing allocation, Strategists will take no action. +* Allocations will be executed for strategies that use all stablecoins first (like Convex), then each stablecoin will be allocated to the remaining strategies according to the ratio of votes for that stablecoin / strategy combination. +* If the Strategists deem any of the allocations unsafe to the funds behind OUSD, they may choose to not execute those. In addition, Strategists may decline to execute minor adjustments where the gas costs would be greater than the expected benefits. +* Like all governance proposals, Strategist allocations must meet the minimum quorum requirements (currently 1M OGN) to be considered valid. +* From a security standpoint, it is important to know that while Strategists have the ability to move funds between approved strategies or instantly pause rebasing in the case of an emergency, Strategists do not have the power to add new strategies or withdraw funds without going through the timelock. Community members can use the Strategy Validator tools to more easily [create](https://analytics.ousd.com/strategist/creator) and [decode](https://analytics.ousd.com/strategist) which actions are being performed by the Strategists. +* When voting, please remember it is inefficient to move in and out of the Convex strategy frequently and some funds need to always remain outside of Convex in order to accommodate withdrawals. + + + +**** diff --git a/th/core-concepts/fund-management/README.md b/th/core-concepts/fund-management/README.md new file mode 100644 index 000000000..4f6287602 --- /dev/null +++ b/th/core-concepts/fund-management/README.md @@ -0,0 +1,6 @@ +# Fund Management + +The OUSD smart contract aggregates all users' stablecoin deposits into a single pool of investable assets. Funds are then allocated across one or more [earning strategies](earning-strategies.md) at any given moment in time. The Vault favors high-yield strategies but also seeks to maintain diversification across multiple strategies. Diversification removes single points of failures and mitigates risks. + +In contrast to Yearn Vaults, TokenSets, or Zapper opportunities, users do not select individual strategies. All deposited stablecoins and consequently all OUSD tokens are fungible. + diff --git a/th/core-concepts/fund-management/diversification.md b/th/core-concepts/fund-management/diversification.md new file mode 100644 index 000000000..3d98a522e --- /dev/null +++ b/th/core-concepts/fund-management/diversification.md @@ -0,0 +1,8 @@ +# Diversification + +The initial version of the OUSD Vault smart contract gives each valid strategy a simple weight between 0% and 100% to perform simple asset allocation. These weights will be shifted often via updates by Origin in the short-term and by decentralized governance in the long-term. + +Diversification across multiple underlying DeFi [platforms](../supported-strategies/) will reduce smart contract and other systemic risks. The smart contract will calculate current and expected APYs in an effort to provide competitive returns to OUSD holders. Over time, the Vault contract will be upgraded to intelligently and autonomously shift between strategies without any manual intervention. For example, the Vault will automatically shift capital between various lending strategies to optimize for yields. + +However, it is still expected that certain risk parameters or decisions on whether certain strategies will be included in the automated decision-making engine will be made through governance votes. + diff --git a/th/core-concepts/fund-management/earning-strategies.md b/th/core-concepts/fund-management/earning-strategies.md new file mode 100644 index 000000000..0fb0111e4 --- /dev/null +++ b/th/core-concepts/fund-management/earning-strategies.md @@ -0,0 +1,6 @@ +# Earning Strategies + +Earning strategies put deployed capital to work across various DeFi platforms. The Vault will determine which strategies are active and what percentage of deployed capital they will receive. + +In addition, strategies will be upgraded over time. For example, at launch, there will be an initial [Compound strategy](../supported-strategies/compound.md). Over time, this may be replaced by a v2 or v3 Compound strategy. + diff --git a/th/core-concepts/price-oracles.md b/th/core-concepts/price-oracles.md new file mode 100644 index 000000000..1b08c685f --- /dev/null +++ b/th/core-concepts/price-oracles.md @@ -0,0 +1,38 @@ +- - - +description: OUSD uses Chainlink to secure the protocol from pricing attacks +- - - + +# Price Oracles + +### Stablecoin Pricing + +OUSD is designed to stay pegged at 1 USD and be 1:1 backed with its underlying stablecoins. This is trickier than it sounds because these underlying stablecoins are constantly deviating from their own desired 1 USD pegs. While the majority of daily fluctuations are minor, there have been major swings in price that have occurred in the past and are likely to occur again in the future. + +| Coin | **Low** | **High** | **Delta** | **Source** | +| ---- | ---------------------------------------------------- | ---------------------------------------------------- | --------- | --------------------------------------------------------------------------- | +| USDC |

$0.929222

Mar 13, 2020

|

$1.11

Oct 15, 2018

| $0.180778 | [CoinMarketCap](https://coinmarketcap.com/currencies/usd-coin/) | +| USDC |

$0.924188

Aug 02, 2020

|

$1.17

May 08, 2019

| $0.245812 | [CoinGecko](https://www.coingecko.com/en/coins/usd-coin) | +| DAI |

$0.945505

May 10, 2020

|

$1.11

Mar 13, 2020

| $0.164495 | [CoinMarketCap](https://coinmarketcap.com/currencies/multi-collateral-dai/) | +| DAI |

$0.903243

Nov 25, 2019

|

$1.22

Mar 13, 2020

| $0.316757 | [CoinGecko](https://www.coingecko.com/en/coins/dai) | +| USDT |

$0.849809

Feb 02, 2017

|

$1.21

May 27, 2017

| $0.360191 | [CoinGecko](https://www.coingecko.com/en/coins/tether) | +| USDT |

$0.572521

Mar 02, 2015

|

$1.32

Jul 24, 2018

| $0.747479 | [CoinMarketCap](https://coinmarketcap.com/currencies/tether/) | + +The rebasing function treats 1 stablecoin as 1 OUSD for simplicity and to protect OUSD balances from being affected by the daily fluctuations in the price of the underlying stablecoins. Since the rebase function only counts coins, OUSD balances should only increase. + +In order to mint and redeem the appropriate number of OUSD on entry and exit, the smart contracts need to accurately price the USDT, USDC, and DAI that is entering and exiting the system. + +As an added precaution, OUSD never pays more than a dollar for a stablecoin, nor sells a stablecoin for less than a dollar. Oracles giving wrong prices will not result in a reduction of the number of stablecoins held. Gains that are collected as a result of stablecoins slipping from their peg are redistributed to the remaining holders of OUSD in the form of additional yield. + +As a decentralized protocol, OUSD must rely on non-centralized sources for these prices. OUSD uses Chainlink oracles for pricing data for DAI, USDC and USDT. You can read more about [our decision to work with Chainlink](https://blog.originprotocol.com/how-origin-uses-chainlink-oracles-to-secure-ousd-bff5601e840e) on our blog. Here are the Chainlink oracles we are currently using for stablecoin pricing: + +{% embed url="https://data.chain.link/usdt-usd" %} + +{% embed url="https://data.chain.link/usdc-usd" %} + +{% embed url="https://data.chain.link/dai-usd" %} + +### Reward Token Oracles & Front Running Protection + +When reward tokens from OUSD strategies are sold for additional yield, Chainlink oracles are checked to ensure that the sale price slippage has not exceeded normal bounds. These oracles are listed on our [registry](../smart-contracts/registry.md) page under the "Oracles" tab. + +The same is also true for OGN buybacks from OUSD yield.\ \ When minting and redeeming OUSD, a miniumun required amount can be passed into the contract call to ensure that the entire transaction fails if not enough OUSD or stablecoins would be returned to the user due to changing prices. diff --git a/th/core-concepts/price-oracles/README.md b/th/core-concepts/price-oracles/README.md new file mode 100644 index 000000000..58ed68ed4 --- /dev/null +++ b/th/core-concepts/price-oracles/README.md @@ -0,0 +1,126 @@ +# Price Oracles + +OUSD is designed to stay pegged at 1 USD and be 1:1 backed with its underlying stablecoins. This is trickier than it sounds because these underlying stablecoins are constantly deviating from their own desired 1 USD pegs. While the majority of daily fluctuations are minor, there have been major swings in price that have occurred in the past and are likely to occur again in the future. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CoinLow + High + Delta + Source +
USDC +

$0.929222

+

Mar 13, 2020

+
+

$1.11

+

Oct 15, 2018

+
$0.180778CoinMarketCap +
USDC +

$0.924188

+

Aug 02, 2020

+
+

$1.17

+

May 08, 2019

+
$0.245812CoinGecko +
DAI +

$0.945505

+

May 10, 2020

+
+

$1.11

+

Mar 13, 2020

+
$0.164495CoinMarketCap +
DAI +

$0.903243

+

Nov 25, 2019

+
+

$1.22

+

Mar 13, 2020

+
$0.316757CoinGecko +
USDT +

$0.849809

+

Feb 02, 2017

+
+

$1.21

+

May 27, 2017

+
$0.360191CoinGecko +
USDT +

$0.572521

+

Mar 02, 2015

+
+

$1.32

+

Jul 24, 2018

+
$0.747479CoinMarketCap +
+ +The rebasing function treats 1 stablecoin as 1 OUSD for simplicity and to protect OUSD balances from being affected by the daily fluctuations in the price of the underlying stablecoins. Since the rebase function only counts coins, OUSD balances should only increase. + +In order to mint and redeem the appropriate number of OUSD on entry and exit, the smart contracts need to accurately price the USDT, USDC, and DAI that is entering and exiting the system. As a decentralized protocol, OUSD must rely on non-centralized sources for these prices. + +{% hint style="info" %} +OUSD fetches the price from multiple on-chain oracles and uses the exchange rate that is most advantageous for the vault when minting or redeeming. +{% endhint %} + +In order to prevent malicious attacks and to encourage long-term investors over short-term speculators, the OUSD contract compares price feeds from multiple sources and will use whichever exchange rate benefits the entire vault over the individual. This mechanism protects the vault funds from arbitrageurs and prevents any individual from being able to take advantage of any temporary inefficiencies caused by mispriced oracles to deplete the shared pool of assets. + +This protects the funds in the vault while rewarding long-term holders. Since the safest price depends on the direction of the trade, the Origin oracle exposes both a `priceUSDMint()` and a `priceUSDRedeem()`. + +OUSD uses Chainlink as oracle for DAI, USDC and USDT. + +{% embed url="https://feeds.chain.link/eth-usd" caption="" %} + +The specific smart contract address for each oracle being used are listed on our [registry](../../smart-contracts/registry.md) page. + +It is possible that additional oracles will be added to the protocol over time. Support may also be removed if any of these oracles become unreliable. + diff --git a/th/core-concepts/price-oracles/untitled.md b/th/core-concepts/price-oracles/untitled.md new file mode 100644 index 000000000..7a413944b --- /dev/null +++ b/th/core-concepts/price-oracles/untitled.md @@ -0,0 +1,25 @@ +# Untitled + +## Getting Super Powers + +Becoming a super hero is a fairly straight forward process: + +``` +$ give me super-powers +``` + +{% hint style="info" %} + Super-powers are granted randomly so please submit an issue if you're not happy with yours. +{% endhint %} + +Once you're strong enough, save the world: + +{% code title="hello.sh" %} +```bash +# Ain't no code for that yet, sorry +echo 'You got to trust me on this, I saved the world' +``` +{% endcode %} + + + diff --git a/th/core-concepts/supported-assets/README.md b/th/core-concepts/supported-assets/README.md new file mode 100644 index 000000000..56390ccf6 --- /dev/null +++ b/th/core-concepts/supported-assets/README.md @@ -0,0 +1,20 @@ +# Supported Stablecoins + +**Supported Stablecoins** + +It is important to understand that OUSD is only as strong as the stablecoins that are backing it. Any loss to the underlying assets will cause a similar loss to the value of OUSD. + +Currently, OUSD supports the following stablecoins: + +{% page-ref page="usdt.md" %} + +{% page-ref page="usdc.md" %} + +{% page-ref page="dai.md" %} + +None of these stablecoins are perfect, but we selected them because of their widespread usage. While these stablecoins have lost their USD peg on multiple occasions, they have demonstrated resiliency in eventually getting back to their 1 USD targets. + +It is important to note that all these stablecoins introduce non-trivial counter-party risk. Tether, in particular, has had well-documented banking troubles and regulatory challenges. In addition, both USDT and USDC have backdoors that grant their issuers the power to freeze money in their holder's wallets. While DAI does not have any direct backdoors, it's assets can also be negatively impacted since USDC is accepted as collateral for minting DAI. + +Despite these concerns, there are already billions of dollars betting on the security of these stablecoins. It is possible that additional stablecoins will be added to the protocol over time. Support may also be removed if any of these stablecoins prove to be too unreliable or put OUSD holders funds in jeopardy. + diff --git a/th/core-concepts/supported-assets/dai.md b/th/core-concepts/supported-assets/dai.md new file mode 100644 index 000000000..4be5c3788 --- /dev/null +++ b/th/core-concepts/supported-assets/dai.md @@ -0,0 +1,20 @@ +# DAI + +![](../../.gitbook/assets/dai.png) + +Dai is a fiat-pegged stablecoin launched as a ERC-20 token on the Ethereum blockchain in December 2017. A major upgrade from single-collateral Dai \(SAI\) to multi-collateral Dai \(DAI\) was completed in November 2019. Dai is pegged to the US dollar. + +Dai is minted by users locking up crypto assets such as ETH or USDC as collateral in a collateralized debt position \(CDP\) called a vault. Previously, only ETH was accepted as collateral. The reserves and status of each vault can be viewed on the blockchain in real-time. The health of these vaults and the Dai stablecoin are closely monitored. + +Dai is the world's third-largest stablecoin with over $400 million in circulation. In addition, cDAI and aDAI, synthetic versions of Dai on the lending platforms Compound and Aave, combine for over $600 million in circulation. + +| Key Facts | | +|:------------- |:------------------------------------------------------------------------------------------------------------------- | +| Issued by | MakerDAO | +| Name | Dai | +| Symbol | DAI | +| Address | [0x6b175474e89094c44da98b954eedeac495271d0f](https://etherscan.io/token/0x6b175474e89094c44da98b954eedeac495271d0f) | +| Decimals | 18 | +| Official site | [https://makerdao.com/](https://makerdao.com/) | +| Holders | Over 140k addresses | + diff --git a/th/core-concepts/supported-assets/usdc.md b/th/core-concepts/supported-assets/usdc.md new file mode 100644 index 000000000..2647d7c83 --- /dev/null +++ b/th/core-concepts/supported-assets/usdc.md @@ -0,0 +1,22 @@ +# USDC + +![](../../.gitbook/assets/usdc-coin-bd351fb779%20%281%29.png) + +USD Coin \(USDC\) is a fiat-pegged stablecoin launched as a ERC-20 token on the Ethereum blockchain in October 2018. USDC is pegged to the US dollar and can easily be redeemed for US dollars. + +Each USDC is backed by a 1:1 ratio with the equivalent amount of fiat currency held in custodial accounts by members of Centre, a consortium founded by Circle and Coinbase. Members of Centre are regulated financial institutions based in the US. Monthly audits of reserves are published by Grant Thornton LLP. + +USDC is the world's second-largest stablecoin after USDT and has quickly grown to over $1 billion in circulation. However, USDC remains far behind USDT's $12+ billion in circulation. + +| Key Facts | | +|:------------- |:------------------------------------------------------------------------------------------------------------------- | +| Issued by | Centre | +| Name | USD Coin | +| Symbol | USDC | +| Address | [0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48](https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48) | +| Decimals | 6 | +| Official site | [https://www.centre.io/usdc](https://www.centre.io/usdc) | +| Holders | Over 200k addresses | + + + diff --git a/th/core-concepts/supported-assets/usdt.md b/th/core-concepts/supported-assets/usdt.md new file mode 100644 index 000000000..4ae2afe89 --- /dev/null +++ b/th/core-concepts/supported-assets/usdt.md @@ -0,0 +1,22 @@ +# USDT + +![](../../.gitbook/assets/image%20%281%29.png) + +Tether \(USDT\) is a fiat-pegged stablecoin that was initially built on top of Bitcoin via the Omni Layer Protocol. In September 2017, Tether announced they would be launching additional ERC-20 tokens for United States dollars on the Ethereum blockchain. + +Each Tether issued into circulation is said to be backed by a one-to-one ratio with the equivalent amount of fiat currency held in a custodial account by Tether Limited, a Hong Kong-based company with close ties to the cryptocurrency exchange, Bitfinex. + +Despite the controversy ****around ****the company's failure to provide a promised audit showing adequate reserves backing tether, USDT is still the world's largest stablecoin by market cap and currently the fourth-largest cryptocurrency after BTC, ETH and XRP. + +| Key Facts | | +|:------------- |:---------------------------------------------------------------------------------------------------------------- | +| Issued by | Tether Limited | +| Name | Tether | +| Symbol | USDT | +| Address | [0xdac17f958d2ee523a2206206994597c13d831](https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7) | +| Decimals | 6 | +| Official site | [https://tether.to/ ](https://tether.to/%20) | +| Holders | Over 1.8M addresses | + + + diff --git a/th/core-concepts/supported-defi-platforms/README.md b/th/core-concepts/supported-defi-platforms/README.md new file mode 100644 index 000000000..50ee37b6c --- /dev/null +++ b/th/core-concepts/supported-defi-platforms/README.md @@ -0,0 +1,30 @@ +# Supported DeFi Platforms + +**Supported Platforms** + +OUSD generates yield by depositing stablecoins into lending platforms and market maker liquidity pools. It is important to understand that these platforms do carry technological risk and funds can be lost if there is a major security event. We are choosing to work with the platforms that have had their smart contracts audited and that we feel are most secure. + +Currently, we plan to earn yields from the following platforms: + +{% page-ref page="compound.md" %} + +Integrations are currently planned for the following platforms: + +{% page-ref page="aave.md" %} + +{% page-ref page="dydx.md" %} + +{% page-ref page="uniswap.md" %} + +{% page-ref page="curve.md" %} + +{% page-ref page="balancer.md" %} + +{% page-ref page="yearn.finance.md" %} + +Although DeFi has grown very quickly and there are now billions of dollars worth of value deposited on these platforms, several of these projects are still in beta and are highly experimental. There may be hidden vulnerabilities in the smart contracts that power these platforms, and there have been multi-million dollar losses caused by vulnerabilities in Ethereum applications in the past. + +We closely monitor security events on the platforms we support and will immediately move to secure OUSD holder funds if we identify any threats. + + + diff --git a/th/core-concepts/supported-defi-platforms/aave.md b/th/core-concepts/supported-defi-platforms/aave.md new file mode 100644 index 000000000..df02edab3 --- /dev/null +++ b/th/core-concepts/supported-defi-platforms/aave.md @@ -0,0 +1,25 @@ +# Aave + +{% hint style="info" %} +Coming soon. Aave has not yet been integrated. +{% endhint %} + +Aave is a lending protocol and platform built on Ethereum and launched in January 2020 by the creators of ETHLend. Users on Aave can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and users can choose between a variable interest rate based on supply and demand or a fixed interest rate. + +Collateral balances are represented by ERC-20 aTokens at a 1:1 ratio to the underlying assets they represent. Interest is compounded automatically and paid to lenders with aTokens, meaning lenders will steadily see their aToken balance increase over time. Users can borrow assets against their aTokens. aTokens are freely transferable and can be used on many other DeFi protocols. aTokens can be redeemed for their underlying collateral at any time. + +Aave supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +Aave is currently governed by LEND, an ERC-20 token that was formerly the utility token for ETHLend. Aave has announced a transition to fully decentralized governance that includes a token swap where users exchange LEND for AAVE, a new ERC-20 governance token with staking rewards. Some AAVE will be distributed to users of the platform in a liquidity mining campaign. + +Aave's total value locked \(TVL\) has quickly grown to over $1.2 billion, making it one of the largest DeFi protocols. LEND has a circulating market cap of over $700 million. + +Aave has undergone security audits by OpenZeppelin, Trail of Bits, and Consensys Diligence. Aave maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------------ | +| Official site | [https://aave.com/](https://aave.com/) | +| Developer docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/aave/aave-protocol](https://github.com/aave/aave-protocol) | +| Discord | [https://discordapp.com/invite/AnSqnvV](https://discordapp.com/invite/AnSqnvV) | + diff --git a/th/core-concepts/supported-defi-platforms/balancer.md b/th/core-concepts/supported-defi-platforms/balancer.md new file mode 100644 index 000000000..f8d9e3c0a --- /dev/null +++ b/th/core-concepts/supported-defi-platforms/balancer.md @@ -0,0 +1,27 @@ +# Balancer + +{% hint style="info" %} +Coming soon. Balancer has not yet been integrated. +{% endhint %} + +Balancer is a decentralized liquidity protocol and exchange on Ethereum, launched in March 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Balancer is an Automated Market Maker \(AMM\) that allows for liquidity pools of up to 8 different assets with custom weights. Liquidity pools on Balancer can be thought of as similar to Exchange Traded Funds \(ETFs\) or portfolios with weight targets for specific assets. If trading causes the pool to shift from its target weight distribution, exchange rates between assets in the pool change. Arbitrageurs can execute trades to take advantage of this and act to rebalance the pool back to its target weight distribution. Liquidity can also be shared across pools, unlike other AMMs. + +Balancer supports private pools, where only the owner of the pool can contribute liquidity, shared pools, which are completely public, and smart pools, which are shared pools controlled by a smart contract that can implement automated rules and logic. Liquidity providers are given Balancer Pool Tokens \(BPTs\) that represent their share of a given pool and fees. These tokens are freely transferable and can be redeemed for the assets provided and accrued fees. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Balancer pools. + +Balancer is governed by BAL, an ERC-20 governance token. BAL holders can vote on protocol changes. BAL is continuously awarded to liquidity providers and a large portion of the total supply of BAL was allocated to the team and investors on a continuous vesting schedule. + +Trading volumes on Balancer are often over $25 million daily. Balancer has a Total Value Locked \(TVL\) of over $250 million by liquidity providers at the time of writing. + +Balancer has undergone a security audit by Trail of Bits and has a bug bounty program. However, Balancer has suffered a major exploit in June 2020. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://balancer.finance/](https://balancer.finance/) | +| Developer docs | [https://docs.balancer.finance/](https://docs.balancer.finance/) | +| GitHub | [https://github.com/balancer-labs](https://github.com/balancer-labs) | +| Discord | [https://discord.gg/ARJWaeF](https://discord.gg/ARJWaeF) | + diff --git a/th/core-concepts/supported-defi-platforms/compound.md b/th/core-concepts/supported-defi-platforms/compound.md new file mode 100644 index 000000000..a4d2660a1 --- /dev/null +++ b/th/core-concepts/supported-defi-platforms/compound.md @@ -0,0 +1,19 @@ +# Compound + +Compound is a lending protocol and platform built on Ethereum and launched in September 2018. Users can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and interest rates are adjusted automatically based on supply and demand. + +Collateral balances are represented by ERC-20 cTokens, which automatically accrue interest and increase in value over time relative to the underlying asset they represent. Users can borrow assets against the value of their cTokens. cTokens are freely transferable and can be used on many other DeFi protocols. cTokens can be redeemed for their underlying collateral at any time. + +Compound is governed by COMP, an ERC-20 governance token. COMP holders can propose and vote on protocol changes or delegate their votes to someone else. COMP tokens are awarded pro rata to users of the protocol daily, split equally between borrowers and lenders. A large portion of the COMP token supply was retained by the Compound team, investors, and advisors. + +Compound's total value locked \(TVL\) has quickly grown to nearly $800 million, making it one of the largest DeFi protocols. COMP has a circulating market cap of over $500 million. + +Compound has undergone multiple security audits by OpenZeppelin and Trail of Bits. The Compound protocol was formally verified by CertiK and has undergone economic stress testing by Gauntlet. Compound maintains a bug bounty program. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------------------------------------------------- | +| Official site | [https://compound.finance/](https://compound.finance/) | +| Developer docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/compound-finance/compound-protocol](https://github.com/compound-finance/compound-protocol) | +| Discord | [https://discord.com/invite/cU7vmVW](https://discord.com/invite/cU7vmVW) | + diff --git a/th/core-concepts/supported-defi-platforms/curve.md b/th/core-concepts/supported-defi-platforms/curve.md new file mode 100644 index 000000000..021d0041b --- /dev/null +++ b/th/core-concepts/supported-defi-platforms/curve.md @@ -0,0 +1,25 @@ +# Curve + +{% hint style="info" %} +Coming soon. Curve has not yet been integrated. +{% endhint %} + +Curve is a decentralized liquidity protocol and exchange on Ethereum for stablecoins and wrapped BTC, launched in January 2020. Users can swap between popular ERC-20 stablecoins or between ERC-20 representations of bitcoin. Liquidity providers facilitate trading and earn fees. + +Curve is an Automated Market Maker \(AMM\) where each market has an associated liquidity pool with two or more assets that should have the same value, like USDT, USDC, DAI and TUSD, which are all US dollar pegged stablecoins. The exchange rate between each stablecoin and their relative weights are determined by an algorithm based on supply and demand. Arbitrageurs act to normalize these exchange rates. + +Some of Curve's liquidity pools earn extra fees for liquidity providers on top of the exchange fees from traders. Curve offers stablecoin pools integrated with Compound, yearn.finance, and Synthetix. The assets in each liquidity pool are provided to those platforms to generate additional yield which is passed on to each pool's liquidity providers. Liquidity Provider \(LP\) tokens are given to pool participants and can be redeemed for their initial liquidity supplied plus accrued fees and yield. LP tokens can also transferred for use in other protocols. + +Curve is governed by CRV, an ERC-20 governance token. CRV holders can vote on protocol changes. CRV holders can stake their tokens for additional voting power proportional to time staked. CRV is continuously awarded to liquidity providers and a large portion of the total supply of CRV was allocated to the team and investors on a continuous vesting schedule. + +Trading volumes on Curve are often over $50 million daily. Curve has a Total Value Locked \(TVL\) of over $1 billion by liquidity providers at the time of writing. + +Curve has undergone two audits by Trail of Bits and maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------ | +| Official site | [https://uniswap.org/](https://uniswap.org/) | +| Developer docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/th/core-concepts/supported-defi-platforms/dydx.md b/th/core-concepts/supported-defi-platforms/dydx.md new file mode 100644 index 000000000..24f1a895e --- /dev/null +++ b/th/core-concepts/supported-defi-platforms/dydx.md @@ -0,0 +1,27 @@ +# dYdX + +{% hint style="info" %} +Coming soon. DyDx has not yet been integrated. +{% endhint %} + +dYdX is a trading and lending protocol and platform built on Ethereum and launched in May 2019. Users can trade assets on dYdX's non-custodial, decentralized exchange or participate in borrowing and lending. The lending protocol enables margin and futures trading. Interest rates are adjusted based on supply and demand and only short term loans are offered. + +Liquidity for assets available for borrowing and lending are pooled together by asset type. Interest paid to lenders is accrued automatically and borrowers must put up collateral to take out a loan. + +dYdX also supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +dYdX has around $40 million in total value locked \(TVL\) at the time of this writing. dYdX does not have a native token. + +dYdX has undergone security audits by OpenZeppelin and Bramah Systems. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://dydx.exchange/](https://dydx.exchange/) | +| Developer docs | [https://docs.dydx.exchange/](https://docs.dydx.exchange/) | +| GitHub | [https://github.com/dydxprotocol/](https://github.com/dydxprotocol/) | +| Discord | [https://discord.gg/yah42Rb](https://discord.gg/yah42Rb) | + + + + + diff --git a/th/core-concepts/supported-defi-platforms/uniswap.md b/th/core-concepts/supported-defi-platforms/uniswap.md new file mode 100644 index 000000000..012e25e93 --- /dev/null +++ b/th/core-concepts/supported-defi-platforms/uniswap.md @@ -0,0 +1,27 @@ +# Uniswap + +{% hint style="info" %} +Coming soon. Uniswap has not yet been integrated. +{% endhint %} + +Uniswap is a decentralized liquidity protocol and exchange on Ethereum, launched in November 2018. Uniswap v2 launched in May 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Markets on Uniswap operate as liquidity pools rather than order books. This type of exchange is called an Automated Market Maker \(AMM\). The exchange rate between the two assets is determined by a constant product formula and moves along a price curve depending on the relative weight of each asset in the pool. This encourages arbitrageurs to enter liquidity pools to rebalance the relative weights and normalize the exchange rate. + +Traders can suffer from slippage if there is not enough liquidity in a given pool and may not be protected from unfavorable exchange rates. Liquidity providers may suffer impermanent loss when the pool exchange rate does not match market realities and arbitrageurs execute trades along the pricing curve. + +Pool participants are given Uniswap Liquidity Provider \(LP\) tokens that correspond to their share of liquidity provided in a given pool. These LP tokens are freely transferable. Participants can exit pools at any time by redeeming these tokens for the assets provided and fees accrued. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Uniswap pools. + +Trading volumes on Uniswap now eclipse that of many traditional exchanges and regularly surpass $200 million daily. Uniswap has over $170 million in Total Value Locked \(TVL\) by liquidity providers. Uniswap does not have a native platform or governance token. + +Uniswap has had its smart contracts audited and formally verfied by dapp.org. Uniswap maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------ | +| Official site | [https://uniswap.org/](https://uniswap.org/) | +| Developer docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/th/core-concepts/supported-defi-platforms/yearn.finance.md b/th/core-concepts/supported-defi-platforms/yearn.finance.md new file mode 100644 index 000000000..3f23b9fdb --- /dev/null +++ b/th/core-concepts/supported-defi-platforms/yearn.finance.md @@ -0,0 +1,25 @@ +# Yearn.finance + +{% hint style="info" %} +Coming soon. Yearn.finance has not yet been integrated. +{% endhint %} + +Yearn.finance, formerly iEarn.finance, is a yield aggregation platform built on Ethereum and launched in January 2020 by Andre Cronje. Yearn manages yield farming and rebalancing strategies using a combination of automation and human decision making on behalf of users who have deposited capital. + +Yearn has two yield aggregation products, Earn and Vaults. Earn allows users to deposit stablecoins or wrapped BTC into liquidity pools on Curve to earn fees and governance token rewards. These assets are also lent out on platforms offering high yield and token rewards, adding to the yield earned. + +Vaults offer a more automated and managed experience. Users deposit assets such as LINK, Curve liquidity provider tokens, or stablecoins and the Vault pools these assets together and deploys the highest earning yield farming strategy as deemed safe by the community and Andre Cronje. Governance tokens earned as rewards are sold off for the original asset deposited and combined with other fees and automatically rolled into the Vault to compound yield. Strategies can be changed frequently and pooling assets together saves gas costs for users. + +Yearn is governed by YFI, an ERC-20 governance token. YFI holders can vote on protocol changes after agreeing to lock up their YFI for 3 days. YFI can also be staked for yield in the governance portal. This yield comes from fees charged to users on Yearn products. YFI was distributed entirely to liquidity providers on Curve and Balancer. There was no allocation for team members or investors. + +Yearn's total value locked \(TVL\) has quickly grown to over $800 million, making it one of the largest DeFi platforms. YFI has a circulating market cap of over $400 million. + +Yearn has undergone multiple security and smart contract audits by CertiK, Quantstamp, HackMD, and CryptoManiacs. Yearn has a reputation for launching experimental products very quickly and warns users that their products are in beta. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://yearn.finance/](https://yearn.finance/) | +| Developer docs | [https://docs.yearn.finance/](https://docs.yearn.finance/) | +| GitHub | [https://github.com/iearn-finance](https://github.com/iearn-finance) | +| Discord | [https://discord.gg/uTmHe8r](https://discord.gg/uTmHe8r) | + diff --git a/th/core-concepts/supported-platforms/README.md b/th/core-concepts/supported-platforms/README.md new file mode 100644 index 000000000..aa4b89181 --- /dev/null +++ b/th/core-concepts/supported-platforms/README.md @@ -0,0 +1,32 @@ +# Supported Platforms + +**Supported Platforms** + +OUSD generates yield by depositing stablecoins into lending platforms and market maker liquidity pools. It is important to understand that these platforms do carry technological risk and funds can be lost if there is a major security event. We are choosing to work with the platforms that have had their smart contracts audited and that we feel are most secure. + +Currently, we plan to earn yields from the following platforms: + +{% page-ref page="compound.md" %} + +Integrations are currently planned for the following platforms: + +{% page-ref page="yearn.finance.md" %} + +{% page-ref page="compound.md" %} + +{% page-ref page="aave.md" %} + +{% page-ref page="dydx.md" %} + +{% page-ref page="uniswap.md" %} + +{% page-ref page="curve.md" %} + +{% page-ref page="balancer.md" %} + +Although DeFi has grown very quickly and there are now billions of dollars worth of value deposited on these platforms, several of these projects are still in beta and are highly experimental. There may be hidden vulnerabilities in the smart contracts that power these platforms, and there have been multi-million dollar losses caused by vulnerabilities in Ethereum applications in the past. + +We closely monitor security events on the platforms we support and will immediately move to secure OUSD holder funds if we identify any threats. + + + diff --git a/th/core-concepts/supported-platforms/aave.md b/th/core-concepts/supported-platforms/aave.md new file mode 100644 index 000000000..df02edab3 --- /dev/null +++ b/th/core-concepts/supported-platforms/aave.md @@ -0,0 +1,25 @@ +# Aave + +{% hint style="info" %} +Coming soon. Aave has not yet been integrated. +{% endhint %} + +Aave is a lending protocol and platform built on Ethereum and launched in January 2020 by the creators of ETHLend. Users on Aave can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and users can choose between a variable interest rate based on supply and demand or a fixed interest rate. + +Collateral balances are represented by ERC-20 aTokens at a 1:1 ratio to the underlying assets they represent. Interest is compounded automatically and paid to lenders with aTokens, meaning lenders will steadily see their aToken balance increase over time. Users can borrow assets against their aTokens. aTokens are freely transferable and can be used on many other DeFi protocols. aTokens can be redeemed for their underlying collateral at any time. + +Aave supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +Aave is currently governed by LEND, an ERC-20 token that was formerly the utility token for ETHLend. Aave has announced a transition to fully decentralized governance that includes a token swap where users exchange LEND for AAVE, a new ERC-20 governance token with staking rewards. Some AAVE will be distributed to users of the platform in a liquidity mining campaign. + +Aave's total value locked \(TVL\) has quickly grown to over $1.2 billion, making it one of the largest DeFi protocols. LEND has a circulating market cap of over $700 million. + +Aave has undergone security audits by OpenZeppelin, Trail of Bits, and Consensys Diligence. Aave maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------------ | +| Official site | [https://aave.com/](https://aave.com/) | +| Developer docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/aave/aave-protocol](https://github.com/aave/aave-protocol) | +| Discord | [https://discordapp.com/invite/AnSqnvV](https://discordapp.com/invite/AnSqnvV) | + diff --git a/th/core-concepts/supported-platforms/balancer.md b/th/core-concepts/supported-platforms/balancer.md new file mode 100644 index 000000000..f8d9e3c0a --- /dev/null +++ b/th/core-concepts/supported-platforms/balancer.md @@ -0,0 +1,27 @@ +# Balancer + +{% hint style="info" %} +Coming soon. Balancer has not yet been integrated. +{% endhint %} + +Balancer is a decentralized liquidity protocol and exchange on Ethereum, launched in March 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Balancer is an Automated Market Maker \(AMM\) that allows for liquidity pools of up to 8 different assets with custom weights. Liquidity pools on Balancer can be thought of as similar to Exchange Traded Funds \(ETFs\) or portfolios with weight targets for specific assets. If trading causes the pool to shift from its target weight distribution, exchange rates between assets in the pool change. Arbitrageurs can execute trades to take advantage of this and act to rebalance the pool back to its target weight distribution. Liquidity can also be shared across pools, unlike other AMMs. + +Balancer supports private pools, where only the owner of the pool can contribute liquidity, shared pools, which are completely public, and smart pools, which are shared pools controlled by a smart contract that can implement automated rules and logic. Liquidity providers are given Balancer Pool Tokens \(BPTs\) that represent their share of a given pool and fees. These tokens are freely transferable and can be redeemed for the assets provided and accrued fees. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Balancer pools. + +Balancer is governed by BAL, an ERC-20 governance token. BAL holders can vote on protocol changes. BAL is continuously awarded to liquidity providers and a large portion of the total supply of BAL was allocated to the team and investors on a continuous vesting schedule. + +Trading volumes on Balancer are often over $25 million daily. Balancer has a Total Value Locked \(TVL\) of over $250 million by liquidity providers at the time of writing. + +Balancer has undergone a security audit by Trail of Bits and has a bug bounty program. However, Balancer has suffered a major exploit in June 2020. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://balancer.finance/](https://balancer.finance/) | +| Developer docs | [https://docs.balancer.finance/](https://docs.balancer.finance/) | +| GitHub | [https://github.com/balancer-labs](https://github.com/balancer-labs) | +| Discord | [https://discord.gg/ARJWaeF](https://discord.gg/ARJWaeF) | + diff --git a/th/core-concepts/supported-platforms/compound.md b/th/core-concepts/supported-platforms/compound.md new file mode 100644 index 000000000..a4d2660a1 --- /dev/null +++ b/th/core-concepts/supported-platforms/compound.md @@ -0,0 +1,19 @@ +# Compound + +Compound is a lending protocol and platform built on Ethereum and launched in September 2018. Users can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and interest rates are adjusted automatically based on supply and demand. + +Collateral balances are represented by ERC-20 cTokens, which automatically accrue interest and increase in value over time relative to the underlying asset they represent. Users can borrow assets against the value of their cTokens. cTokens are freely transferable and can be used on many other DeFi protocols. cTokens can be redeemed for their underlying collateral at any time. + +Compound is governed by COMP, an ERC-20 governance token. COMP holders can propose and vote on protocol changes or delegate their votes to someone else. COMP tokens are awarded pro rata to users of the protocol daily, split equally between borrowers and lenders. A large portion of the COMP token supply was retained by the Compound team, investors, and advisors. + +Compound's total value locked \(TVL\) has quickly grown to nearly $800 million, making it one of the largest DeFi protocols. COMP has a circulating market cap of over $500 million. + +Compound has undergone multiple security audits by OpenZeppelin and Trail of Bits. The Compound protocol was formally verified by CertiK and has undergone economic stress testing by Gauntlet. Compound maintains a bug bounty program. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------------------------------------------------- | +| Official site | [https://compound.finance/](https://compound.finance/) | +| Developer docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/compound-finance/compound-protocol](https://github.com/compound-finance/compound-protocol) | +| Discord | [https://discord.com/invite/cU7vmVW](https://discord.com/invite/cU7vmVW) | + diff --git a/th/core-concepts/supported-platforms/curve.md b/th/core-concepts/supported-platforms/curve.md new file mode 100644 index 000000000..021d0041b --- /dev/null +++ b/th/core-concepts/supported-platforms/curve.md @@ -0,0 +1,25 @@ +# Curve + +{% hint style="info" %} +Coming soon. Curve has not yet been integrated. +{% endhint %} + +Curve is a decentralized liquidity protocol and exchange on Ethereum for stablecoins and wrapped BTC, launched in January 2020. Users can swap between popular ERC-20 stablecoins or between ERC-20 representations of bitcoin. Liquidity providers facilitate trading and earn fees. + +Curve is an Automated Market Maker \(AMM\) where each market has an associated liquidity pool with two or more assets that should have the same value, like USDT, USDC, DAI and TUSD, which are all US dollar pegged stablecoins. The exchange rate between each stablecoin and their relative weights are determined by an algorithm based on supply and demand. Arbitrageurs act to normalize these exchange rates. + +Some of Curve's liquidity pools earn extra fees for liquidity providers on top of the exchange fees from traders. Curve offers stablecoin pools integrated with Compound, yearn.finance, and Synthetix. The assets in each liquidity pool are provided to those platforms to generate additional yield which is passed on to each pool's liquidity providers. Liquidity Provider \(LP\) tokens are given to pool participants and can be redeemed for their initial liquidity supplied plus accrued fees and yield. LP tokens can also transferred for use in other protocols. + +Curve is governed by CRV, an ERC-20 governance token. CRV holders can vote on protocol changes. CRV holders can stake their tokens for additional voting power proportional to time staked. CRV is continuously awarded to liquidity providers and a large portion of the total supply of CRV was allocated to the team and investors on a continuous vesting schedule. + +Trading volumes on Curve are often over $50 million daily. Curve has a Total Value Locked \(TVL\) of over $1 billion by liquidity providers at the time of writing. + +Curve has undergone two audits by Trail of Bits and maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------ | +| Official site | [https://uniswap.org/](https://uniswap.org/) | +| Developer docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/th/core-concepts/supported-platforms/dydx.md b/th/core-concepts/supported-platforms/dydx.md new file mode 100644 index 000000000..24f1a895e --- /dev/null +++ b/th/core-concepts/supported-platforms/dydx.md @@ -0,0 +1,27 @@ +# dYdX + +{% hint style="info" %} +Coming soon. DyDx has not yet been integrated. +{% endhint %} + +dYdX is a trading and lending protocol and platform built on Ethereum and launched in May 2019. Users can trade assets on dYdX's non-custodial, decentralized exchange or participate in borrowing and lending. The lending protocol enables margin and futures trading. Interest rates are adjusted based on supply and demand and only short term loans are offered. + +Liquidity for assets available for borrowing and lending are pooled together by asset type. Interest paid to lenders is accrued automatically and borrowers must put up collateral to take out a loan. + +dYdX also supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +dYdX has around $40 million in total value locked \(TVL\) at the time of this writing. dYdX does not have a native token. + +dYdX has undergone security audits by OpenZeppelin and Bramah Systems. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://dydx.exchange/](https://dydx.exchange/) | +| Developer docs | [https://docs.dydx.exchange/](https://docs.dydx.exchange/) | +| GitHub | [https://github.com/dydxprotocol/](https://github.com/dydxprotocol/) | +| Discord | [https://discord.gg/yah42Rb](https://discord.gg/yah42Rb) | + + + + + diff --git a/th/core-concepts/supported-platforms/uniswap.md b/th/core-concepts/supported-platforms/uniswap.md new file mode 100644 index 000000000..012e25e93 --- /dev/null +++ b/th/core-concepts/supported-platforms/uniswap.md @@ -0,0 +1,27 @@ +# Uniswap + +{% hint style="info" %} +Coming soon. Uniswap has not yet been integrated. +{% endhint %} + +Uniswap is a decentralized liquidity protocol and exchange on Ethereum, launched in November 2018. Uniswap v2 launched in May 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Markets on Uniswap operate as liquidity pools rather than order books. This type of exchange is called an Automated Market Maker \(AMM\). The exchange rate between the two assets is determined by a constant product formula and moves along a price curve depending on the relative weight of each asset in the pool. This encourages arbitrageurs to enter liquidity pools to rebalance the relative weights and normalize the exchange rate. + +Traders can suffer from slippage if there is not enough liquidity in a given pool and may not be protected from unfavorable exchange rates. Liquidity providers may suffer impermanent loss when the pool exchange rate does not match market realities and arbitrageurs execute trades along the pricing curve. + +Pool participants are given Uniswap Liquidity Provider \(LP\) tokens that correspond to their share of liquidity provided in a given pool. These LP tokens are freely transferable. Participants can exit pools at any time by redeeming these tokens for the assets provided and fees accrued. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Uniswap pools. + +Trading volumes on Uniswap now eclipse that of many traditional exchanges and regularly surpass $200 million daily. Uniswap has over $170 million in Total Value Locked \(TVL\) by liquidity providers. Uniswap does not have a native platform or governance token. + +Uniswap has had its smart contracts audited and formally verfied by dapp.org. Uniswap maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------ | +| Official site | [https://uniswap.org/](https://uniswap.org/) | +| Developer docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/th/core-concepts/supported-platforms/yearn.finance.md b/th/core-concepts/supported-platforms/yearn.finance.md new file mode 100644 index 000000000..3f23b9fdb --- /dev/null +++ b/th/core-concepts/supported-platforms/yearn.finance.md @@ -0,0 +1,25 @@ +# Yearn.finance + +{% hint style="info" %} +Coming soon. Yearn.finance has not yet been integrated. +{% endhint %} + +Yearn.finance, formerly iEarn.finance, is a yield aggregation platform built on Ethereum and launched in January 2020 by Andre Cronje. Yearn manages yield farming and rebalancing strategies using a combination of automation and human decision making on behalf of users who have deposited capital. + +Yearn has two yield aggregation products, Earn and Vaults. Earn allows users to deposit stablecoins or wrapped BTC into liquidity pools on Curve to earn fees and governance token rewards. These assets are also lent out on platforms offering high yield and token rewards, adding to the yield earned. + +Vaults offer a more automated and managed experience. Users deposit assets such as LINK, Curve liquidity provider tokens, or stablecoins and the Vault pools these assets together and deploys the highest earning yield farming strategy as deemed safe by the community and Andre Cronje. Governance tokens earned as rewards are sold off for the original asset deposited and combined with other fees and automatically rolled into the Vault to compound yield. Strategies can be changed frequently and pooling assets together saves gas costs for users. + +Yearn is governed by YFI, an ERC-20 governance token. YFI holders can vote on protocol changes after agreeing to lock up their YFI for 3 days. YFI can also be staked for yield in the governance portal. This yield comes from fees charged to users on Yearn products. YFI was distributed entirely to liquidity providers on Curve and Balancer. There was no allocation for team members or investors. + +Yearn's total value locked \(TVL\) has quickly grown to over $800 million, making it one of the largest DeFi platforms. YFI has a circulating market cap of over $400 million. + +Yearn has undergone multiple security and smart contract audits by CertiK, Quantstamp, HackMD, and CryptoManiacs. Yearn has a reputation for launching experimental products very quickly and warns users that their products are in beta. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://yearn.finance/](https://yearn.finance/) | +| Developer docs | [https://docs.yearn.finance/](https://docs.yearn.finance/) | +| GitHub | [https://github.com/iearn-finance](https://github.com/iearn-finance) | +| Discord | [https://discord.gg/uTmHe8r](https://discord.gg/uTmHe8r) | + diff --git a/th/core-concepts/supported-stablecoins/README.md b/th/core-concepts/supported-stablecoins/README.md new file mode 100644 index 000000000..1c4b60eb5 --- /dev/null +++ b/th/core-concepts/supported-stablecoins/README.md @@ -0,0 +1,25 @@ +# Supported Stablecoins + +**Supported Stablecoins** + +It is important to understand that OUSD is only as strong as the stablecoins that are backing it. Any loss to the underlying assets will cause a similar loss to the value of OUSD. + +Currently, OUSD supports the following stablecoins: + +{% content-ref url="usdt.md" %} +[usdt.md](usdt.md) +{% endcontent-ref %} + +{% content-ref url="usdc.md" %} +[usdc.md](usdc.md) +{% endcontent-ref %} + +{% content-ref url="dai.md" %} +[dai.md](dai.md) +{% endcontent-ref %} + +None of these stablecoins are perfect, but we selected them because of their widespread usage. While these stablecoins have lost their USD peg on multiple occasions, they have demonstrated resiliency in eventually getting back to their 1 USD targets. + +It is important to note that all these stablecoins introduce non-trivial counter-party risk. Tether, in particular, has had well-documented banking troubles and regulatory challenges. In addition, both USDT and USDC have backdoors that grant their issuers the power to freeze money in their holder's wallets. While DAI does not have any direct backdoors, its assets can also be negatively impacted since USDC and USDT are accepted as collateral for minting DAI. + +Despite these concerns, there are already billions of dollars betting on the security of these stablecoins. It is possible that additional stablecoins will be added to the protocol over time. Support may also be removed if any of these stablecoins prove to be too unreliable or put OUSD holder's funds in jeopardy. diff --git a/th/core-concepts/supported-stablecoins/dai.md b/th/core-concepts/supported-stablecoins/dai.md new file mode 100644 index 000000000..b80269d11 --- /dev/null +++ b/th/core-concepts/supported-stablecoins/dai.md @@ -0,0 +1,19 @@ +# DAI + +![](../../.gitbook/assets/dai.png) + +Dai is a fiat-pegged stablecoin launched as a ERC-20 token on the Ethereum blockchain in December 2017. A major upgrade from single-collateral Dai (SAI) to multi-collateral Dai (DAI) was completed in November 2019. Dai is pegged to the US dollar. + +Dai is minted by users locking up crypto assets such as ETH or USDC as collateral in a collateralized debt position (CDP) called a vault. Previously, only ETH was accepted as collateral. The reserves and status of each vault can be viewed on the blockchain in real-time. The health of these vaults and the Dai stablecoin are closely monitored. + +Dai is the world's third-largest stablecoin with over $400 million in circulation. In addition, cDAI and aDAI, synthetic versions of Dai on the lending platforms Compound and Aave, combine for over $600 million in circulation. + +| Key Facts | | +| ------------- | ------------------------------------------------------------------------------------------------------------------- | +| Issued by | MakerDAO | +| Name | Dai | +| Symbol | DAI | +| Address | [0x6b175474e89094c44da98b954eedeac495271d0f](https://etherscan.io/token/0x6b175474e89094c44da98b954eedeac495271d0f) | +| Decimals | 18 | +| Official site | [https://makerdao.com/](https://makerdao.com) | +| Holders | Over 380k addresses | diff --git a/th/core-concepts/supported-stablecoins/usdc.md b/th/core-concepts/supported-stablecoins/usdc.md new file mode 100644 index 000000000..e47385909 --- /dev/null +++ b/th/core-concepts/supported-stablecoins/usdc.md @@ -0,0 +1,20 @@ +# USDC + +![](../../.gitbook/assets/usdc-coin-bd351fb779 (1).png) + +USD Coin (USDC) is a fiat-pegged stablecoin launched as a ERC-20 token on the Ethereum blockchain in October 2018. USDC is pegged to the US dollar and can easily be redeemed for US dollars. + +Each USDC is backed by a 1:1 ratio with the equivalent amount of fiat currency held in custodial accounts by members of Centre, a consortium founded by Circle and Coinbase. Members of Centre are regulated financial institutions based in the US. Monthly audits of reserves are published by Grant Thornton LLP. + +USDC is the world's second-largest stablecoin after USDT and has quickly grown to over $1 billion in circulation. However, USDC remains far behind USDT's $12+ billion in circulation. + +| Key Facts | | +| ------------- | ------------------------------------------------------------------------------------------------------------------- | +| Issued by | Centre | +| Name | USD Coin | +| Symbol | USDC | +| Address | [0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48](https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48) | +| Decimals | 6 | +| Official site | [https://www.centre.io/usdc](https://www.centre.io/usdc) | +| Holders | Over 1M addresses | + diff --git a/th/core-concepts/supported-stablecoins/usdt.md b/th/core-concepts/supported-stablecoins/usdt.md new file mode 100644 index 000000000..4f07af957 --- /dev/null +++ b/th/core-concepts/supported-stablecoins/usdt.md @@ -0,0 +1,20 @@ +# USDT + +![](../../.gitbook/assets/image (1).png) + +Tether (USDT) is a fiat-pegged stablecoin that was initially built on top of Bitcoin via the Omni Layer Protocol. In September 2017, Tether announced they would be launching additional ERC-20 tokens for United States dollars on the Ethereum blockchain. + +Each Tether issued into circulation is said to be backed by a one-to-one ratio with the equivalent amount of fiat currency held in a custodial account by Tether Limited, a Hong Kong-based company with close ties to the cryptocurrency exchange, Bitfinex. + +Despite the controversy **** around **** the company's failure to provide a promised audit showing adequate reserves backing tether, USDT is still the world's largest stablecoin by market cap and currently the fourth-largest cryptocurrency after BTC, ETH and XRP. + +| Key Facts | | +| ------------- | ---------------------------------------------------------------------------------------------------------------- | +| Issued by | Tether Limited | +| Name | Tether | +| Symbol | USDT | +| Address | [0xdac17f958d2ee523a2206206994597c13d831](https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7) | +| Decimals | 6 | +| Official site | [https://tether.to/ ](https://tether.to) | +| Holders | Over 3.4M addresses | + diff --git a/th/core-concepts/supported-strategies/README.md b/th/core-concepts/supported-strategies/README.md new file mode 100644 index 000000000..b1bb5828c --- /dev/null +++ b/th/core-concepts/supported-strategies/README.md @@ -0,0 +1,27 @@ +# Supported Strategies + +**Supported DeFi Platforms** + +OUSD generates yield by depositing stablecoins into lending platforms and market maker liquidity pools. It is important to understand that these platforms do carry technological risk and funds can be lost if there is a major security event. We are choosing to work with the platforms that have had their smart contracts audited and that we feel are most secure. + +Currently, OUSD earns yield from the following platform(s): + +{% content-ref url="compound.md" %} +[compound.md](compound.md) +{% endcontent-ref %} + +{% content-ref url="aave.md" %} +[aave.md](aave.md) +{% endcontent-ref %} + +{% content-ref url="curve.md" %} +[curve.md](curve.md) +{% endcontent-ref %} + +{% content-ref url="convex.md" %} +[convex.md](convex.md) +{% endcontent-ref %} + +Although DeFi has grown very quickly and there are now billions of dollars worth of value deposited on these platforms, several of these projects are still in beta and are highly experimental. There may be hidden vulnerabilities in the smart contracts that power these platforms, and there have been multi-million dollar losses caused by vulnerabilities in Ethereum applications in the past. + +We closely monitor security events on the platforms we support and will immediately move to secure OUSD holder funds if we identify any threats. diff --git a/th/core-concepts/supported-strategies/aave.md b/th/core-concepts/supported-strategies/aave.md new file mode 100644 index 000000000..cf77e0ffb --- /dev/null +++ b/th/core-concepts/supported-strategies/aave.md @@ -0,0 +1,20 @@ +# Aave + +Aave is a lending protocol and platform built on Ethereum and launched in January 2020 by the creators of ETHLend. Users on Aave can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and users can choose between a variable interest rate based on supply and demand or a fixed interest rate. + +Collateral balances are represented by ERC-20 aTokens at a 1:1 ratio to the underlying assets they represent. Interest is compounded automatically and paid to lenders with aTokens, meaning lenders will steadily see their aToken balance increase over time. Users can borrow assets against their aTokens. aTokens are freely transferable and can be used on many other DeFi protocols. aTokens can be redeemed for their underlying collateral at any time. + +Aave supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +Aave's governance token was formerly called LEND which was the utility token for ETHLend. As part of their transition to fully decentralized governance, LEND holders were able to exchange LEND for AAVE, a new ERC-20 governance token with staking rewards. Some AAVE tokens have been distributed to users of the platform in a liquidity mining campaign. + +Aave's total value locked (TVL) has quickly grown to over $15.5 billion, making it the largest DeFi protocol at the time of writing. LEND has a circulating market cap of over $5.3 billion. + +Aave has undergone security audits by OpenZeppelin, Trail of Bits, and Consensys Diligence. Aave maintains a bug bounty program. + +| Resources | | +| -------------- | ------------------------------------------------------------------------------ | +| Official site | [https://aave.com/](https://aave.com) | +| Developer docs | [http://docs.aave.com/](http://docs.aave.com) | +| GitHub | [https://github.com/aave/aave-protocol](https://github.com/aave/aave-protocol) | +| Discord | [https://aave.com/discord](https://aave.com/discord) | diff --git a/th/core-concepts/supported-strategies/balancer.md b/th/core-concepts/supported-strategies/balancer.md new file mode 100644 index 000000000..f8d9e3c0a --- /dev/null +++ b/th/core-concepts/supported-strategies/balancer.md @@ -0,0 +1,27 @@ +# Balancer + +{% hint style="info" %} +Coming soon. Balancer has not yet been integrated. +{% endhint %} + +Balancer is a decentralized liquidity protocol and exchange on Ethereum, launched in March 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Balancer is an Automated Market Maker \(AMM\) that allows for liquidity pools of up to 8 different assets with custom weights. Liquidity pools on Balancer can be thought of as similar to Exchange Traded Funds \(ETFs\) or portfolios with weight targets for specific assets. If trading causes the pool to shift from its target weight distribution, exchange rates between assets in the pool change. Arbitrageurs can execute trades to take advantage of this and act to rebalance the pool back to its target weight distribution. Liquidity can also be shared across pools, unlike other AMMs. + +Balancer supports private pools, where only the owner of the pool can contribute liquidity, shared pools, which are completely public, and smart pools, which are shared pools controlled by a smart contract that can implement automated rules and logic. Liquidity providers are given Balancer Pool Tokens \(BPTs\) that represent their share of a given pool and fees. These tokens are freely transferable and can be redeemed for the assets provided and accrued fees. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Balancer pools. + +Balancer is governed by BAL, an ERC-20 governance token. BAL holders can vote on protocol changes. BAL is continuously awarded to liquidity providers and a large portion of the total supply of BAL was allocated to the team and investors on a continuous vesting schedule. + +Trading volumes on Balancer are often over $25 million daily. Balancer has a Total Value Locked \(TVL\) of over $250 million by liquidity providers at the time of writing. + +Balancer has undergone a security audit by Trail of Bits and has a bug bounty program. However, Balancer has suffered a major exploit in June 2020. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://balancer.finance/](https://balancer.finance/) | +| Developer docs | [https://docs.balancer.finance/](https://docs.balancer.finance/) | +| GitHub | [https://github.com/balancer-labs](https://github.com/balancer-labs) | +| Discord | [https://discord.gg/ARJWaeF](https://discord.gg/ARJWaeF) | + diff --git a/th/core-concepts/supported-strategies/compound.md b/th/core-concepts/supported-strategies/compound.md new file mode 100644 index 000000000..77e40733e --- /dev/null +++ b/th/core-concepts/supported-strategies/compound.md @@ -0,0 +1,18 @@ +# Compound + +Compound is a lending protocol and platform built on Ethereum and launched in September 2018. Users can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and interest rates are adjusted automatically based on supply and demand. + +Collateral balances are represented by ERC-20 cTokens, which automatically accrue interest and increase in value over time relative to the underlying asset they represent. Users can borrow assets against the value of their cTokens. cTokens are freely transferable and can be used on many other DeFi protocols. cTokens can be redeemed for their underlying collateral at any time. + +Compound is governed by COMP, an ERC-20 governance token. COMP holders can propose and vote on protocol changes or delegate their votes to someone else. COMP tokens are awarded pro-rata to users of the protocol daily, split equally between borrowers and lenders. A large portion of the COMP token supply was retained by the Compound team, investors, and advisors. + +Compound's total value locked (TVL) has quickly grown to over $10 billion, making it one of the largest DeFi protocols. COMP has a circulating market cap of over $2.5 billion. + +Compound has undergone multiple security audits by OpenZeppelin and Trail of Bits. The Compound protocol was formally verified by CertiK and has undergone economic stress testing by Gauntlet. Compound maintains a bug bounty program. + +| Resources | | +| -------------- | -------------------------------------------------------------------------------------------------------------- | +| Official site | [https://compound.finance/](https://compound.finance) | +| Developer docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/compound-finance/compound-protocol](https://github.com/compound-finance/compound-protocol) | +| Discord | [https://discord.com/invite/cU7vmVW](https://discord.com/invite/cU7vmVW) | diff --git a/th/core-concepts/supported-strategies/convex.md b/th/core-concepts/supported-strategies/convex.md new file mode 100644 index 000000000..771280a68 --- /dev/null +++ b/th/core-concepts/supported-strategies/convex.md @@ -0,0 +1,18 @@ +# Convex + +Convex is an aggregation platform for Curve that launched in May 2021. Convex allows liquidity providers on Curve to earn boosted CRV rewards without having to vote-lock CRV. Convex vote-locks CRV on behalf of users and distributes boosted CRV rewards to them. Convex passes on trading fees earned on Curve to users as well. + +Convex also rewards users with their own ERC-20 governance token, CVX. Convex supports both CRV and CVX staking for additional rewards. Vote-locking CVX is required to participate in Convex governance. + +Convex is one of the few protocols whitelisted to participate in Curve governance and controls a huge amount of vote-locked CRV, making them one of the biggest players in Curve governance. A large proportion of liquidity provided on Curve is now done through Convex. Convex has a Total Value Locked (TVL) of over $15.4 billion in deposits at the time of writing. + +Convex has been audited by MixBytes. + +| | | +| -------------- | ---------------------------------------------------------------- | +| Resources | | +| Official site | [https://www.convexfinance.com](https://www.convexfinance.com) | +| Developer docs | [https://docs.convexfinance.com](https://docs.convexfinance.com) | +| GitHub | [https://github.com/convex-eth](https://github.com/convex-eth) | +| Discord | [https://discord.gg/uAwvZfs9qU](https://discord.gg/uAwvZfs9qU) | + diff --git a/th/core-concepts/supported-strategies/curve.md b/th/core-concepts/supported-strategies/curve.md new file mode 100644 index 000000000..40d2aade6 --- /dev/null +++ b/th/core-concepts/supported-strategies/curve.md @@ -0,0 +1,20 @@ +# Curve + +Curve is a decentralized liquidity protocol and exchange on Ethereum for stablecoins and wrapped BTC, launched in January 2020. Users can swap between popular ERC-20 stablecoins or between ERC-20 representations of bitcoin. Liquidity providers facilitate trading and earn fees. + +Curve is an Automated Market Maker (AMM) where each market has an associated liquidity pool with two or more assets that should have the same value, like USDT, USDC, DAI and TUSD, which are all US dollar pegged stablecoins. The exchange rate between each stablecoin and their relative weights are determined by an algorithm based on supply and demand. Arbitrageurs act to normalize these exchange rates. + +Some of Curve's liquidity pools earn extra fees for liquidity providers on top of the exchange fees from traders. Curve offers stablecoin pools integrated with Compound, yearn.finance, and Synthetix. The assets in each liquidity pool are provided to those platforms to generate additional yield which is passed on to each pool's liquidity providers. Liquidity Provider (LP) tokens are given to pool participants and can be redeemed for their initial liquidity supplied plus accrued fees and yield. LP tokens can also transferred for use in other protocols. + +Curve is governed by CRV, an ERC-20 governance token. CRV holders can vote on protocol changes. CRV holders can stake or "vote-lock" their tokens for additional voting power proportional to time staked. Vote-locking CRV also significantly boosts liquidity provider rewards. CRV is continuously awarded to liquidity providers and a large portion of the total supply of CRV was allocated to the team and investors on a continuous vesting schedule. + +Curve has a Total Value Locked (TVL) of over $20.4 billion by liquidity providers at the time of writing. Hundreds of millions of dollars of trading volume are generated on Curve every day. + +Curve has undergone two audits by Trail of Bits and maintains a bug bounty program. + +| Resources | | +| -------------- | ------------------------------------------------------------------------ | +| Official site | [https://www.curve.fi/](https://www.curve.fi) | +| Developer docs | [https://www.curve.fi/devdocs](https://www.curve.fi/devdocs) | +| GitHub | [https://github.com/curvefi](https://github.com/curvefi) | +| Discord | [https://discord.com/invite/9uEHakc](https://discord.com/invite/9uEHakc) | diff --git a/th/core-concepts/supported-strategies/dydx.md b/th/core-concepts/supported-strategies/dydx.md new file mode 100644 index 000000000..24f1a895e --- /dev/null +++ b/th/core-concepts/supported-strategies/dydx.md @@ -0,0 +1,27 @@ +# dYdX + +{% hint style="info" %} +Coming soon. DyDx has not yet been integrated. +{% endhint %} + +dYdX is a trading and lending protocol and platform built on Ethereum and launched in May 2019. Users can trade assets on dYdX's non-custodial, decentralized exchange or participate in borrowing and lending. The lending protocol enables margin and futures trading. Interest rates are adjusted based on supply and demand and only short term loans are offered. + +Liquidity for assets available for borrowing and lending are pooled together by asset type. Interest paid to lenders is accrued automatically and borrowers must put up collateral to take out a loan. + +dYdX also supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +dYdX has around $40 million in total value locked \(TVL\) at the time of this writing. dYdX does not have a native token. + +dYdX has undergone security audits by OpenZeppelin and Bramah Systems. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://dydx.exchange/](https://dydx.exchange/) | +| Developer docs | [https://docs.dydx.exchange/](https://docs.dydx.exchange/) | +| GitHub | [https://github.com/dydxprotocol/](https://github.com/dydxprotocol/) | +| Discord | [https://discord.gg/yah42Rb](https://discord.gg/yah42Rb) | + + + + + diff --git a/th/core-concepts/supported-strategies/uniswap.md b/th/core-concepts/supported-strategies/uniswap.md new file mode 100644 index 000000000..012e25e93 --- /dev/null +++ b/th/core-concepts/supported-strategies/uniswap.md @@ -0,0 +1,27 @@ +# Uniswap + +{% hint style="info" %} +Coming soon. Uniswap has not yet been integrated. +{% endhint %} + +Uniswap is a decentralized liquidity protocol and exchange on Ethereum, launched in November 2018. Uniswap v2 launched in May 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Markets on Uniswap operate as liquidity pools rather than order books. This type of exchange is called an Automated Market Maker \(AMM\). The exchange rate between the two assets is determined by a constant product formula and moves along a price curve depending on the relative weight of each asset in the pool. This encourages arbitrageurs to enter liquidity pools to rebalance the relative weights and normalize the exchange rate. + +Traders can suffer from slippage if there is not enough liquidity in a given pool and may not be protected from unfavorable exchange rates. Liquidity providers may suffer impermanent loss when the pool exchange rate does not match market realities and arbitrageurs execute trades along the pricing curve. + +Pool participants are given Uniswap Liquidity Provider \(LP\) tokens that correspond to their share of liquidity provided in a given pool. These LP tokens are freely transferable. Participants can exit pools at any time by redeeming these tokens for the assets provided and fees accrued. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Uniswap pools. + +Trading volumes on Uniswap now eclipse that of many traditional exchanges and regularly surpass $200 million daily. Uniswap has over $170 million in Total Value Locked \(TVL\) by liquidity providers. Uniswap does not have a native platform or governance token. + +Uniswap has had its smart contracts audited and formally verfied by dapp.org. Uniswap maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------ | +| Official site | [https://uniswap.org/](https://uniswap.org/) | +| Developer docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/th/core-concepts/supported-strategies/yearn.finance.md b/th/core-concepts/supported-strategies/yearn.finance.md new file mode 100644 index 000000000..3f23b9fdb --- /dev/null +++ b/th/core-concepts/supported-strategies/yearn.finance.md @@ -0,0 +1,25 @@ +# Yearn.finance + +{% hint style="info" %} +Coming soon. Yearn.finance has not yet been integrated. +{% endhint %} + +Yearn.finance, formerly iEarn.finance, is a yield aggregation platform built on Ethereum and launched in January 2020 by Andre Cronje. Yearn manages yield farming and rebalancing strategies using a combination of automation and human decision making on behalf of users who have deposited capital. + +Yearn has two yield aggregation products, Earn and Vaults. Earn allows users to deposit stablecoins or wrapped BTC into liquidity pools on Curve to earn fees and governance token rewards. These assets are also lent out on platforms offering high yield and token rewards, adding to the yield earned. + +Vaults offer a more automated and managed experience. Users deposit assets such as LINK, Curve liquidity provider tokens, or stablecoins and the Vault pools these assets together and deploys the highest earning yield farming strategy as deemed safe by the community and Andre Cronje. Governance tokens earned as rewards are sold off for the original asset deposited and combined with other fees and automatically rolled into the Vault to compound yield. Strategies can be changed frequently and pooling assets together saves gas costs for users. + +Yearn is governed by YFI, an ERC-20 governance token. YFI holders can vote on protocol changes after agreeing to lock up their YFI for 3 days. YFI can also be staked for yield in the governance portal. This yield comes from fees charged to users on Yearn products. YFI was distributed entirely to liquidity providers on Curve and Balancer. There was no allocation for team members or investors. + +Yearn's total value locked \(TVL\) has quickly grown to over $800 million, making it one of the largest DeFi platforms. YFI has a circulating market cap of over $400 million. + +Yearn has undergone multiple security and smart contract audits by CertiK, Quantstamp, HackMD, and CryptoManiacs. Yearn has a reputation for launching experimental products very quickly and warns users that their products are in beta. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://yearn.finance/](https://yearn.finance/) | +| Developer docs | [https://docs.yearn.finance/](https://docs.yearn.finance/) | +| GitHub | [https://github.com/iearn-finance](https://github.com/iearn-finance) | +| Discord | [https://discord.gg/uTmHe8r](https://discord.gg/uTmHe8r) | + diff --git a/th/core-concepts/wrapped-ousd.md b/th/core-concepts/wrapped-ousd.md new file mode 100644 index 000000000..bea00ee4b --- /dev/null +++ b/th/core-concepts/wrapped-ousd.md @@ -0,0 +1,31 @@ +# Wrapped OUSD + +Wrapped OUSD provides a non-rebasing version of OUSD that still earns yield. This makes it easier to use OUSD as a building block for other contracts and it may provide tax benefits in some jurisdictions. + +![Two flavors, up only](https://cdn-images-1.medium.com/max/1600/1\*cqRG-8-64XYx9QChoMxk3g.png) + +### How wrapped OUSD works + +When you wrap OUSD, you get back a fixed number of wOUSD tokens. This number will not go up - you will have the same number of wOUSD tokens tomorrow as you have today. However, the number of OUSD tokens that you can unwrap will go up over time. + +For example, if you wrap 10,000 OUSD, you might receive 9,423 wOUSD. If you hold for a while, you will still have 9,423 wOUSD, but when you unwrap the wOUSD, you receive 11,500 OUSD. + +Both OUSD and wOUSD earn at the same rate and can be transferred just like any other ERC-20 token. wOUSD is one of the first implementations of [EIP-4626](https://eips.ethereum.org/EIPS/eip-4626), which is an extension on ERC-20 that provides basic functionality for depositing and withdrawing tokens and reading balances on a tokenized vault. wOUSD was independently [audited by Solidified](https://github.com/OriginProtocol/security/blob/3dc8c1dec2f6fbf4f7d0bdf92408f79262624647/audits/Solidified%20-%20OGV,%20wOUSD,%20and%20ERC721a%20-%20May%202022.pdf) in May 2022 and is ready for production use. + +### Wrapping + +If you don’t already have OUSD, you can buy it from Gate.io, KuCoin, Curve, Uniswap, or [get it directly from the OUSD DApp](https://www.youtube.com/watch?v=UabjvL-7iu4). + +Once you have OUSD in your wallet, visit [ousd.com/wrap](https://ousd.com/wrap) and follow these steps: + +1. Connect your wallet +2. Enter the amount of OUSD that you want to wrap +3. Submit the allowance for the wOUSD contract to use your OUSD +4. Submit the transaction to wrap your OUSD + +![ousd.com/wrap](https://cdn-images-1.medium.com/max/1600/1\*57fSZSSlzebhpIl8R4UqUQ.png) + +### Unwrapping + +Unwrapping your OUSD does not require any approvals since you already hold the wOUSD in your wallet. There's also no minimum term or lock-up period. You can use the same form shown above and just click the arrow to flip it to unwrap mode. This form calls the `redeem` function to unwrap a spcific amount of wOUSD. You can also [use Etherscan](https://etherscan.io/address/0xd2af830e8cbdfed6cc11bab697bb25496ed6fa62#writeProxyContract) to call the `withdraw` function if you prefer to specify the amount of OUSD that you want to be taken out. + diff --git a/th/core-concepts/yield-generation/README.md b/th/core-concepts/yield-generation/README.md new file mode 100644 index 000000000..b1d3861bc --- /dev/null +++ b/th/core-concepts/yield-generation/README.md @@ -0,0 +1,30 @@ +# Yield Generation + +**Automated Yield Farming** + +While the Cambrian explosion of new lending and automated market maker pools has fueled total value locked (TVL), it has also made it increasingly challenging for yield farmers to manually allocate capital in efficient and optimal ways. + +[Yearn](https://yearn.finance) has demonstrated that smart contracts can automate the rebalancing of funds across various strategies to optimally earn lending interest, market-making fees, and rewards tokens. Over time, new strategies will be deployed that maximize returns while minimizing risk and dependencies. + +![Automated yield farming on the OUSD protocol](../../.gitbook/assets/ousd_earnings_graphic.png) + +OUSD uses the following high-level strategies for generating yield: + +{% content-ref url="lending.md" %} +[lending.md](lending.md) +{% endcontent-ref %} + +{% content-ref url="market-making.md" %} +[market-making.md](market-making.md) +{% endcontent-ref %} + +{% content-ref url="rewards.md" %} +[rewards.md](rewards.md) +{% endcontent-ref %} + +OUSD is able to generate higher yields than competing protocols due to a combination of important design decisions that amplify the rewards that are returned to OUSD holders: + +* Exit fees are returned to the pool, rewarding long term holders +* Price oracles favor the collective over the individual, again rewarding long term holders +* Smart contracts must manually opt-in to earn yield. This allows the protocol to put more capital to work than would be otherwise possible. +* Smart strategies balance risk and reward more effectively than deploying capital in any single underlying strategy. diff --git a/th/core-concepts/yield-generation/lending.md b/th/core-concepts/yield-generation/lending.md new file mode 100644 index 000000000..fa7607781 --- /dev/null +++ b/th/core-concepts/yield-generation/lending.md @@ -0,0 +1,26 @@ +# Lending + +**Unbank the Banked** + +DeFi lending platforms let users lend and borrow crypto assets without any middlemen. Both lenders and borrowers get more value from their crypto. Lenders earn interest, while borrowers deposit crypto as collateral to gain access to credit without traditional banking headaches. DeFi lending platforms currently provide far superior returns for lenders than are generally available in the traditional markets. + +OUSD integrates with DeFi lending platforms that provide over-collateralized loans. Over-collateralization, combined with smart rules around liquidations, provide a reasonable level of security for lenders. Aave also additionally secures their lending pools with AAVE tokens respectively, further lowering risk. + +OUSD integrates with leading lending providers that have a proven track record, audited smart contracts, and have successfully lent hundreds of millions of dollars without issue. We are currently integrated with the following lending platforms: + +{% content-ref url="../supported-strategies/compound.md" %} +[compound.md](../supported-strategies/compound.md) +{% endcontent-ref %} + +{% content-ref url="../supported-strategies/aave.md" %} +[aave.md](../supported-strategies/aave.md) +{% endcontent-ref %} + + + + + + + + + diff --git a/th/core-concepts/yield-generation/market-making.md b/th/core-concepts/yield-generation/market-making.md new file mode 100644 index 000000000..464b5f13e --- /dev/null +++ b/th/core-concepts/yield-generation/market-making.md @@ -0,0 +1,22 @@ +# Market Making + +**Own your Stake in Decentralized Exchanges** + +Automated market makers (AMMs) have quickly risen as the preferred form of decentralized exchange on the Ethereum network. This is in part due to the difficulty of supporting order book DEXes on Ethereum 1.0 that can rival the instant and low-slippage experiences on centralized exchanges. Further, AMMs like Uniswap are relatively user-friendly and gas-efficient to use. + +AMMs can only enable new markets when liquidity providers supply liquidity (e.g. multiple tokens for given trading pairs or pools). In return for providing liquidity, liquidity providers are rewarded with trading fees when other users swap tokens. For example, when traders swap two tokens on Uniswap v3, they are currently charged anywhere between 0.05% and 1% on top of the gas fees. These fees are distributed pro-rata to liquidity providers of the pair based on the percentage of total liquidity that they have provided. + +{% hint style="info" %} +[Impermanent loss](https://medium.com/@pintail/uniswap-a-good-deal-for-liquidity-providers-104c0b6816f2) is an important risk factor to understand, but this concern is largely mitigated by OUSD only providing liquidity for stablecoins of approximately equal value. +{% endhint %} + +The OUSD protocol routes USDT, USDC, and DAI to highly-performing liquidity pools as determined by trading volume and rewards tokens (e.g. Curve rewards CRV tokens to liquidity providers). Yields are then passed on to OUSD holders. + +We are currently integrated with the following automated market maker: + +{% content-ref url="../supported-strategies/curve.md" %} +[curve.md](../supported-strategies/curve.md) +{% endcontent-ref %} + + + diff --git a/th/core-concepts/yield-generation/rewards.md b/th/core-concepts/yield-generation/rewards.md new file mode 100644 index 000000000..f598afe7c --- /dev/null +++ b/th/core-concepts/yield-generation/rewards.md @@ -0,0 +1,12 @@ +# Rewards + +**Collecting Rewards** + +In addition to collecting interest from lending and fees from market making, we intend to automatically claim and convert the bonus incentives that are being distributed by many of the DeFi protocols. For example, Compound gives away COMP tokens and Curve gives away CRV tokens. These bonus rewards will be regularly converted into stablecoins, deployed in the market, and distributed to OUSD holders in the form of additional yield. + +{% hint style="info" %} +While the vault safely stores any unexpected rewards that it receives, custom strategies will need to be written and deployed to decide when and how the protocol should convert them to stablecoins. +{% endhint %} + +Today, rewards are a significant factor for yield farmers as they represent a large percentage of their returns. We anticipate that the OUSD protocol will be upgraded over time to take advantage of the most attractive yields available across the DeFi landscape. The protocol will factor in the market value of the various rewards being offered when deciding how to best allocate resources. + diff --git a/th/faq.md b/th/faq.md new file mode 100644 index 000000000..6d47859ae --- /dev/null +++ b/th/faq.md @@ -0,0 +1,33 @@ +# FAQ + +**Where can I buy OUSD?** + +Check out [Getting Started](https://docs.ousd.com/getting-started) to see a variety of options. + +**What are the costs to mint and redeem OUSD?** + +As with any Ethereum transaction, you will need Ether to interact with the OUSD smart contract. We have taken measures to reduce gas usage where possible, but these costs can vary. + +Anytime you mint or redeem OUSD, there will be an exchange rate applied to your stablecoins deposited or withdrawn. You can read more about this in [Price Oracles](https://docs.ousd.com/core-concepts/price-oracles). + +To encourage long-term holding of OUSD and to protect the protocol from attackers, an exit fee of 0.25% is charged on all redeems. You can read more about this in [How It Works](https://docs.ousd.com/how-it-works). + +**How soon will my balance increase once I have OUSD?** + +The amount of OUSD in your wallet will grow each time there is a positive rebase event. You can read more about this in [Elastic Supply](https://docs.ousd.com/core-concepts/elastic-supply). The supply is currently rebased several times per day and is usually correlated with how many people are minting and redeeming OUSD. + +**Why does OUSD not grow when it's held in Uniswap, SushiSwap, etc?** + +By default, rebase events don't affect the supply of OUSD that is sitting in smart contracts. These contracts can opt in to receiving additional OUSD if they are capable of handling elastic supply tokens. You can read more about this in [Rebasing & Smart Contracts](https://docs.ousd.com/core-concepts/elastic-supply/rebasing-and-smart-contracts). + +**How is it possible for the APY to be so high?** + +You can read about our various strategies in [Yield Generation](https://docs.ousd.com/core-concepts/yield-generation). We currently get most of the yield from harvesting rewards tokens (namely COMP and CRV). Additionally, the yield increases as more OUSD is held in smart contracts that do not opt into rebasing since the underlying collateral continues to earn for the average OUSD holder. + +**Why is my balance increasing at a slower rate than the advertised APY?** + +OUSD balances increase when the supply is rebased. But the size of each rebase varies wildly depending on how much the vault has earned since the last rebase. And while most rebases collect a small amount earnings from lending strategies, other rebases involve liquidating rewards tokens or collecting fees. As a result, the yield will vary significantly during short time periods. + +**What about the hack? Is OUSD safe?** + +On November 7th 2020, OUSD was exploited for 7M USD due to a previously undetected reentrancy bug. You can read more [details about the hack](https://medium.com/originprotocol/urgent-ousd-has-hacked-and-there-has-been-a-loss-of-funds-7b8c4a7d534c) on our blog as well as the [detailed compensation plan](https://medium.com/originprotocol/origin-dollar-ousd-detailed-compensation-plan-faa73f87442e) for taking care of the affected users. Origin Dollar was relaunched in December after completing multiple audits and security upgrades. You can learn more about the steps taken to secure the protocol in our [relaunch announcement](https://medium.com/originprotocol/origin-dollar-ousd-is-back-b8ee0c601dad). diff --git a/th/getting-started.md b/th/getting-started.md new file mode 100644 index 000000000..a02770326 --- /dev/null +++ b/th/getting-started.md @@ -0,0 +1,71 @@ +# Getting Started + +These docs are intended to explain how OUSD works, communicate the potential risks and benefits, and provide a guide for developers who wish to contribute to our codebase or integrate OUSD into their products. Here are a few ways for you to dive in and get started. + +**Buying OUSD** + +{% hint style="info" %} +The [Origin Dollar DApp](https://ousd.com/swap) will intelligently route your transaction to get you the best rate. +{% endhint %} + +The [Origin Dollar DApp](https://ousd.com/swap) allows anyone to buy or sell OUSD using a web-3 enabled cryptocurrency wallet like [Metamask](https://www.metamask.io), [Ledger](https://www.ledger.com), or [Gnosis Safe](https://gnosis-safe.io). This is the native way to get OUSD, especially if you want a large amount that could risk moving the market on other exchanges. The DApp will intelligently decide whether to create or trade-in OUSD tokens using the vault or help you complete the trade on whichever AMM is currently offering the best rate. + +**Decentralized Exchanges** + +OUSD is currently available on the following decentralized exchanges. These are listed here for reference only. We recommend using the [Origin Dollar DApp](https://ousd.com/swap) to ensure you always get the best rate. + +* [Buy OUSD on 1inch](https://app.1inch.io/#/1/swap/USDT/OUSD) +* [Buy OUSD on Curve](https://curve.fi/factory/9) +* [Buy OUSD on Uniswap v3](https://app.uniswap.org/#/swap?inputCurrency=0xdac17f958d2ee523a2206206994597c13d831ec7\&outputCurrency=0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86) +* [Buy OUSD on Uniswap v2](https://app.uniswap.org/#/swap?inputCurrency=0xdac17f958d2ee523a2206206994597c13d831ec7\&outputCurrency=0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86\&use=v2) +* [Buy OUSD on Sushiswap](https://exchange.sushiswapclassic.org/#/swap?inputCurrency=0xdac17f958d2ee523a2206206994597c13d831ec7\&outputCurrency=0x2a8e1e676ec238d8a992307b495b45b3feaa5e86) + +**Centralized Exchanges** + +OUSD is currently available on the following centralized exchanges. Be sure to check on how they are handling the yield that is being generated by the protocol. Depending on the exchange, there may be additional steps you need to take to participate in the yield while it's being held in their custody. + +* Buy OUSD on KuCoin + * [OUSD/USDT](https://trade.kucoin.com/OUSD-USDT) + * [OUSD/BTC](https://trade.kucoin.com/OUSD-BTC) +* Buy OUSD on Gate.io + * [OUSD/USDT](https://www.gate.io/trade/OUSD\_USDT) +* Buy OUSD on Virgox + * [OUSD/USDT](https://virgox.com/exchange/141) +* [Buy OUSD on Dharma App](https://www.dharma.io) (US only) + +We're continuing to work on making OUSD available on additional centralized exchanges. + +**Adding OUSD to Your Wallet** + +{% hint style="success" %} +The main ERC20 address for Origin Dollar (OUSD) is: \ +**0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +If your OUSD does not automatically show up in your wallet, you should be able to add it manually using the address above. If you are planning on [storing your OUSD in a multi-sig wallet](core-concepts/elastic-supply/rebasing-and-smart-contracts.md), be sure to opt-in to receive yield. We want to have OUSD supported by as many wallets as possible and included on all the various lists of well-known tokens. We would greatly appreciate any help you can offer in this area. + +**Integrating OUSD** + +OUSD is a non-standard ERC-20 token that requires custom integration work for most applications that wish to support it. In particular, it is important for developers to understand how our elastic supply works as this can easily cause unexpected behavior. + +If you are a wallet provider or crypto exchange that is interested in supporting OUSD, please refer to the following guides: + +{% content-ref url="core-concepts/elastic-supply/rebasing-and-smart-contracts.md" %} +[rebasing-and-smart-contracts.md](core-concepts/elastic-supply/rebasing-and-smart-contracts.md) +{% endcontent-ref %} + +{% content-ref url="smart-contracts/architecture.md" %} +[architecture.md](smart-contracts/architecture.md) +{% endcontent-ref %} + +{% content-ref url="smart-contracts/api/" %} +[api](smart-contracts/api/) +{% endcontent-ref %} + +**Developer Analytics** + +Our internal developer dashboard is available at [analytics.ousd.com](https://analytics.ousd.com). The dashboard shows the current circulating supply, the assets under management in the vault, and the current allocations between each of the stablecoins and strategies. + +**Getting Help** + +Please join the Origin Dollar #engineering room in Origin's [Discord](https://www.originprotocol.com/discord) server. Our team and members of our community look forward to helping you build. Your questions help us improve, so please don't hesitate to ask if you can't find what you are looking for here. diff --git a/th/governance/admin-privileges.md b/th/governance/admin-privileges.md new file mode 100644 index 000000000..30ed8065a --- /dev/null +++ b/th/governance/admin-privileges.md @@ -0,0 +1,32 @@ +# Admin Privileges + +The OUSD smart contracts are designed to be owner upgradable. The Origin team uses two different Gnosis multisig wallet contracts in order to make changes to the protocol. These multisig wallets have been [audited by OpenZeppelin](https://blog.openzeppelin.com/gnosis-multisig-wallet-audit-d702ff0e2b1e/), [ConsenSys Dilligence](https://blog.gnosis.pm/the-gnosis-multisig-wallet-and-our-commitment-to-security-ce9aca0d17f6), Origin’s team, and others. + +{% hint style="info" %} +Time-delayed admin actions gives users a chance to exit OUSD if its admins become malicious, are compromised, or make a change that the users do not like. +{% endhint %} + +### Admin + +The primary admin is a 5 of 8 multisig contract which is required to make any code changes to the protocol. OUSD can only be upgraded from this 5 of 8 multi-sig wallet. The keys to this multi-sig are held by individuals with close ties to the company, and not even the Origin founders acting together have enough control to execute owner functions on their own. In addition, the OUSD contracts are owned by a [timelock](../smart-contracts/api/timelock.md) which places a 48 hour time delay before any changes to the protocol can be made. + +### Strategist + +Some functionality, such as rebalancing funds between strategies or pausing deposits, can be triggered without the timelock and with far fewer signers. This allows the Origin team to react more quickly to market conditions or security threats. These signers, known as Strategists, have the ability to execute a limited number of functions __ with only 2 of 9 signers. + +The strategist multisig can do the following actions on the vault: + +* reallocate - move funds between strategies +* setVaultBuffer - adjust the amount of funds held outside strategies for cheaper redeems. +* setAssetDefaultStrategy - which strategy mints and redeems pull from for a particular strategy +* withdrawAllFromStrategy - remove funds from a single strategy and send them to the vault +* withdrawAllFromStrategies - remove funds from all active strategies and send them to the vault +* pauseRebase - pause all rebases +* pauseCapital - pause all mints and redeems +* unpauseCapital - allow all mints and redeems + +### Future + +Having these admin privileges is necessary in the early days to ensure that the protocol is secure and optimized for earning yields while minimizing risks. We expect to release multiple iterations of our smart contracts in the first several months of the protocol's existence. + +Once several upgrade cycles have been completed, we intend to transfer ownership from our company control to a decentralized governance contract, thereby allowing the community to vote and participate in future protocol updates. diff --git a/th/governance/contributing.md b/th/governance/contributing.md new file mode 100644 index 000000000..5b63d22c7 --- /dev/null +++ b/th/governance/contributing.md @@ -0,0 +1,103 @@ +# Contributing + +**100% Open-source** + +OUSD is an entirely open-source project and we welcome contributions of all sorts. There are many ways to help, from reporting issues, contributing code, and helping us improve our community. + +{% content-ref url="broken-reference" %} +[Broken link](broken-reference) +{% endcontent-ref %} + +We work in public and our company Discord is open to all. If you have questions or need help getting started, our [Discord OUSD channels](https://discord.gg/jyxpUSe) are the best place to get assistance from our team and community. + +{% content-ref url="broken-reference" %} +[Broken link](broken-reference) +{% endcontent-ref %} + +**Developer Analytics** + +Our internal developer dashboard is available at [analytics.ousd.com](https://analytics.ousd.com). The dashboard shows the current circulating supply, the assets under management in the vault, and the current allocations between each of the stablecoins and strategies. Various other developer tools can be found at [ousd.com/dashboard](https://ousd.com/dashboard). + +#### Development Process + +Our branching strategy is similar to [GitFlow](http://nvie.com/posts/a-successful-git-branching-model/), but we do all of our development in the `master` branch and have a `stable` branch for code that has been released. + +Your development flow should look like: + +1. Find an interesting issue and communicate! Please let the `#engineering` [Discord](https://discord.gg/jyxpUSe) channel know what you want to work on. +2. Ping a [core team member](https://github.com/orgs/OriginProtocol/teams/core/members) member on Discord and ask to be added to our [contributors team](https://github.com/orgs/OriginProtocol/teams/contributors). Otherwise, you’ll need to fork the relevant repository and push feature branches to your own fork. +3. Add a comment to the issue or self-assign so we don’t have multiple contributors unintentionally working on the same task. +4. Start with the `master` branch and check out a new feature branch unless you’re contributing to an existing feature. +5. Write some awesome code. +6. Pull the latest commits from `master` and confirm that your code works with any other work that has been merged since you started. +7. Push your branch to the upstream repository (i.e. https://github.com/OriginProtocol/\[repo]) so that other contributors can easily work off of it if necessary. +8. Please request a review in the PR by clicking on the gear icon next to “Reviewers” in the right column. + +For critical smart contract code to be merged it must pass the following checklist: + +* Code reviewed by 2 reviewers +* Unit tests pass +* Slither tests pass with no warning +* Echidna tests pass + +The `master` branch is locked so that only members of the [core team](https://github.com/orgs/OriginProtocol/teams/core) are able to merge your pull requests. Pull requests that are peer-reviewed by other trusted contributors will be fast-tracked and merged faster! Check in the `#engineering` Discord channel for appropriate reviewers. + +#### Coding Style + +We use a variety of programming languages in our repositories. When contributing, please follow existing coding conventions and refer to the CONTRIBUTING.md file in the repository, if one exists. + +For JavaScript, we use [NPM’s style](https://docs.npmjs.com/misc/coding-style), which is automatically enforced via [prettier](https://prettier.io). + +For Solidity, we use two-space indents. + +#### Protocol Design + +When considering protocol or implementation design proposals, we are looking for: + +* A description of the problem this design proposal solves +* Discussion of the trade-offs involved +* Review of other existing solutions +* Links to relevant literature (RFCs, papers, etc) +* Discussion of the proposed solution + +Please note that protocol design is hard and meticulous work. You may need to review existing literature and think through generalized use cases. + +#### Community Guidelines + +We want to keep the Origin community awesome, growing and collaborative. We need your help to keep it that way. To help with this we’ve come up with some general guidelines for the community as a whole: + +* Be nice: Be courteous, respectful and polite to fellow community members: no regional, racial, gender, or other abuse will be tolerated. We like nice people way better than mean ones! +* Encourage diversity and participation: Make everyone in our community feel welcome, regardless of their background and the extent of their contributions, and do everything possible to encourage participation in our community. +* Keep it legal: Basically, don’t get anybody in trouble. Share only content that you own, do not share private or sensitive information, and don’t break laws. +* Stay on topic: Make sure that you are posting to the correct channel and avoid off-topic discussions. Remember when you update an issue or respond to an email you are potentially sending to a large number of people. Please consider this before you update. Also remember that nobody likes spam. + +#### Reporting Issues + +If you find bugs, mistakes or inconsistencies in Origin’s code or documents, please let us know by filing a GitHub issue. No issue is too small. Help us fix our tpyos! + +#### Security Issues + +OUSD is still in early development, which means there may be problems with the protocol or in our implementations. We take security vulnerabilities very seriously. If you discover a security issue, please bring it to our attention right away! + +If you find a security vulnerability please send your report privately to [security@originprotocol.com](mailto:security@originprotocol.com) or send an encrypted message to [@joshfraser on Keybase](https://keybase.io/joshfraser). Please DO NOT file a public issue. Be sure to review our guidelines for responsible disclosure and eligibility for bug bounties. + +{% content-ref url="../security-and-risks/bug-bounties.md" %} +[bug-bounties.md](../security-and-risks/bug-bounties.md) +{% endcontent-ref %} + +#### **Community Improvement** + +Origin is just as much about community as it is about our technology. + +We need constant help in improving our documentation, building new tools to interface with our platform, spreading the word to new users, helping new users getting setup and much more. + +Please get in touch if you would like to help out. Our `discussion` channel on [Discord](https://www.originprotocol.com/discord) is a great place to share ideas and volunteer to help. + +#### Full-Time Positions + +Origin occasionally hires developers for part-time or full-time positions. + +We have a strong preference for hiring people who have already started contributing to the project. If you want a full-time position on our team, your best shot is to engage with our team and start contributing code. It is very unlikely that we would offer you a full-time position on our engineering team unless you’ve had at least a few pull requests merged. + +If you are interested, check out [the Origin Protocol job listings](https://angel.co/originprotocol/jobs). If you’d like to help in other ways, please propose your ideas in [our Discord channel](https://www.originprotocol.com/discord). + diff --git a/th/governance/governance.md b/th/governance/governance.md new file mode 100644 index 000000000..eea11a787 --- /dev/null +++ b/th/governance/governance.md @@ -0,0 +1,26 @@ +# Principles + +**Progressive Decentralization** + +OUSD is designed to be a decentralized protocol governed by many stakeholders all over the world. We believe that the minters and holders of OUSD should collectively determine important protocol decisions as soon as possible. + +That being said, in the very early days, it is imperative that the core engineering team can act quickly and decisively to build the foundational parts of the protocol. + +Decentralization will progress across four phases rapidly over the next few months. It is our intent to relinquish control and governance to the community as soon as possible. + +![](../.gitbook/assets/ousd_docs_graphics_2%20%283%29.png) + +**Timelock** + +Prior to full decentralized governance, we will implement a [timelock](../smart-contracts/api/timelock-1.md) in front of all admin function calls, giving OUSD users time \(48 hours\) to withdraw their funds if they have objections to our proposed upgrades. This timelock will be added shortly after launch. + +**New and Existing Stakeholders** + +OUSD is a new project founded by Origin Protocol [team](www.originprotocol.com/team) and will be supported by the existing Origin community as well as many new stakeholders that choose to mint, hold, use, and provide liquidity for OUSD. + +In addition, we also want to ensure high participation from our existing Origin Token \(OGN\) holders, community of close to 500,000 members, and buyers/sellers on the Platform. Existing OGN holders will be able to stake their OGN to participate in governance and earn incentives for driving value to OUSD. More details will be provided in the near future. + +The strong connection between OUSD and the rest of the Origin commerce platform will fuel growth in both initiatives. + + + diff --git a/th/governance/ogn-staking.md b/th/governance/ogn-staking.md new file mode 100644 index 000000000..e7a3e0bc2 --- /dev/null +++ b/th/governance/ogn-staking.md @@ -0,0 +1,18 @@ +# OGN Staking + +Origin Token (OGN) is intended as the governance token for OUSD and OGN will play an increasingly important role as the Origin Platform becomes more decentralized. Today, users can stake their OGN tokens to earn additional OGN after a chosen staking period has elapsed. + +{% hint style="info" %} +Visit the [OUSD DApp](https://www.ousd.com/stake) in a web3-enabled browser to stake your OGN. +{% endhint %} + +The initial staking program offers three staking periods and respective yields: + +* 30-day staking period: Earn 7.5% annualized interest +* 90-day staking period: Earn 12.5% annualized interest +* 365-day staking period: Earn 25% annualized interest + +Staked tokens will be locked for the duration of the staking period. After each staking period ends, you will be able to claim both your initial OGN (principal) and yield. + +OGN is currently trading on top exchanges like [Coinbase](https://www.coinbase.com/price/origin-token), [Binance](https://www.binance.com/en/register?ref=NPPYAEAE), [Huobi](https://www.huobi.com/en-us/exchange/ogn_usdt/), [Upbit](https://upbit.com/exchange?code=CRIX.UPBIT.BTC-OGN), [Bittrex Global](https://global.bittrex.com/Market/Index?MarketName=BTC-OGN), and [dozens more](https://coinmarketcap.com/currencies/origin-protocol/markets/). Visit the Origin website to [learn more about OGN](https://www.originprotocol.com/ogn-token) or check out the [OGN Dashboard](https://www.originprotocol.com/dashboard) to track important token metrics. + diff --git a/th/governance/phases.md b/th/governance/phases.md new file mode 100644 index 000000000..4b45be826 --- /dev/null +++ b/th/governance/phases.md @@ -0,0 +1,6 @@ +# Phases + +Progressive decentralization will follow four phases as outlined below. + +![](../.gitbook/assets/ousd_docs_graphics_2%20%282%29.png) + diff --git a/th/governance/principles.md b/th/governance/principles.md new file mode 100644 index 000000000..b809ce66f --- /dev/null +++ b/th/governance/principles.md @@ -0,0 +1,30 @@ +# Principles + +**Governance Portal** + +OGN holders are encouraged to participate in creating and voting on proposals that impact the protocol in the [OGN governance portal](https://vote.originprotocol.com). Anyone with at least 1,000 OGN in their wallet or staked in our OGN Staking contract can create a new proposal using Snapshot. All OGN holders are able to vote for proposals. Our desire is for our community to have a strong impact on the direction of Origin’s products, open-source codebase, and to have a voice in key business decisions and the overall direction of the project. + +OGN holders can also [delegate votes](vote-delegation.md) to another account. + +**Progressive Decentralization** + +OUSD is designed to be a decentralized protocol governed by many stakeholders all over the world. We believe that the holders of OUSD should collectively determine important protocol decisions as soon as possible. + +That being said, in the very early days, it is imperative that the core engineering team can act quickly and decisively to build the foundational parts of the protocol. + +Decentralization will progress across four phases rapidly over the next few months. It is our intent to relinquish control and governance to the community as soon as possible. + +![](../.gitbook/assets/ousd\_docs\_graphics\_2 (2).png) + +**Timelock** + +Prior to full decentralized governance, we will implement a [timelock](../smart-contracts/api/timelock.md) in front of all admin function calls, giving OUSD users time to withdraw their funds if they have objections to our proposed upgrades. + +**New and Existing Stakeholders** + +OUSD is a new project founded by Origin Protocol [team](https://www.originprotocol.com/team) and will be supported by the existing Origin community as well as many new stakeholders that choose to mint, hold, use, and provide liquidity for OUSD. + +In addition, we also want to ensure high participation from our existing Origin Token (OGN) holders and the millions of people in our community. Existing OGN holders are able to [stake their OGN](ogn-staking.md) to participate in governance and earn incentives for driving value to OUSD. + +The strong connection between OUSD and the rest of the Origin commerce platform will fuel growth in both initiatives. + diff --git a/th/governance/vote-delegation.md b/th/governance/vote-delegation.md new file mode 100644 index 000000000..9a8149d2f --- /dev/null +++ b/th/governance/vote-delegation.md @@ -0,0 +1,18 @@ +# Vote Delegation + +OGN holders can forward their voting power on the [Governance Portal](https://vote.originprotocol.com/#/) to another Ethereum address. Choosing this option does not strip the delegator of their voting power. The delegatee receives the extra voting power only on proposals the delegator has not voted on. + +This is convenient when users want someone they trust or even one of Origin's team members to make governance decisions regarding Origin's ecosystem. It is also useful when users have OGN stored more safely in a hardware wallet and don’t want to go through the hassle of connecting it to the computer. A more accessible Ethereum wallet e.g. Metamask can be used to vote by having voting power delegated to it from the hardware wallet.\ + + +**How to Delegate** + +* Go to: [https://snapshot.org/#/delegate](https://snapshot.org/#/delegate). +* Type in the address or ENS name you want to delegate to. +* There is an option to limit the delegation power to only Origin’s products by selecting _Limit delegation to a specific space_ and typing in “origingov.eth”. +* Click confirm to save your delegation.\ + + +![](../.gitbook/assets/Screenshot 2022-03-20 at 10.47.43.png) + +After completing these steps, the OGN voting power is successfully delegated to the address specified. diff --git a/th/guides/incentivized-harvesting-guide.md b/th/guides/incentivized-harvesting-guide.md new file mode 100644 index 000000000..a24597e9c --- /dev/null +++ b/th/guides/incentivized-harvesting-guide.md @@ -0,0 +1,46 @@ +# Incentivized Harvesting Guide + +The OUSD Harvester contract collects reward tokens earned by the OUSD strategies, sells them, and sends them on to increase protocol yield. **Anyone can call the harvest and earn 1% of the resulting USDT** for doing so. This creates a self-incentivizing system that operates at a known cost to the protocol. + +### When to call + +You'll want to call this contract when it is profitable to do so. You gain the 1% harvest USDT given by the contract, and spend the gas cost to send the transaction. + +The simplest way to calculate both of these is to simulate the transaction. You can then look at the resulting transfers to know the income received, and you can look at the gas amount used, the current gas prices, and the current cost of ETH, to find out the cost. + +Alternatively you can precompute the gas used for a given strategy's harvest, look up the pending reward tokens using various online services, then do your calculations without using the blockchain. + +The amount of rewards increases at a fairly steady, predictable rate. The primary variation is in gas prices, which will make a much bigger minute to minute difference on when you should call this. + +When calculating profitability, remember to account for the cost to swap back to ETH from USDT. + +### How to call + +When you call the harvest, **you will want to use some form of MEV protection**. Otherwise bots will see that your transaction is profitable, and execute it ahead of you, leaving you no gain and only gas fees. + +To harvest, you call `harvester.harvestAndSwap(strategyAddress, rewardTo)`. + +The harvester address and strategyAddresses can be found in the strategy tab of the [contract registry](../smart-contracts/registry.md). The `rewardTo` address is the account that will receive the USDT funds as a reward for calling the function - use your own address for it. + +Below is the harvestAndSwap ABI: + +``` +[{ + "inputs": [ + { + "internalType": "address", + "name": "_strategyAddr", + "type": "address" + }, + { + "internalType": "address", + "name": "_rewardTo", + "type": "address" + } + ], + "name": "harvestAndSwap", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" +}] +``` diff --git a/th/guides/integration-guide-for-exchanges.md b/th/guides/integration-guide-for-exchanges.md new file mode 100644 index 000000000..cda6f2cd1 --- /dev/null +++ b/th/guides/integration-guide-for-exchanges.md @@ -0,0 +1,34 @@ +# Integration Guide For Exchanges + +Centralized exchanges will play an important role in helping us reach our goal of making OUSD ubiquitous. We are happy to help any exchange that wants to make OUSD available to its users. We believe OUSD will make a great addition to any exchange that wants to offer both a superior stablecoin and a new high-yield opportunity for their users. + +These docs are a great starting point for understanding how OUSD works. Here are some important questions for exchanges that wish to integrate OUSD to consider: + +**Do you want to participate in the yield that is generated?** + +We're assuming the answer will be yes and we highly encourage this as well! However, there may be some instances where you would prefer to move fast and list OUSD without participating in the [rebasing nature of OUSD](../core-concepts/elastic-supply/rebasing-and-smart-contracts.md) since it's the fastest and simplest integration. For exchanges that want to list OUSD, but are strapped for engineering resources, you may want to launch the non-rebasing version first while your engineers make whatever changes are necessary. To make OUSD non-rebasing you can call `rebaseOptOut()` from each EOA wallet that holds OUSD, or do nothing if you are storing OUSD on smart contracts. Non-rebasing OUSD behaves just like any other ERC-20 token. + +**Are you storing customer balances on smart contracts (ie. multi-sigs) or EOA wallets?** + +Any smart contract that is holding OUSD needs to manually opt-in to receive the yield by calling `rebaseOptIn()`. This is due to the [elastic supply](../core-concepts/elastic-supply/) and the [rebasing nature of OUSD](../core-concepts/elastic-supply/rebasing-and-smart-contracts.md). Many exchanges sweep customer funds into a multi-sig wallet for cold storage. If you do this, you'll want to make sure that you opt-in to rebasing so that you are always earning. + +**Are you caching user balances?** + +OUSD dynamically updates the value returned by the `balanceOf()` function on our ERC20 contract. Users' balances will update at unpredictable times as new yield is generated by the protocol. As long as you aren't caching this value, users will always see the correct amount of OUSD that they are holding. + +It's important to note that while OUSD is a rebasing token, user balances will only rebase in a positive direction (your balance will never go down). This makes things a lot simpler than integrating with other rebasing coins like AMPL or other algo-stables. + +**Are you comingling user funds?** + +If you are comingling funds, you'll want to be sure that each user gets their pro-rata amount of the yield that is generated by the protocol. Probably the easiest way to do this is to track each user's balance as a percentage of a pool instead of as a fixed amount. + +**Are you planning to provide liquidity?** + +The Origin team is often willing to provide a market maker and initial liquidity for exchanges that wish to integrate OUSD. There are also 9 figures worth of liquidity available on decentralized exchanges like [Curve](https://curve.fi/factory/9). + +If you are interested in using OUSD to power your own staking or earning program, you will probably want to be able to access OUSD on demand. OUSD can always be minted or redeemed using the [Origin Dollar DApp](https://www.ousd.com), or directly from the OUSD [smart contracts](../smart-contracts/registry.md). If you are planning on providing liquidity yourself, you should be aware that the exact amount of OUSD you will receive in exchange for your USDT, USDC, or DAI depends on the current exchange rates as determined by the [oracles.](../core-concepts/price-oracles.md) If you are planning on redeeming OUSD for the underlying stablecoins, you should know there is a 0.25% exit fee and OUSD will return a basket of stable coins in proportion to the backing stablecoins in the pool. We encourage exchanges to leverage existing pools of liquidity to avoid those fees. If possible, mints or redeems should be done in large batches for maximum efficiency. + +#### Do you have other questions? + +The best way to get help from both our engineering and business teams is usually on [Discord](https://www.originprotocol.com/discord). + diff --git a/th/how-it-works.md b/th/how-it-works.md new file mode 100644 index 000000000..061ececf6 --- /dev/null +++ b/th/how-it-works.md @@ -0,0 +1,39 @@ +# How It Works + +#### 100% Backed and Stable + +Origin Dollar (OUSD) is an ERC-20 compliant token for the Ethereum network. + +OUSD is a stable currency that is backed 1:1 by other stablecoins like USDT, USDC and DAI. As a result, 1 OUSD should always be very close to 1 USD in value. + +{% hint style="success" %} +1 OUSD = 1 USD +{% endhint %} + +#### Buying OUSD + +Users can convert their existing stablecoins (currently USDT, USDC, and DAI) to OUSD at the official [Origin Dollar DApp](https://www.ousd.com). Received OUSD begins accruing compounding yield immediately. + +The Origin DApp will intelligently route user's transactions to give them the best available price while taking slippage and gas costs into consideration. This means that the DApp will sometimes encourage users to buy OUSD that is already in circulation versus minting fresh OUSD from the vault. The OUSD DApp will choose from multiple sources of liquidity and will suggest the option that gives the user the best possible rate. + +**Selling OUSD** + +Users can convert their OUSD back into other stablecoins at any time using the [Origin Dollar DApp](https://www.ousd.com). The Origin DApp will intelligently route user's transactions to give them the best available price while taking slippage, gas costs, and the vault's exit fee into consideration. This means that the DApp will often help users sell their OUSD on AMM's instead of redeeming OUSD with the vault and incurring the protocol's exit fee. + +A 0.25% exit fee is charged upon redemption with the vault. This fee is distributed as additional yield to the remaining participants in the vault (ie. other OUSD holders). The fee serves as a security feature to make it difficult for attackers to take advantage of lagging oracles, preventing them from siphoning stablecoins from the vault in the event of mispriced underlying assets. The fee exists to incentivize long-term holders over short-term speculators. + +Upon redemption, the vault will determine which stablecoin(s) to return to the user. In the current implementation, the vault will return coins in the same ratio as the current holdings. This lack of user optionality also protects the vault as a whole in the event that any of the supported stablecoins loses its peg to the dollar. + +{% hint style="warning" %} +Redemptions on the OUSD vault incur a **0.25% exit fee** and the user doesn't get to pick which stablecoins they receive. Users can often avoid this fee by selling to an AMM instead. +{% endhint %} + +#### A**utomated Yield Farming** + +OUSD generates yields by deploying the underlying stablecoins that were deposited to the OUSD smart contract to other DeFi protocols such as Compound, Aave, and Curve. There may be new diversified strategies added to the vault in the future. Collected interest, trading fees, and rewards tokens are pooled and converted to stablecoins to produce OUSD-denominated yields. Over time, the protocol will move assets in and out of different liquidity pools in order to provide the best yield to the holders of OUSD. + +#### **Elastic Supply** + +The generated returns are passed on to the holders of OUSD via constant rebasing of the money supply. OUSD constantly adjusts the money supply in response to the yield the protocol has generated. This allows the price of OUSD to stay pegged at $1 while the balances in token holders' wallets adjust in real-time to reflect yields that have been earned by the protocol. + +The end result is a stablecoin that is easy to spend, earns outsized yields automatically, and is more desirable to hold than existing stablecoins. diff --git a/th/security-and-risks/asset-risk.md b/th/security-and-risks/asset-risk.md new file mode 100644 index 000000000..92140f5ed --- /dev/null +++ b/th/security-and-risks/asset-risk.md @@ -0,0 +1,33 @@ +# Bug Bounties + +**Bug Bounties** + +Bug bounties are granted at the full discretion of Origin Protocol. The rewards range in size from **$100** for minor issues to **$250,000** for major vulnerabilities. Currently, the bounty program only applies to OUSD and not other products from Origin. + +{% hint style="warning" %} +In order to be eligible for a bug bounty, you must follow the rules of Responsible Disclosure outlined below. +{% endhint %} + +**Responsible Disclosure** + +Security is our top priority and we've taken every effort to make sure our code is secure and works as intended. However, it's completely possible that vulnerabilities both large and small may have gone undetected. + +In case you discover a vulnerability, we would like to know about it immediately so we can take steps to address it as quickly as possible. + +If you discover a vulnerability, please do the following: + +* Report your findings to [security@originprotocol.com](mailto:security@originprotcol.com) or contact [Josh Fraser on Keybase](https://keybase.io/joshfraser) +* Do not take advantage of the vulnerability or problem you have discovered +* Do not reveal the problem to others until it has been resolved +* Do not use attacks on physical security, social engineering, distributed denial of service, spam or applications of third parties +* Do provide sufficient information to reproduce the problem, so we will be able to resolve it as quickly as possible. Complex vulnerabilities may require further explanation so we might ask you for additional information. + +In return, we promise: + +* We will respond to your report within 3 business days with our evaluation of the report and an expected resolution date +* If you have followed the instructions above, we will not take any legal action against you in regard to the report +* We will handle your report with strict confidentiality, and not pass on your personal details to third parties without your permission +* If you so wish we will keep you informed of the progress towards resolving the problem +* In the public information concerning the problem reported, we will give your name as the discoverer of the problem \(unless you desire otherwise\) +* As a token of our gratitude for your assistance, we offer a reward for every report of a security problem that was not yet known to us. The amount of the reward will be determined based on the severity of the leak, the quality of the report, and any additional assistance you provide. + diff --git a/th/security-and-risks/audits.md b/th/security-and-risks/audits.md new file mode 100644 index 000000000..8d5402c70 --- /dev/null +++ b/th/security-and-risks/audits.md @@ -0,0 +1,40 @@ +# Audits + +**The OUSD Vault, ERC-20, and Overall System** + +OUSD has been audited by multiple, well-respected security firms. We have worked with [OpenZeppelin](https://openzeppelin.com), [Trail of Bits](https://www.trailofbits.com), [Solidified](https://solidified.io), and [Certora](https://www.certora.com) to audit all of the code that powers Origin Dollar. Their findings are available below: + +* [Trail of Bits, OUSD Audit, December 2020](https://github.com/OriginProtocol/security/blob/master/audits/Trail%20of%20Bits%20-%20Origin%20Dollar%20-%20Dec%202020.pdf) +* [Solidified, OUSD Audit, December 2020](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20Origin%20Dollar%20-%20Dec%202020.pdf) +* [Solidified, OGN Staking Audit, December 2020](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20OGN%20Staking%20-%20Dec%202020.pdf) +* [Certora, OUSD Formal Verification Audit, January 2021](https://www.certora.com/pubs/OriginFeb2021.pdf) +* [OpenZeppelin, OUSD Audit, August 2021](https://github.com/OriginProtocol/security/blob/master/audits/OpenZeppelin%20-%20Origin%20Dollar%20-%20October%202021.pdf) +* [Solidified, wOUSD, ERC721a, Governance, Harvester & Dripper Audit, May 2022](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20OGV%2C%20wOUSD%2C%20and%20ERC721a%20-%20May%202022.pdf) + +Both our initial and future governance tokens have been audited as well: + +* [Trail of Bits, OGN Audit, November 2018](https://github.com/OriginProtocol/security/blob/master/audits/Trail%20of%20Bits%20-%20Origin%20Marketplace%20and%20OGN%20Token%20-%20Nov%202018.pdf) +* [Solidified, OGV Audit, May 2022](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20OGV%2C%20wOUSD%2C%20and%20ERC721a%20-%20May%202022.pdf) + +In addition, the underlying strategies and dependencies that OUSD utilizes have been thoroughly audited by various firms. + +{% hint style="info" %} +OUSD only integrates strategies that have been carefully audited and battle-tested with significant capital over an extended period of time. +{% endhint %} + +**Compound Strategy and Open Price Feed** + +Compound has been audited by [Trail of Bits](https://www.trailofbits.com) and [OpenZeppelin](https://openzeppelin.com) and formally verified by [Certora](https://www.certora.com). Visit the Compound website for their [full list of audits](https://compound.finance/docs/security#audits) including the original code for the modified [Timelock](../smart-contracts/api/timelock.md) that OUSD is using. + +**Aave Strategy** + +Aave has been audited by [Trail of Bits](https://www.trailofbits.com), [OpenZeppelin](https://openzeppelin.com), [ConsenSys Diligence](https://consensys.net/diligence/), [Certik](https://certik.io), [MixBytes](https://mixbytes.io), and [PeckShield](https://peckshield.com). They have also been formally verified by [Certora](https://www.certora.com). Visit the Aave website for [their full list of audits](https://docs.aave.com/developers/security-and-audits). + +**Curve Strategy** + +Curve has been audited by [Trail of Bits](https://www.trailofbits.com) and [Quantstamp](https://quantstamp.com). Visit the Curve website for [their full list of audits](https://www.curve.fi/audits). + +**Chainlink Oracles** + +Chainlink has been audited by [Quantstamp](https://github.com/smartcontractkit/chainlink/tree/bafa91c), [SigmaPrime](https://github.com/smartcontractkit/chainlink/tree/cee356), [Callisto](https://gist.github.com/yuriy77k/c3a70d212a7f9ecda715252e45073158), and [Nick Johnson](https://github.com/smartcontractkit/chainlink/tree/5327f9). + diff --git a/th/security-and-risks/bug-bounties.md b/th/security-and-risks/bug-bounties.md new file mode 100644 index 000000000..d6e21196f --- /dev/null +++ b/th/security-and-risks/bug-bounties.md @@ -0,0 +1,32 @@ +# Bug Bounties + +**Bug Bounties** + +Bug bounties are granted at the full discretion of Origin Protocol. The rewards range in size from **$100 OUSD** for minor issues to **$250,000 OUSD** for major vulnerabilities. Currently, the bounty program only applies to OUSD and not other products from Origin. + +{% hint style="warning" %} +In order to be eligible for a bug bounty, you must follow the rules of Responsible Disclosure outlined below. +{% endhint %} + +**Responsible Disclosure** + +Security is our top priority and we've taken every effort to make sure our code is secure and works as intended. However, it's completely possible that vulnerabilities both large and small may have gone undetected. + +In case you discover a vulnerability, we would like to know about it immediately so we can take steps to address it as quickly as possible. + +If you discover a vulnerability, please do the following: + +* Report your findings to [security@originprotocol.com](mailto:security@originprotocol.com) or contact [Josh Fraser on Keybase](https://keybase.io/joshfraser). Here is an example of a [well written disclosure](https://gist.github.com/DanielVF/66f459da88804d1fd917c47576c68523). +* Do not take advantage of the vulnerability or problem you have discovered +* Do not reveal the problem to others until it has been resolved +* Do not use attacks on physical security, social engineering, distributed denial of service, spam or applications of third parties +* Do provide sufficient information to reproduce the problem, so we will be able to resolve it as quickly as possible. Complex vulnerabilities may require further explanation so we might ask you for additional information. + +In return, we promise: + +* We will respond to your report within 3 business days with our evaluation of the report and an expected resolution date +* If you have followed the instructions above, we will not take any legal action against you in regard to the report +* We will handle your report with strict confidentiality, and not pass on your personal details to third parties without your permission +* If you so wish we will keep you informed of the progress towards resolving the problem +* In the public information concerning the problem reported, we will give your name as the discoverer of the problem (unless you desire otherwise) +* As a token of our gratitude for your assistance, we offer a reward for every report of a security problem that was not yet known to us. The amount of the reward will be determined based on the severity of the leak, the quality of the report, and any additional assistance you provide. diff --git a/th/security-and-risks/contributing.md b/th/security-and-risks/contributing.md new file mode 100644 index 000000000..6937c347d --- /dev/null +++ b/th/security-and-risks/contributing.md @@ -0,0 +1,95 @@ +# Contributing + +**100% Open-source** + +OUSD is an entirely open-source project and we welcome contributions of all sorts. There are many ways to help, from reporting issues, contributing code, and helping us improve our community. + +We work in public and our company Discord is open to all. If you have questions or need help getting started, our Discord OUSD channels are the best place to get assistance from our team and community. + +**Developer Analytics** + +Our internal developer dashboard is available at [analytics.ousd.com](https://analytics.ousd.com). The dashboard shows the current circulating supply, the assets under management in the vault, and the current allocations between each of the stablecoins and strategies. + +#### Development Process + +Our branching strategy is similar to [GitFlow](http://nvie.com/posts/a-successful-git-branching-model/), but we do all of our development in the `master` branch and have a `stable` branch for code that has been released. + +Your development flow should look like: + +1. Find an interesting issue and communicate! Please let the `#engineering` [Discord](https://discord.gg/jyxpUSe) channel know what you want to work on. +2. Ping a [core team member](https://github.com/orgs/OriginProtocol/teams/core/members) member on Discord and ask to be added to our [contributors team](https://github.com/orgs/OriginProtocol/teams/contributors). Otherwise, you’ll need to fork the relevant repository and push feature branches to your own fork. +3. Add a comment to the issue or self-assign so we don’t have multiple contributors unintentionally working on the same task. +4. Start with the `master` branch and check out a new feature branch unless you’re contributing to an existing feature. +5. Follow the appropriate [coding style](https://docs.originprotocol.com/guides/getting_started/contributing.html#contributing-email-coding-style) and write some awesome code. +6. Pull the latest commits from `master` and confirm that your code works with any other work that has been merged since you started. +7. Push your branch to the upstream repository \(i.e. https://github.com/OriginProtocol/\[repo\]\) so that other contributors can easily work off of it if necessary. +8. Please request a review in the PR by clicking on the gear icon next to “Reviewers” in the right column. + +For critical smart contract code to be merged it must pass the following checklist: + +* Code reviewed by 2 reviewers +* Unit tests pass +* Slither tests pass with no warning +* Echidna tests pass + +The `master` branch is locked so that only members of the [core team](https://github.com/orgs/OriginProtocol/teams/core) are able to merge your pull requests. Pull requests that are peer-reviewed by other trusted contributors will be fast-tracked and merged faster! Check in the `#engineering` Discord channel for appropriate reviewers. + +#### Coding Style + +We use a variety of programming languages in our repositories. When contributing, please follow existing coding conventions and refer to the CONTRIBUTING.md file in the repository, if one exists. + +For JavaScript, we use [NPM’s style](https://docs.npmjs.com/misc/coding-style), which is automatically enforced via [prettier](https://prettier.io/). + +For Solidity, we use two-space indents. + +#### Protocol Design + +When considering protocol or implementation design proposals, we are looking for: + +* A description of the problem this design proposal solves +* Discussion of the trade-offs involved +* Review of other existing solutions +* Links to relevant literature \(RFCs, papers, etc\) +* Discussion of the proposed solution + +Please note that protocol design is hard and meticulous work. You may need to review existing literature and think through generalized use cases. + +#### Community Guidelines + +We want to keep the Origin community awesome, growing and collaborative. We need your help to keep it that way. To help with this we’ve come up with some general guidelines for the community as a whole: + +* Be nice: Be courteous, respectful and polite to fellow community members: no regional, racial, gender, or other abuse will be tolerated. We like nice people way better than mean ones! +* Encourage diversity and participation: Make everyone in our community feel welcome, regardless of their background and the extent of their contributions, and do everything possible to encourage participation in our community. +* Keep it legal: Basically, don’t get anybody in trouble. Share only content that you own, do not share private or sensitive information, and don’t break laws. +* Stay on topic: Make sure that you are posting to the correct channel and avoid off-topic discussions. Remember when you update an issue or respond to an email you are potentially sending to a large number of people. Please consider this before you update. Also remember that nobody likes spam. + +#### Reporting Issues + +If you find bugs, mistakes or inconsistencies in Origin’s code or documents, please let us know by filing a GitHub issue. No issue is too small. Help us fix our tpyos! + +#### Security Issues + +OUSD is still in early development, which means there may be problems with the protocol or in our implementations. We take security vulnerabilities very seriously. If you discover a security issue, please bring it to our attention right away! + +If you find a security vulnerability please send your report privately to [security@originprotocol.com](mailto:security@originprotocol.com) or send an encrypted message to [@joshfraser on Keybase](https://keybase.io/joshfraser). Please DO NOT file a public issue. Be sure to review our guidelines for responsible disclosure and eligibility for bug bounties. + +{% page-ref page="bug-bounties.md" %} + +#### **Community Improvement** + +Origin is just as much about community as it is about our technology. + +We need constant help in improving our documentation, building new tools to interface with our platform, spreading the word to new users, helping new users getting setup and much more. + +Please get in touch if you would like to help out. Our `general` channel on [Discord](https://www.originprotocol.com/discord) is a great place to share ideas and volunteer to help. + +#### Full-Time Positions + +Origin occasionally hires developers for part-time or full-time positions. + +We have a strong preference for hiring people who have already started contributing to the project. If you want a full time position on our team, your best shot is to engage with our team and start contributing code. It is very unlikely that we would offer you a full-time position on our engineering team unless you’ve had at least a few pull requests merged. + +If you are interested, check out [the Origin Protocol job listings](https://angel.co/originprotocol/jobs). If you’d like to help in other ways, please propose your ideas in [our Discord channel](https://www.originprotocol.com/discord). + + + diff --git a/th/security-and-risks/insurance.md b/th/security-and-risks/insurance.md new file mode 100644 index 000000000..f805d14f1 --- /dev/null +++ b/th/security-and-risks/insurance.md @@ -0,0 +1,15 @@ +# Insurance + +OUSD holders can buy smart contract insurance to cover any losses that might result from any bugs or vulnerabilities in the OUSD contracts, including economic exploits (such as flash loans attacks). In addition, anyone who wants to make a financial bet on the security of our contracts can earn a yield by providing coverage. + +DeFi coverage for OUSD is currently available via[ Nexus Mutual](https://nexusmutual.io) and [InsurAce Protocol](https://www.insurace.io). These partnerships allow for more effective risk management by OUSD holders while creating new opportunities for coverage providers to profit. + +Read our [announcement post](https://medium.com/originprotocol/origin-partners-with-nexus-mutual-to-offer-defi-insurance-for-origin-dollar-ousd-6eb3432ee042) to learn how to [buy coverage](https://app.nexusmutual.io/cover/buy/get-quote?address=0xE75D77B1865Ae93c7eaa3040B038D7aA7BC02F70), [provide coverage](https://app.nexusmutual.io/staking), or [participate in shield mining campaigns](https://app.nexusmutual.io/rewards) with Nexus Mutual. You can learn more about InsurAce and how to buy coverage on their [user guide](https://docs.insurace.io/landing-page/documentation-1/user-guide) or [documentation](https://docs.insurace.io/landing-page/). + +**Nexus Mutual Coverage** + +Read our[ announcement post](https://medium.com/originprotocol/origin-partners-with-nexus-mutual-to-offer-defi-insurance-for-origin-dollar-ousd-6eb3432ee042) to learn how to[ buy coverage](https://app.nexusmutual.io/cover/buy/get-quote?address=0x0000000000000000000000000000000000000016),[ provide coverage](https://app.nexusmutual.io/staking), and[ participate in shield mining campaigns](https://app.nexusmutual.io/rewards) with Nexus Mutual. + +**InsurAce Protocol Coverage** + +Read InsurAce Protocol’s [User Guide](https://docs.insurace.io/landing-page/documentation-1/user-guide) to learn how to [buy coverage](https://docs.insurace.io/landing-page/documentation-1/user-guide/dashboard) and participate in [underwriting mining](https://docs.insurace.io/landing-page/documentation-1/user-guide/how-to-stake) for OUSD. diff --git a/th/security-and-risks/risks.md b/th/security-and-risks/risks.md new file mode 100644 index 000000000..64dc13dc0 --- /dev/null +++ b/th/security-and-risks/risks.md @@ -0,0 +1,44 @@ +# Risks + +{% hint style="danger" %} +Use at your own risk. Do not deploy more capital than you are willing to lose. +{% endhint %} + +As with any yield-generating DeFi product, there are associated risks with holding OUSD that are important to understand. These risks can be broadly classified into 3 categories: + +* OUSD smart contract risk +* Underlying third-party platform risk +* Underlying stablecoin risk + +**OUSD smart contract risk** + +Our smart contracts have been [audited](audits.md) by multiple, well-respected security firms. However, it is important to note that even with formal audits, it is still possible for there to be logic errors that could lead to the loss of funds for OUSD holders. The contracts involve complex math and logic. While we have taken every precaution to ensure the safety and security of our smart contracts, users are reminded to use at their own risk. Origin Protocol will not be held responsible for any loss of funds, regardless of who is at fault. + +**Third-party platform risk** + +OUSD is built on top of other DeFi platforms like Aave, Compound, and Curve that add additional smart contract risk. We are choosing to work with platforms that have literally billions of dollars of assets under management and have made a reasonable efforts to ensure the security of their protocols. However, there are no guarantees that the underlying third-party platforms will continue to work as intended, and any failure in an underlying strategy would potentially lead to a loss of funds for OUSD holders. + +**Stablecoin risks** + +It is important to understand that OUSD is only as strong as the stablecoins that are backing it. Any loss of value to an underlying stablecoin asset will cause a similar loss to the value of OUSD. While OUSD is designed to maintain a 1:1 relationship between supply and number of backing stablecoins, it does not guarantee which stablecoins will make up that backing nor the value of those coins. + +It is important to note that each of the supported stablecoins introduces non-trivial counter-party risk. Tether, in particular, has had well-documented banking troubles and regulatory challenges. In addition, both USDT and USDC have backdoors that grant their issuers the power to freeze money in their holder's wallets. While DAI does not have any direct backdoors, its assets can also be negatively impacted since USDC and USDT are accepted as collateral for minting DAI. + +**Risk mitigation** + +While it's impossible to guarantee our contracts are 100% safe, we have taken every step possible to mitigate the chance of losing funds: + +We regularly have our work [audited ](audits.md)by the top auditors in the industry. + +[DeFi insurance](insurance.md) is availble to offer smart contract coverage as an optional add-on service for OUSD holders. + +We have retained [Certora](https://www.certora.com) to formally verify the various security properties of our contracts. They helped us establish automated verifications that will run anytime we update our contract code. We have automated checking for common errors with [Slither](https://github.com/crytic/slither) and [Echidna](https://github.com/crytic/echidna) tests. Together, these alert our team to common security issues in addition to our own test suite. + +Code reviews involving our smart contracts are incredibly rigorous. We require at least two engineers to review each change with a detailed checklist and we prioritize security reviews over new feature development. + +Finally, we have formalized an engineering [rotation](https://github.com/OriginProtocol/security/blob/master/incidents/ROTATION.md) for reviewing [attacks on other projects](https://github.com/OriginProtocol/security/tree/master/incidents) as well as ensuring we deep dive into each of these reviews, including reviewing the affected contracts' source code ourselves. We've observed that attackers often exploit the same fundamental vulnerability on multiple different projects. By reviewing other project's vulnerabilities, we force ourselves to stay up to date on the latest security threats in our industry and are constantly learning from their mistakes. + +**Actions speak louder than words** + +You should also know that many members of the Origin team, including both founders, are holding a significant portion of their personal wealth in OUSD. Origin Protocol's corporate treasury is also holding millions of dollars in OUSD. We have skin in the game and are willing to put our own money at risk with the code we have written. + diff --git a/th/security-and-risks/untitled.md b/th/security-and-risks/untitled.md new file mode 100644 index 000000000..21b692090 --- /dev/null +++ b/th/security-and-risks/untitled.md @@ -0,0 +1,20 @@ +# Audits + +{% hint style="danger" %} +The OUSD smart contracts have not yet been audited. We strongly recommend reviewing our smart contracts before depositing significant amounts of capital. +{% endhint %} + +**OUSD** + +Audits have already been scheduled with the respected security firm, [Trail of Bits](https://www.trailofbits.com/), for early October 2020. Their audit results will be publicly released as soon as they are available. + +**Supported Strategies** + +Multiple audits for Compound have already been completed and are available on their website. This includes the original code for the modified [Timelock](../smart-contracts/api/timelock-1.md) that OUSD is using. + +{% page-ref page="untitled.md" %} + + + + + diff --git a/th/smart-contracts/api/README.md b/th/smart-contracts/api/README.md new file mode 100644 index 000000000..ff400f20f --- /dev/null +++ b/th/smart-contracts/api/README.md @@ -0,0 +1,9 @@ +# API + +Documentation of contracts API used by the protocol: + +* [Vault](vault.md) +* [ERC-20](erc-20-1.md) +* [Timelock](timelock.md) +* [Stategies](strategies.md) + diff --git a/th/smart-contracts/api/erc-20-1.md b/th/smart-contracts/api/erc-20-1.md new file mode 100644 index 000000000..164343cc0 --- /dev/null +++ b/th/smart-contracts/api/erc-20-1.md @@ -0,0 +1,16 @@ +# ERC-20 + +{% hint style="success" %} +The main ERC20 address for Origin Dollar (OUSD) is: \ **0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +OUSD is an ERC-20 compliant token with one novel property (elastic supply) that is important to understand. + +{% hint style="warning" %} +Wallets and exchanges that wish to integrate OUSD should not cache token balances for OUSD as this value will change frequently as yield is accrued to token holders. +{% endhint %} + +The biggest difference separating OUSD from your average ERC-20 token is the way OUSD's`balanceOf()` function will return a variable amount based on the total value of the vault multiplied by the holder's stake in the vault. This difference is vital to understand, particularly for wallets and exchanges that wish to integrate the OUSD token. This value should be fetched in real-time instead of being cached since OUSD rebases frequently. + + + diff --git a/th/smart-contracts/api/oracle.md b/th/smart-contracts/api/oracle.md new file mode 100644 index 000000000..362749de7 --- /dev/null +++ b/th/smart-contracts/api/oracle.md @@ -0,0 +1,7 @@ +# Oracles + +{% hint style="info" %} +Documentation coming soon. +{% endhint %} + +OUSD uses Chainlink [oracles](../../core-concepts/price-oracles.md) to secure the protocol from pricing attacks. You can [read more about our decision to work with Chainlink](https://blog.originprotocol.com/how-origin-uses-chainlink-oracles-to-secure-ousd-bff5601e840e) on the Origin blog. diff --git a/th/smart-contracts/api/ousd.md b/th/smart-contracts/api/ousd.md new file mode 100644 index 000000000..8d6981144 --- /dev/null +++ b/th/smart-contracts/api/ousd.md @@ -0,0 +1,8 @@ +# OUSD + +{% hint style="info" %} +Documentation coming soon. +{% endhint %} + + + diff --git a/th/smart-contracts/api/strategies.md b/th/smart-contracts/api/strategies.md new file mode 100644 index 000000000..a275b76e6 --- /dev/null +++ b/th/smart-contracts/api/strategies.md @@ -0,0 +1,14 @@ +# Strategies + +{% hint style="info" %} +Documentation coming soon. +{% endhint %} + +New strategies can be added or removed at any time to respond to new market realities and diversify risk. + +Once we migrate to decentralized governance, it is our intent for the community to propose new strategies and to vote on the appropriate weight for each strategy in the pool. We anticipate that most OUSD holders will value having some exposure to higher yield opportunities while maintaining more conservative positions for a portion of the funds. + + + + + diff --git a/th/smart-contracts/api/timelock-1.md b/th/smart-contracts/api/timelock-1.md new file mode 100644 index 000000000..88954aca7 --- /dev/null +++ b/th/smart-contracts/api/timelock-1.md @@ -0,0 +1,22 @@ +# Timelock + +{% hint style="danger" %} +The timelock will be added soon after everything is verified as working. Until then, the contracts will be governed by Origin's 5 of 8 multi-sig. This allows for a faster response if any critical issues are discovered. +{% endhint %} + +The timelock contract enforces a 48 hour wait period before any changes to the OUSD contracts can be executed. The timelock can be called by our multi-sig and is the owner of our [ERC-20](../architecture.md), [Vault](vault.md), and [Strategies](strategies.md) contracts. Time-delaying admin actions gives users a chance to exit OUSD if its admins become malicious, are compromised, or make a change that the users do not like. + +{% hint style="info" %} +The timelock is a safety measure that gives OUSD holders 48 hours to withdraw their funds if they have objections to any proposed upgrades to the protocol. +{% endhint %} + +OUSD is using a slightly modified version of the [Compound Timelock](https://compound.finance/docs/governance) which has been [audited by OpenZeppelin](https://blog.openzeppelin.com/compound-finance-patch-audit/). The 3 notable differences are: + +1. OUSD will initially use a shorter wait period \(48 hours\) than Compound \(72 hours\) to allow for a faster response if any issues are discovered. +2. Once the 48 hours have passed, anyone is free to execute the call, not just the owner of the contract. +3. Deposits \(but not withdrawals or transfers\) can be immediately frozen without requiring the 48 waiting period. This is in case a major vulnerability is discovered. + + + + + diff --git a/th/smart-contracts/api/timelock.md b/th/smart-contracts/api/timelock.md new file mode 100644 index 000000000..2273ddad7 --- /dev/null +++ b/th/smart-contracts/api/timelock.md @@ -0,0 +1,15 @@ +# Timelock + +The timelock contract enforces a 48 hour wait period before any changes to the OUSD contracts can be executed. The timelock can be called by our multi-sig and is the owner of our [ERC-20](../architecture.md), [Vault](vault.md), and [Strategies](strategies.md) contracts. Time-delaying admin actions gives users a chance to exit OUSD if its admins become malicious, are compromised, or make a change that the users do not like. + +{% hint style="info" %} +The timelock is a safety measure that gives OUSD holders 48 hours to withdraw their funds if they have objections to any proposed upgrades to the protocol. +{% endhint %} + +OUSD is using a slightly modified version of the [Compound Timelock](https://compound.finance/docs/governance) which has been [audited by OpenZeppelin](https://blog.openzeppelin.com/compound-finance-patch-audit/). The two notable differences are: + +1. OUSD will initially use a shorter wait period (48 hours) than Compound (72 hours) to allow for a faster response if any issues are discovered. +2. Some actions, such as reallocating funds between existing strategies and freezing deposits can be called immediately by a multisig wallet without requiring the 48 waiting period. This is in case a major vulnerability is discovered. + + + diff --git a/th/smart-contracts/api/vault.md b/th/smart-contracts/api/vault.md new file mode 100644 index 000000000..13a7a8601 --- /dev/null +++ b/th/smart-contracts/api/vault.md @@ -0,0 +1,184 @@ +--- +description: >- + The vault is the main contract of the protocol. The vault is responsible for minting/redeeming OUSD tokens, rebalancing funds between the various supported strategies, and liquidating rewards tokens. +--- + +# Vault + +## Units + +All OUSD amounts passed or returned by the Vault methods use 18 decimal places. For example, 1 OUSD is expressed as 1000000000000000000. + +For other stable coins, the number of decimal places varies. DAI uses 18 decimal places while USDC and USDT use only 6. + +The protocol was updated in November are [currently underway](https://github.com/OriginProtocol/origin-dollar/issues/590) to increase the resolution of rebasing calculations from 18 decimals to 27 decimals. The OUSD token itself will still retain 18 decimals of precision and user balances should not change. + +## Methods‌ + +### mint() + +**`function mint(address _asset, uint256 _amount, uint256 _minimumOusdAmount)`**‌ + +Mints OUSD in exchange for a deposit of a certain `_amount` of stablecoin specified by the `_asset` parameter. The caller receives a certain amount of OUSD depending on the **exchange rate**. + +| Parameter Name | Type | Description | +| --------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | +| \_asset | address | Address of the [supported](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/core-concepts/supported-assets) stablecoin | +| \_amount | uint256 | Amount deposited, expressed in decimal units | +| \_minimumOusdAmount | uint256 | Minimum amount of OUSD the caller is willing to receive. The call to mint() reverts if the minimum is not met. | + +### mintMultiple() + +**`function mintMultiple(address[] _assets, uint256[] _amounts, uint256 _minimumOusdAmount)`**‌ + +Mints OUSD in exchange for a deposit of multiple stablecoins in a single call. Stablecoins are specified by the `_assets` array parameter and the amounts by the `_amounts` array parameter. The caller receives a certain amount of OUSD depending on the **exchange rate**. + +| Parameter Name | Type | Description | +| --------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| \_assets | address\[] | Addresses of the [supported](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/core-concepts/supported-assets) stablecoins | +| \_amounts | uint256\[] | Amounts deposited, expressed in decimal units | +| \_minimumOusdAmount | uint256 | Minimum amount of OUSD the caller is willing to receive. The call to mint() reverts if the minimum is not met. | + +{% hint style="warning" %} +On redemptions, it is the protocol and not the user that decides which stablecoin(s) are returned to the user. This decision of which coin(s) to return is based on the internal ratios of the assets that are being held in the vault.‌ +{% endhint %} + +### redeem() + +**`function redeem(uint256 _amount)`**‌ + +OUSD specified by the `_amount` parameter is redeemed in exchange for one or multiple supported stablecoins. Amount of stablecoins received depends on the **exchange rate**. + +| Parameter Name | Type | Description | +| -------------- | ------- | ----------------------------------------- | +| \_amount | uint256 | amount of OUSD expressed in decimal units | + +### redeemAll()‌ + +**`function redeemAll()`**‌ + +All OUSD in user's possession is redeemed in exchange for one or multiple supported stablecoins. Amount of stablecoins received depends on the **exchange rate**. + +### rebase() + +**`function rebase()`**‌ + +Updates the balances for all users based on the value of the assets currently stored in the vault. Returns total value of the underlying assets and strategies represented by `uint256` type.‌ + +### allocate() + +**`function allocate()`**‌ + +Moves the assets under management into their prescribed [Stategies](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/architecture/strategies) to maximize yield and diversify risk.‌ + +### totalValue() + +**`function totalValue()`**‌ + +Returns total value of underlying assets and strategies. + +| `return` name | Type | Description | +| ------------- | ------- | ------------------------------------------------ | +| value | uint256 | total value of underlying assets and strategies. | + +### checkBalance() + +**`function checkBalance(address _asset)`**‌ + +Returns the balance of an asset specified by the`_asset` parameter held in Vault and all strategies represented by `uint256` type. + +| Parameter Name | Type | Description | +| -------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | +| \_asset | address | Address of the [supported](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/core-concepts/supported-assets) stablecoin | + +### calculateRedeemOutputs() + +**`function calculateRedeemOutputs(uint256 _amount)`**‌ + +Calculate the mix of stablecoins that a `redeem` function would return when redeeming certain amount of OUSD specified by the `_amount` parameter. Returns an array of stablecoin values. + +To attribute the stablecoin values to the correct stablecoin currency this call should be used in conjunction with `getAllAssets` function that returns an array of stablecoin addresses. + +The index of an array that is returned by the `calculateRedeemOutputs` corresponds to the stablecoin address with the same index in an array returned by the `getAllAssets` function. + +| Parameter Name | Type | Description | +| -------------- | ------- | ----------------------------------------- | +| \_amount | uint256 | amount of OUSD expressed in decimal units | + +| `return` name | Type | Description | +| ------------- | ----------- | --------------------------------------------------------------------------- | +| outputs | uint256\[] | array of the amount of the stablecoin assets `redeem` function would return | + +### getAssetCount() + +**`function getAssetCount()`**‌ + +Return the number of supported stablecoin assets represented by `uint256` type.‌ + +### getAllAssets() + +**`function getAllAssets()`**‌ + +Return all assets addresses of supported stablecoin assets in order represented by `uint256` type.‌ + +### getStrategyCount()‌ + +**`function getStrategyCount()`**‌ + +Return the number of strategies active on the Vault represented by `uint256` type.‌ + +### getAPR() + +**`function getAPR()`**‌ + +Return the total annual percentage yield (APR) of the Vault and all Strategies represented by `uint256` type. Resulting number has 18 decimal places.‌ + +### isSupportedAsset() + +**`function isSupportedAsset(address _asset)`**‌ + +Return the boolean that is true if the asset specified by the `_asset` parameter is supported by the Vault. + +| Parameter Name | Type | Description | +| -------------- | ------- | ------------------------- | +| \_asset | address | Address of the stablecoin | + +### priceUSDMint() + +**`function priceUSDMint(string symbol)`**‌‌ + +Returns the exchange rate price of a stable coin specified by the `symbol` parameters used when minting OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Parameter Name | Type | Description | +| -------------- | ------ | ------------------------ | +| symbol | string | Symbol of the stablecoin | + +### priceUSDRedeem() + +**`function priceUSDRedeem(string symbol)`**‌‌ + +Returns the exchange rate price of a stable coin specified by the `symbol` parameters used when redeeming OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Parameter Name | Type | Description | +| -------------- | ------ | ------------------------ | +| symbol | string | Symbol of the stablecoin | + +### priceAssetUSDMint()‌ + +**`function priceAssetUSDMint(address _asset)`**‌‌ + +Returns the exchange rate price of a stable coin specified by the `_asset` parameters used when minting OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Parameter Name | Type | Description | +| -------------- | ------- | -------------------------- | +| \_asset | address | Address of the stablecoin‌ | + +### priceAssetUSDRedeem()‌ + +**`function priceAssetUSDRedeem(address _asset)`**‌‌‌ + +Returns the exchange rate price of a stable coin specified by the `_asset` parameters used when redeeming OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Parameter Name | Type | Description | +| -------------- | ------- | ------------------------- | +| \_asset | address | Address of the stablecoin | diff --git a/th/smart-contracts/architecture.md b/th/smart-contracts/architecture.md new file mode 100644 index 000000000..f53eacf24 --- /dev/null +++ b/th/smart-contracts/architecture.md @@ -0,0 +1,18 @@ +# Architecture + +![](../.gitbook/assets/ousd\_docs\_graphics\_3.png) + +OUSD is made up of a series of smart contracts. Each of these contracts is wrapped in a proxy contract that can be upgraded via the governance protocols. + +Internally, ownership in the vault is tracked using a credits system that represents the percent ownership of the vault for each holder. The [ERC-20](api/erc-20-1.md) contract handles the conversion to USD terms when viewing a balance or initiating a transfer between wallets. + +The [Vault](api/vault.md) is responsible for minting and burning OUSD. It also enforces the percentage of assets that are deployed to each of the supported [Strategies](../core-concepts/supported-strategies/). To optimize gas costs, the vault may maintain a buffer to allow most deposits and redemptions to occur without winding/unwinding assets from strategies. + +The Flipper is a smart contract for users to swap in and out of OUSD cheaply for any of DAI, USDC, or USDT at a fixed 1:1 rate. This contract is used as an alternative way to route user transactions originating from the web app. It's important to note that this contract may be empty on one side (e.g., contain 0 OUSD balance), and thus sometimes provides limited swap routes. While limited in functionality, Flipper uses around 45% less gas than Uniswap v3 due to its simplicity. + +The Harvester contract collects reward tokens earned by the strategies, sells them, and sends the resulting stablecoins to the Dripper to be released to the vault. Anyone can call the harvest and earn 1% of the resulting USDT for doing so. This creates a self-incentivizing system that operates at a known fixed cost. See our [incentivized-harvesting-guide.md](../guides/incentivized-harvesting-guide.md "mention") for details. + +The Dripper contract buffers aproximately one week of reward token sales proceeds and makes it avaiable at a smooth rate to the vault. This keeps OUSD yield from being extremely spiky when harvests come in. The rate is recalculated at least once per day and is the rate that it would take to distribute the current dripper holdings out over a one week period. + + + diff --git a/th/smart-contracts/erc-20.md b/th/smart-contracts/erc-20.md new file mode 100644 index 000000000..c3a21d407 --- /dev/null +++ b/th/smart-contracts/erc-20.md @@ -0,0 +1,12 @@ +# Architecture + +![](../.gitbook/assets/ousd_docs_graphics_3.png) + +OUSD is made up of a series of smart contracts. Each of these contracts is wrapped in a proxy contract that can be upgraded via the governance protocols. + +Internally, ownership in the pool is tracked using a credits system that represents the percent ownership of the pool for each holder. The [ERC-20](api/erc-20-1.md) contract handles the conversion to USD terms when viewing a balance or initiating a transfer between wallets. + +The [Vault](api/vault.md) is responsible for minting and burning OUSD. It also enforces the percentage of assets that are deployed to each of the supported [Strategies](../core-concepts/supported-strategies/). To optimize gas costs, the vault maintains a buffer to allow most deposits and redemptions to occur without winding/unwinding assets from strategies. + + + diff --git a/th/smart-contracts/registry.md b/th/smart-contracts/registry.md new file mode 100644 index 000000000..f2d45b7dd --- /dev/null +++ b/th/smart-contracts/registry.md @@ -0,0 +1,156 @@ +# Registry + +Here is the full registry of OUSD smart contracts that have been deployed to the Ethereum mainnet. + +{% hint style="success" %} +The main ERC20 address for Origin Dollar (OUSD) is: \ +**0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +{% tabs %} +{% tab title="Core" %} +Well-known addresses (proxy wrappers): + + + +| Contract | Address | ENS | +| -------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------- | +| OUSD | [0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86](https://etherscan.io/address/0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86) |

ousd.eth

origindollar.eth

| +| Vault | [0xE75D77B1865Ae93c7eaa3040B038D7aA7BC02F70](https://etherscan.io/address/0xe75d77b1865ae93c7eaa3040b038d7aa7bc02f70) | [originvault.eth](https://etherscan.io/address/originvault.eth) | + + + +Internal implementation contracts. The Vault is split into VaultAdmin and VaultCore to work around the maximum contract size limit on Ethereum: + + + +| Contract | Address | +| ---------- | --------------------------------------------------------------------------------------------------------------------- | +| OUSD | [0x33db8d52d65F75E4cdDA1b02463760c9561A2aa1](https://etherscan.io/address/0x33db8d52d65F75E4cdDA1b02463760c9561A2aa1) | +| VaultAdmin | [0x3EB68D8f4992A0e34aA58cc3dF86A40814078cF6](https://etherscan.io/address/0x3EB68D8f4992A0e34aA58cc3dF86A40814078cF6) | +| VaultCore | [0x226de75867B2f785BA19600e2a7e6eFccD57157B](https://etherscan.io/address/0x226de75867B2f785BA19600e2a7e6eFccD57157B) | +{% endtab %} + +{% tab title="Strategies" %} +Well-known addresses (proxy wrappers): + + + +| Strategy | Address | Auto-Allocation | +| -------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------- | +| Aave | [0x5e3646A1Db86993f73E6b74A57D8640B69F7e259](https://etherscan.io/address/0x5e3646A1Db86993f73E6b74A57D8640B69F7e259) | Manual allocation | +| Compound | [0x9c459eeb3FA179a40329b81C1635525e9A0Ef094](https://etherscan.io/address/0x9c459eeb3FA179a40329b81C1635525e9A0Ef094) | 100% of USDC, USDT and DAI | +| Convex | [0xEA2Ef2e2E5A749D4A66b41Db9aD85a38Aa264cb3](https://etherscan.io/address/0xEA2Ef2e2E5A749D4A66b41Db9aD85a38Aa264cb3#code) | Manual allocation | + + + +Internal implementation contracts: + + + +| Strategy | Address | +| -------- | -------------------------------------------------------------------------------------------------------------------------- | +| Aave | [0xA050eBE34Be464902F7E0F7F451f4B5253d57114](https://etherscan.io/address/0xA050eBE34Be464902F7E0F7F451f4B5253d57114) | +| Compound | [0x47f3eb71b5507df5ab6ac7f8660ef282ab0e560f](https://etherscan.io/address/0x47f3eb71b5507dF5Ab6aC7F8660Ef282Ab0E560f) | +| Convex | [0x08f3a0637851aA1B0E0750aA3d46E0E356f349aC](https://etherscan.io/address/0x08f3a0637851aa1b0e0750aa3d46e0e356f349ac#code) | + + + +Yield harvesting and collection: + + + +| | | +| --------- | -------------------------------------------------------------------------------------------------------------------------- | +| Contract | Address | +| Harvester | [0x21fb5812d70b3396880d30e90d9e5c1202266c89](https://etherscan.io/address/0x21fb5812d70b3396880d30e90d9e5c1202266c89#code) | +| Dripper | [0x80c898ae5e56f888365e235ceb8cea3eb726cb58](https://etherscan.io/address/0x80c898ae5e56f888365e235ceb8cea3eb726cb58#code) | +{% endtab %} + +{% tab title="Oracles" %} +The following Chainlink oracles are used to protect the vault in case a backing stablecoin loses value. They also offer slippage protection when harvesting rewards tokens or executing the OGN buyback. + + + +| Pair | Contract | +| ------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| [USDT/USD](https://data.chain.link/ethereum/mainnet/stablecoins/usdt-usd) | [0x3E7d1eAB13ad0104d2750B8863b489D65364e32D](https://etherscan.io/address/0x3E7d1eAB13ad0104d2750B8863b489D65364e32D) | +| [USDC/USD](https://data.chain.link/ethereum/mainnet/stablecoins/usdc-usd) | [0x8fFfFfd4AfB6115b954Bd326cbe7B4BA576818f6](https://etherscan.io/address/0x8fFfFfd4AfB6115b954Bd326cbe7B4BA576818f6) | +| [DAI/USD](https://data.chain.link/ethereum/mainnet/stablecoins/dai-usd) | [0xAed0c38402a5d19df6E4c03F4E2DceD6e29c1ee9](https://etherscan.io/address/0xAed0c38402a5d19df6E4c03F4E2DceD6e29c1ee9) | +| [COMP/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/comp-usd) | [0xdbd020caef83efd542f4de03e3cf0c28a4428bd5](https://etherscan.io/address/0xdbd020caef83efd542f4de03e3cf0c28a4428bd5) | +| [AAVE/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/aave-usd) | [0x547a514d5e3769680Ce22B2361c10Ea13619e8a9](https://etherscan.io/address/0x547a514d5e3769680Ce22B2361c10Ea13619e8a9) | +| [CRV/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/crv-usd) | [0xcd627aa160a6fa45eb793d19ef54f5062f20f33f](https://etherscan.io/address/0xcd627aa160a6fa45eb793d19ef54f5062f20f33f) | +| [CVX/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/cvx-usd) | [0xd962fC30A72A84cE50161031391756Bf2876Af5D](https://etherscan.io/address/0xd962fC30A72A84cE50161031391756Bf2876Af5D) | +| [OGN/ETH](https://data.chain.link/ethereum/mainnet/crypto-eth/ogn-eth) | [0x2c881b6f3f6b5ff6c975813f87a4dad0b241c15b](https://etherscan.io/address/0x2c881b6f3f6b5ff6c975813f87a4dad0b241c15b) | +{% endtab %} + +{% tab title="Governance" %} + + +| Contract | Address | ENS | +| ------------------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------- | +| 5 of 8 Multisig | [0xbe2AB3d3d8F6a32b96414ebbd865dBD276d3d899](https://etherscan.io/address/0xbe2AB3d3d8F6a32b96414ebbd865dBD276d3d899) | [originprotocol.eth](https://etherscan.io/address/originprotocol.eth) | +| 2 of 9 Multisig | [0xF14BBdf064E3F67f51cd9BD646aE3716aD938FDC](https://etherscan.io/address/0xF14BBdf064E3F67f51cd9BD646aE3716aD938FDC) | [originstrategist.eth](https://etherscan.io/address/originstrategist.eth) | +| Governor / Timelock | [0x72426BA137DEC62657306b12B1E869d43FeC6eC7](https://etherscan.io/address/0x72426BA137DEC62657306b12B1E869d43FeC6eC7) |

origingovernor.eth

origintimelock.eth

| +| OGN Buyback | [0x77314EB392b2be47C014cde0706908b3307Ad6a9](https://etherscan.io/address/0x77314EB392b2be47C014cde0706908b3307Ad6a9) | [originbuyback.eth](https://etherscan.io/address/originbuyback.eth) | +{% endtab %} + +{% tab title="Stablecoins" %} +| Contract | Address | +| ------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| [USDT](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | [0xdac17f958d2ee523a2206206994597c13d831ec7](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | +| [USDC](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | [0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | +| [DAI](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | [0x6b175474e89094c44da98b954eedeac495271d0f](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | +{% endtab %} + +{% tab title="Staking" %} +| Contract | Address | ENS | +| ----------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- | +| OGN Staking | [0x501804B374EF06fa9C427476147ac09F1551B9A0](https://etherscan.io/address/0x501804B374EF06fa9C427476147ac09F1551B9A0) | [originstaking.eth](https://etherscan.io/address/originstaking.eth) | + + + +Internal implementation contracts: + + + +| Contract | Address | +| ----------- | --------------------------------------------------------------------------------------------------------------------- | +| OGN Staking | [0x8cd68a1e0b79150455c5498882d5d5d3df2dde08](https://etherscan.io/address/0x8cd68a1e0b79150455c5498882d5d5d3df2dde08) | + + + +OUSD compensation contract ([details](https://medium.com/originprotocol/origin-delivers-on-compensation-promise-claim-your-ousd-and-ogn-now-a9fa9b840476)): + + + +| Contract | Address | +| ----------------- | --------------------------------------------------------------------------------------------------------------------- | +| OUSD Compensation | [0x9C94df9d594BA1eb94430C006c269C314B1A8281](https://etherscan.io/address/0x9C94df9d594BA1eb94430C006c269C314B1A8281) | +{% endtab %} + +{% tab title="Flipper" %} +Flipper is a gas-optimized way for users to swap in and out of OUSD at a fixed 1:1 rate with other stablecoins. This contract may become empty on one side (e.g., contain 0 OUSD balance), and thus sometimes provides limited swap routes. + + + +| Contract | Address | ENS | +| -------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- | +| Flipper | [0xcecaD69d7D4Ed6D52eFcFA028aF8732F27e08F70](https://etherscan.io/address/0xcecaD69d7D4Ed6D52eFcFA028aF8732F27e08F70) | [originflipper.eth](https://etherscan.io/address/originflipper.eth) | +{% endtab %} + +{% tab title="Wrapped" %} +Wrapped OUSD\ +\ **Well known proxy address:** - [0xD2af830E8CBdFed6CC11Bab697bB25496ed6FA62](https://etherscan.io/address/0xD2af830E8CBdFed6CC11Bab697bB25496ed6FA62) + +Internal implementation address - [0xbf3b9b141cb3629f5bb8f721cba9265c92494539](https://etherscan.io/address/0xbf3b9b141cb3629f5bb8f721cba9265c92494539) +{% endtab %} +{% endtabs %} + + + + + + + + diff --git a/tr/README.md b/tr/README.md new file mode 100644 index 000000000..c06f6638f --- /dev/null +++ b/tr/README.md @@ -0,0 +1,31 @@ +--- +description: Hâlâ cüzdanınızdayken getiri sağlayan ilk stabilcoin +--- + +# Giriş + +## **Daha İyi Bir Para Şekli** + +Origin Dollar (OUSD) is a new stablecoin that was initially launched in September 2020 on the Ethereum network. OUSD, pasif olarak cüzdanlarda tutulurken oldukça rekabetçi getiriler elde ettiğinden, tasarımı mevcut sabit paralardan daha üstündür. + +![](.gitbook/assets/origin-dollar-summary.jpeg) + +**Arka plan** + +In 1999, Yu Pan, Origin’s R\&D engineer, and his fellow PayPal co-founders [conceived](https://www.cnbc.com/2017/08/14/david-sacks-cryptocurrency-interview.html) of creating “the new world currency”, complete with interest yielding strategies and debit cards without having to connect to traditional banking systems. Birkaç pivot ve bir eBay satın alma sonrası, PayPal bu alandaki hedeflerinden vazgeçti. + +Neredeyse yirmi yıl sonra, Tether, 2014 yılında USD cinsinden bir stabilcoin konseptini tanıttı. O zamandan beri, stabilcoinler, kullanıcıları serbest dalgalı para birimlerinin fiyat dalgalanmalarına maruz bırakmadan değer aktarmanın ideal bir yolu olarak kendilerini kanıtladılar. Bugün, Tether aracılığıyla Bitcoin'den daha fazla değer + +aktarılıyor. Meanwhile, Decentralized Finance (DeFi) has experienced an explosion of growth with [billions of dollars](https://defipulse.com) of capital now locked up in smart contracts that generate yields from lending and trading protocols.

+ +Mevcut stablecoin'lerle ilgili sorunlardan biri, kullanıcıların tokenlerini akıllı sözleşmelerde kilitleyerek kolayca harcanabilir bir madeni para tutma ile getiri elde etme arasında sürekli seçim yapmak zorunda olmalarıdır. Örneğin, Aave'de USDC'yi kilitleyen kullanıcılar bu USDC'nin bir kısmını aynı anda harcayamazlar. Pahalı Ethereum gaz ücretleri, bu kullanıcılar harcama modu ile kazanç modu arasında geçiş yapmak istediklerinde "geçiş maliyeti" olarak işlev görür. + +Sorunları daha da kötüleştirmek için, borç verme ve ticaret faaliyetlerinden elde edilen getiriler hızla değişiyor. Sofistike DeFi getiri sahipleri, birçok rakip platformda varlık portföylerini sürekli olarak yeniden dengelemek zorunda kalmaya aşinadır. Gaz ücretleri bir kez daha rekolteye dönüştüğü için bu zaman alıcı ve pahalıdır. Ek olarak, APY'ler kararsız ve sürekli dalgalandıklarından gerçek ROI'yi hesaplamak zaman alıcıdır. Kolay bir hesap birimi yok. Sonuç olarak, DeFi son derece hızlı büyürken, yine de birçok kripto para birimi kullanıcısının katılımını zorlaştırıyor. + +OUSD ile OUSD'nizi harcamak istediğinizde karmaşık pozisyonları çözmenize gerek yoktur. Harcanabilir sermayenin kilidini açmak için benzin ödemek zorunda kalmadan özgürce transfer edebilirsiniz. Ek olarak, OUSD, hiçbir zorluk yaşamadan DeFi'deki en yüksek kazanç fırsatlarından bazılarına erişmenizi sağlar. OUSD akıllı sözleşmesi, temel sermayenizi algoritmik olarak çeşitli getiri kazanma stratejilerine yönlendirir ve riski çeşitlendirirken büyük getiri elde etmek için zaman içinde yeniden dengelenir. Kazançlar otomatik olarak cüzdanınızda birikir ve OUSD tuttuğunuz sürece sürekli olarak birleşir. Yine, staking veya kilitlenme gerekmez. OUSD ayrıca ideal bir hesap birimi olarak hizmet eder. DeFi yatırımcıları, faizleri otomatik olarak birleştikçe sürekli güncellenen OUSD bakiyelerini gerçek zamanlı olarak kolayca görebildikleri için kazançlarını hesaplamak için artık karmaşık elektronik tablolara ihtiyaç duymuyorlar. OUSD, DeFi verim çiftçileri ve acemi kripto para birimi kullanıcıları için ideal bir stabilcoin'dir. + +Cryptocurrency ve fintech gazileri tarafından oluşturulan Origin Dollar, seri girişimcileri, erken kripto para birimi yatırımcılarını, YouTube'daki ilk çalışanları, Google / Dropbox'taki mühendislik yöneticileri ve Paypal'dan birini içeren [Origin Protocol](https://www.originprotocol.com) [takım](https://www.originprotocol.com/team) tarafından sunulur. kurucularından Yu Pan. + +Nasıl çalıştığına dair teknik ayrıntılara dalmak isteyenler için bu dokümanlar harika bir başlangıç noktasıdır. We encourage developers to audit and contribute to our [Github](http://www.github.com/OriginProtocol) (100% open-source). Sorularınız varsa veya başlamak için yardıma ihtiyacınız olursa ekibimiz [Discord](https://www.originprotocol.com/discord) takılıyor. + +Paranın geleceğine hoş geldiniz. diff --git a/tr/SUMMARY.md b/tr/SUMMARY.md new file mode 100644 index 000000000..1220d7ea5 --- /dev/null +++ b/tr/SUMMARY.md @@ -0,0 +1,64 @@ +# İçindekiler + +* [Introducing OUSD](README.md) +* [Nasıl çalışır](how-it-works.md) +* [Başlamak](getting-started.md) +* [Analytics Dashboard](analytics-dashboard.md) +* [FAQ](faq.md) + +## Temel Kavramlar + +* [Elastik Tedarik](core-concepts/elastic-supply/README.md) + * [Rebasing & Smart Contracts](core-concepts/elastic-supply/rebasing-and-smart-contracts.md) +* [Verim Üretimi](core-concepts/yield-generation/README.md) + * [Lending ( Borç Verme )](core-concepts/yield-generation/lending.md) + * [Pazar yapımı](core-concepts/yield-generation/market-making.md) + * [Ödüller](core-concepts/yield-generation/rewards.md) +* [Wrapped OUSD](core-concepts/wrapped-ousd.md) +* [Supported Stablecoins](core-concepts/supported-stablecoins/README.md) + * [USDT](core-concepts/supported-stablecoins/usdt.md) + * [USDC](core-concepts/supported-stablecoins/usdc.md) + * [DAI](core-concepts/supported-stablecoins/dai.md) +* [Supported Strategies](core-concepts/supported-strategies/README.md) + * [Compound](core-concepts/supported-strategies/compound.md) + * [Aave](core-concepts/supported-strategies/aave.md) + * [Curve](core-concepts/supported-strategies/curve.md) + * [Convex](core-concepts/supported-strategies/convex.md) +* [Fund Management](core-concepts/fund-management.md) +* [Price Oracles](core-concepts/price-oracles.md) + +## Yönetişim + +* [Prensipler](governance/principles.md) +* [Yönetici Ayrıcalıkları](governance/admin-privileges.md) +* [OGN Staking](governance/ogn-staking.md) +* [Contributing](governance/contributing.md) +* [Vote Delegation](governance/vote-delegation.md) + +## Akıllı Sözleşmeler + +* [Mimari](smart-contracts/architecture.md) +* [Kayıt](smart-contracts/registry.md) +* [API](smart-contracts/api/README.md) + * [Kasa](smart-contracts/api/vault.md) + * [ERC-20](smart-contracts/api/erc-20-1.md) + * [zaman kilidi](smart-contracts/api/timelock.md) + * [Strategies](smart-contracts/api/strategies.md) + +## Güvenlik & Riskler + +* [Riskler](security-and-risks/risks.md) +* [Denetimler](security-and-risks/audits.md) +* [Insurance](security-and-risks/insurance.md) +* [Bug Bounties](security-and-risks/bug-bounties.md) + +## Guides + +* [Integration Guide For Exchanges](guides/integration-guide-for-exchanges.md) +* [Incentivized Harvesting Guide](guides/incentivized-harvesting-guide.md) + +## Links + +* [Github](https://www.github.com/originprotocol/origin-dollar) +* [Discord](https://www.originprotocol.com/discord) +* [originprotocol.com](https://www.originprotocol.com) diff --git a/tr/analytics-dashboard.md b/tr/analytics-dashboard.md new file mode 100644 index 000000000..9c3e6a577 --- /dev/null +++ b/tr/analytics-dashboard.md @@ -0,0 +1,31 @@ +# Analytics Dashboard + +{% hint style="info" %} +Visit [analytics.ousd.com](https://analytics.ousd.com) to see how funds are allocated, view historical performance data, and track your personal gains. +{% endhint %} + +The [APY dashboard](https://analytics.ousd.com/apy) is primarily intended for consumption by our engineering team, but we went ahead and deployed it since our ethos is "public by default" and everything that we do is [open-source](http://github.com/OriginProtocol). Unfortunately, that often means erring on the side of transparency and not necessarily the side of taking the time to explain things clearly. + +Before diving into the yield calculation, it's important to understand how OUSD works both in terms of [yield generation](https://docs.ousd.com/core-concepts/yield-generation) and [rebasing](https://docs.ousd.com/core-concepts/elastic-supply). You can read all about that in these [docs](https://docs.ousd.com), including [the part about smart contracts being excluded from yield](https://docs.ousd.com/core-concepts/elastic-supply/rebasing-and-smart-contracts). + +To summarize how APY is calculated, it's the annualized rate of change in OUSD's internal accounting of users' balances between two points in time. To understand that, let's break down the columns in the historical APY table (in reverse order). + +**Ratio** + +There are two types of OUSD balances: rebasing (most accounts) and non-rebasing (smart contracts that have not opted in). The OUSD token contract maintains a separate internal accounting for each type of balance using what it calls "credits". The ratio shown here is the rebasing supply of OUSD divided by the rebasing credits, which gives us the exchange rate between the two. + +**Credits** + +Some smart contracts holding OUSD have unique credit balances because their rebasing status has changed at some point in the past (by opting in or out). Here we show the sum of all rebasing credits and non-rebasing credits. When multiplied by the ratio, it gives the difference between backing supply and non-rebasing supply. + +**Non-rebasing** + +This is the portion of supply held in other smart contracts that have not opted in to rebasing. When added to (credits \* ratio), this equals backing supply. Note also that the **%** column shows the percentage of OUSD that is non-rebasing. + +**Boost** + +The APY is effectively "boosted" for rebasing accounts thanks to the fact that some OUSD is non-rebasing. Think about all of the stablecoins that were used as collateral to mint the non-rebasing OUSD. Those stablecoins are still earning through our yield farming strategies, but the gains are accruing only to the rebasing accounts. The result is that the effective APY is higher than it would be without this mechanism. The boost is the measure of this difference. If boost is 100%, then regular OUSD holders are enjoying double the APY that they otherwise would. + +**APR/APY calculation** + +Bringing this full circle, we currently measure yield by measuring the change in the [rebasing credits per token](https://github.com/OriginProtocol/origin-dollar/blob/master/contracts/contracts/token/OUSD.sol#L45) between two points in time. But there are a few other considerations to note. First, we have to make an assumption about how many Ethereum blocks are mined on an average day. We use a [fixed 6,500](https://github.com/OriginProtocol/ousd-analytics/blob/master/eagleproject/core/views.py#L43), but the actual number of blocks per day is variable. Second, we need a reasonable time horizon to measure. We focus on 30 days, which has proven to be a relatively consistent window of time during which a complete sample of yield-generating activities has occurred. Third, we convert APR into APY by assuming [constant daily compounding](https://github.com/OriginProtocol/ousd-analytics/blob/master/eagleproject/core/views.py#L449-L451). In other words, yield is constantly being reinvested into the same strategies. Finally, there is one notable drawback to using the rebase ratio to measure yield. Since rebase events currently occur sporadically (and not very frequently in a world of high gas prices), the APY won't reflect earnings that have not yet been translated to account balances. For example, there could be an interest rate spike in Compound or a volume spike in the Curve 3pool strategy, which would cause OUSD to earn more than it does on an average day. Until [the rebase method](https://github.com/OriginProtocol/origin-dollar/blob/master/contracts/contracts/vault/VaultCore.sol#L365-L370) gets called, the APY will underreport these earnings. In fact, anyone who sells OUSD during that time would be missing out on the "[next rebase](https://analytics.ousd.com)". The good news is that you should be able to observe the change in your balance over one week and it (annualized) should approximately equal our advertised APY. diff --git a/tr/architecture/erc-20-1.md b/tr/architecture/erc-20-1.md new file mode 100644 index 000000000..ec9d19f3c --- /dev/null +++ b/tr/architecture/erc-20-1.md @@ -0,0 +1,19 @@ +# ERC-20 + +{% hint style="success" %} +Origin Dollar için ana ERC20 adresi \(OUSD\): +**0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +OUSD, anlaşılması önemli olan yeni bir özelliğe sahip ERC-20 uyumlu bir tokendır. + +{% hint style="warning" %} +OUSD'yi entegre etmek isteyen cüzdanlar ve borsalar, token sahiplerine getiri tahakkuk ettikçe bu değer sık sık değişeceğinden, OUSD için token bakiyelerini önbelleğe almamalıdır. +{% endhint %} + +OUSD'yi ortalama ERC-20 tokenınızdan ayıran en büyük fark, OUSD'nin ` balanceOf () ` işlevinin, havuzun toplam değeri ile hamilinin havuzdaki hissesi ile çarpılan değişken bir miktar döndürme şeklidir. Bu fark, özellikle OUSD tokenını entegre etmek isteyen cüzdanlar ve borsalar için çok önemlidir. OUSD sık sık yeniden ürettiği için bu değer önbelleğe alınmak yerine gerçek zamanlı olarak getirilmelidir. + + + + + diff --git a/tr/architecture/erc-20.md b/tr/architecture/erc-20.md new file mode 100644 index 000000000..90052a579 --- /dev/null +++ b/tr/architecture/erc-20.md @@ -0,0 +1,12 @@ +# Genel Bakış + +![](../.gitbook/assets/ousd_docs_graphics_3.png) + +OUSD, bir dizi akıllı sözleşmeden oluşur. Bu sözleşmelerin her biri, yönetişim protokolleri aracılığıyla yükseltilebilen bir vekil sözleşmesine sarılmıştır. + +Dahili olarak, havuzdaki sahiplik, her bir sahip için havuzun sahiplik yüzdesini temsil eden bir kredi sistemi kullanılarak izlenir. ERC-20 sözleşmesi, bir bakiyeyi görüntülerken veya cüzdanlar arasında bir transfer başlatırken USD şartlarına dönüştürmeyi ele alır. + +Kasa, OUSD'yi basmaktan ve yakmaktan sorumludur. Ayrıca, desteklenen [ Stratejileri ](../core-concepts/supported-strategies/) 'nin her birine dağıtılan varlıkların yüzdesini de uygular. Depo, gaz maliyetlerini optimize etmek için, çoğu biriktirme ve itfanın varlıkları stratejilerden sarmadan / çözmeden gerçekleşmesine izin veren bir tampon bulundurur. + + + diff --git a/tr/architecture/strategies.md b/tr/architecture/strategies.md new file mode 100644 index 000000000..750f21bc8 --- /dev/null +++ b/tr/architecture/strategies.md @@ -0,0 +1,14 @@ +# Stratejiler + +Yeni piyasa gerçeklerine yanıt vermek ve riski çeşitlendirmek için herhangi bir zamanda yeni stratejiler eklenebilir veya kaldırılabilir. + +OUSD, lansman sırasında tek bir stratejiden yararlanacak ve yatırılan sermayeyi Compound'a dağıtacak. Kısa süre sonra birçok başka stratejiyi uygulamaya koymayı planlıyoruz. + +Merkezi olmayan yönetişime geçiş yaptığımızda, amacımız topluluğun yeni stratejiler önermesi ve havuzdaki her strateji için uygun ağırlığı oylamasıdır. Çoğu OUSD sahibinin, fonların bir kısmı için daha muhafazakar pozisyonları korurken daha yüksek getiri fırsatlarına maruz kalmaya değer vereceğini tahmin ediyoruz. + + + + + + + diff --git a/tr/architecture/timelock.md b/tr/architecture/timelock.md new file mode 100644 index 000000000..5a1a8f460 --- /dev/null +++ b/tr/architecture/timelock.md @@ -0,0 +1,22 @@ +# zaman kilidi + +{% hint style="danger" %} +Zaman kilidi, her şeyin çalıştığı doğrulandıktan hemen sonra eklenecektir. O zamana kadar, sözleşmeler Origin'in 5/8 çoklu işaretine tabi olacak. Bu, herhangi bir kritik sorun tespit edilirse daha hızlı bir yanıt sağlar. +{% endhint %} + +Zaman kilidi sözleşmesi, OUSD sözleşmelerinde herhangi bir değişiklik yapılmadan önce 48 saatlik bir bekleme süresi uygular. Zaman kilidi, çoklu işaretimiz tarafından çağrılabilir ve [ERC-20](erc-20.md), [Vault](vault.md)ve [Strategies](strategies.md) sözleşmelerimizin sahibidir. Zaman geciktiren yönetici eylemleri, yöneticileri kötüye giderse, güvenliği aşılırsa veya kullanıcıların beğenmediği bir değişiklik yaparsa kullanıcılara OUSD'den çıkma şansı verir. + +{% hint style="bilgi" %} +Zaman kilidi, protokolde önerilen yükseltmelere itirazları olması halinde OUSD sahiplerine fonlarını çekmeleri için 48 saat veren bir güvenlik önlemidir. +{% endhint %} + +OUSD biraz değiştirilmiş bir versiyonu kullanılarak bir [Bileşik Timelock](https://compound.finance/docs/governance) olmuştur [OpenZeppelin tarafından denetlenmektedir](https://blog.openzeppelin.com/compound-finance-patch-audit/). 3 önemli fark: + +1. OUSD, herhangi bir sorun tespit edilirse daha hızlı yanıt verebilmek için başlangıçta Bileşik \ (72 saat \) 'ten daha kısa bir bekleme süresi \ (48 saat \) kullanacaktır. +2. 48 saat geçtikten sonra, yalnızca sözleşmenin sahibi değil, herkes aramayı yürütmekte özgürdür. +3. Para yatırma işlemleri \ (ancak para çekme veya transferler değil \) 48 bekleme süresi gerekmeden anında dondurulabilir. Bu, büyük bir güvenlik açığının keşfedilmesi durumundadır. + + + + + diff --git a/tr/architecture/vault.md b/tr/architecture/vault.md new file mode 100644 index 000000000..6052457f5 --- /dev/null +++ b/tr/architecture/vault.md @@ -0,0 +1,17 @@ +# Vault + +Kasa, protokolün merkezinde yer alır. Kasa, OUSD tokenlarını basmak / kullanmaktan, çeşitli desteklenen stratejiler arasında fonları yeniden dengelemekten ve ödül tokenlarını tasfiye etmekten sorumludur. + +Apps Kasası'ndaki herkese açık olarak çağrılabilen en önemli işlevler şunlardır: + +* `mint ()`, desteklenen tek bir stabilcoinin OUSD'ye dönüştürülmesine izin verir +* `mintMultiple ()`, desteklenen birden fazla stablecoin'in tek bir çağrıda OUSD'ye dönüştürülmesine izin verir +* `redeem ()`, belirtilen miktarda OUSD'nin desteklenen diğer sabit paralar için kullanılmasına izin verir. +* `redeemAll ()`, bir kullanıcının diğer desteklenen stabilcoinler için OUSD bakiyesinin tamamını kullanmasına izin verir. Verim biriktikçe kullanıcı bakiyeleri sürekli arttığı için bu özellikle yararlıdır. +* `rebase ()`, havuzda o anda depolanan varlıkların değerine göre tüm kullanıcılar için bakiyeleri günceller. +* `tahsis ()`, verimi en üst düzeye çıkarmak ve riski çeşitlendirmek için yönetim altındaki varlıkları öngörülen [Stratejilere](strategies.md) taşır. + +Geri alımlarda, kullanıcıya hangi stabilcoin \ (ler) i iade edeceğine karar veren kullanıcı değil protokoldür. Hangi madeni paranın iade edileceğine dair bu karar, havuzda tutulan varlıkların iç oranlarına dayanmaktadır. + + + diff --git a/tr/core-concepts/elastic-supply.md b/tr/core-concepts/elastic-supply.md new file mode 100644 index 000000000..9b7173571 --- /dev/null +++ b/tr/core-concepts/elastic-supply.md @@ -0,0 +1,18 @@ +# Elastik Tedarik + +**Elastik Tedarik. Sabit Fiyat.** + +OUSD, çoğu tokendan farklı çalışır. Yönetim altındaki varlıkların değeri arttıkça fiyat artışı yerine \ (Bileşik cTokens veya Yearn yTokens'te olduğu gibi), bir OUSD'nin değeri yaklaşık 1 $ 'da sabit kalır. Bunun yerine, sözleşmeler parasal arzı sürekli olarak ayarlar ve her bir token sahibinin cüzdanındaki bakiyeyi protokol tarafından kazanılan verimi yansıtacak şekilde otomatik olarak günceller. + +{% hint style="bilgi" %} +Banka hesabınıza faiz tahakkuk ettiğini düşünün. ABD dolarının hesap birimi ve değeri değişmez. Faiz kazandıkça zamanla daha fazla ABD doları kazanırsınız. +{% endhint %} + +![](../.gitbook/assets/ousd_docs_graphics_4.png) + +Bu mekanizma, [Ampleforth](https://www.ampleforth.org/)tarafından benimsenen yeni yaklaşımdan esinlenmiştir, ancak vurgulanmaya değer bazı temel farklılıklar vardır: + +1. OUSD, diğer stabilcoinler tarafından% 100 desteklenmektedir ve dolara sabitlemeyi sürdürme konusunda aynı zorluğa sahip olmayacaktır. OUSD'yi basmanın ve paraya çevirmenin kolaylığı göz önüne alındığında, pegin korunmasını sağlamak için arbitrajcılara güvenebiliriz. +2. OUSD rebasing should only increase supply since the amount of OUSD minted is tied to the realized gains earned by the underlying strategies. Your principal is protected as long as nothing goes wrong with the underlying lending/AMM and stablecoin protocols. Any decrease in your balance would be an indication of trouble in the system. +3. Günde bir kez yeniden satış yapan Ampleforth'un aksine, OUSD'nin parasal arzı, getiri elde edildikçe gerçek zamanlı olarak sürekli güncellenir. + diff --git a/tr/core-concepts/elastic-supply/README.md b/tr/core-concepts/elastic-supply/README.md new file mode 100644 index 000000000..f8cd3e4ed --- /dev/null +++ b/tr/core-concepts/elastic-supply/README.md @@ -0,0 +1,21 @@ +# Elastik Tedarik + +**Elastik Tedarik. Sabit Fiyat.** + +OUSD, çoğu tokendan farklı çalışır. Instead of the price increasing as the value of the assets under management increase (as with Compound cTokens or Yearn yTokens), the value of one OUSD remains constant at approximately $1. Instead, the contracts constantly adjust the monetary supply and automatically updates the balance in every token holder’s wallet to reflect the yield that has been earned by the protocol. + +{% hint style="bilgi" %} +Banka hesabınıza faiz tahakkuk ettiğini düşünün. ABD dolarının hesap birimi ve değeri değişmez. Faiz kazandıkça zamanla daha fazla ABD doları kazanırsınız. +{% endhint %} + +![](../../.gitbook/assets/ousd\_docs\_graphics\_4.png) + +This mechanism was inspired by the novel approach taken by [Ampleforth](https://www.ampleforth.org), but there are some key differences that are worth highlighting: + +1. OUSD is 100% backed by other stablecoins and does not have the same challenge maintaining the peg to the dollar. Given the ease of minting and redeeming OUSD, we can count on arbitrageurs to ensure the peg is maintained. +2. OUSD rebasing will only increase supply since the amount of OUSD minted is tied to the realized gains earned by the underlying strategies. Your principal is protected as long as nothing goes wrong with the underlying lending/AMM and stablecoin protocols. Your OUSD balance will never decrease, but the value could drop if there's a failure in the underlying systems. +3. Unlike Ampleforth, which only rebases once a day, the monetary supply of OUSD is constantly being updated in real-time as yield is generated. Rebases are triggered regularly as users interact with the OUSD contracts. Chainlink Keepers ensure at least one rebase occurs every day. + +**Manually triggering a rebase** + +Anyone can trigger a rebase at any time by [calling the rebase function on the vault](https://etherscan.io/address/originvault.eth#writeProxyContract). You can do this on Etherscan by connecting a web3 wallet. diff --git a/tr/core-concepts/elastic-supply/rebasing-and-smart-contracts.md b/tr/core-concepts/elastic-supply/rebasing-and-smart-contracts.md new file mode 100644 index 000000000..cdebbc4bf --- /dev/null +++ b/tr/core-concepts/elastic-supply/rebasing-and-smart-contracts.md @@ -0,0 +1,22 @@ +# Rebasing & Smart Contracts + +If you are using a multi-sig wallet or another smart contract that wishes to participate in the rebasing aspect of OUSD you must call OUSD’s`rebaseOptIn()` function. This only applies to smart contracts as standard EOA wallets are enrolled automatically. + +{% hint style="info" %} +Multi-sig wallets or other smart contracts must call`rebaseOptIn()`to earn yield. +{% endhint %} + +By default, OUSD that is held on smart contracts will not participate in the rebasing nature of the token and will forfeit any yield unless the smart contract explicitly opts-in. This increases the composability of OUSD within DeFi as many protocols weren't designed with the expectation that balances might change. To other DeFi protocols, OUSD works just like any other normal, well-behaved ERC-20 until you ask it to change. This is a particularly useful attribute for automated market makers (AMM’s) like Uniswap which break when the number of tokens they are holding changes unexpectedly. + +![The Gnosis Safe OUSD app will prompt you to opt in to yield](../../.gitbook/assets/ousd-app-in-gnosis-safe.png) + +Smart contracts must explicitly opt-in to receiving yield via the rebasing mechanism. This fixes the issue with the expanding supply on AMM’s while still allowing multi-sig wallets and other smart contracts the opportunity to still participate and earn yield. + +{% hint style="warning" %} +If you are deploying a contract and intend to call`rebaseOptIn()`to earn yield you cannot call it from the contract's constructor. The contract must be deployed before it can be called. +{% endhint %} + +[Gnosis Safe](https://gnosis-safe.io) users are encouraged to use the Origin Dollar app which will prompt you to opt in to receiving yield. If you are using the "Old" [Gnosis Wallet](https://github.com/gnosis/MultiSigWallet) or another contract-based wallet, you will need the [proxy contract address for OUSD](../../smart-contracts/registry.md) and the corresponding [ABI](https://api.etherscan.io/api?module=contract\&action=getabi\&address=0x1ae95dd4eeae7ed03da79856c2d44ffa3318f805). Once you add those, you will be able to call the `rebaseOptIn()` function to opt into receiving yield via rebasing or`rebaseOptOut()` to turn it off again. + + + diff --git a/tr/core-concepts/fund-management.md b/tr/core-concepts/fund-management.md new file mode 100644 index 000000000..d6b1920c5 --- /dev/null +++ b/tr/core-concepts/fund-management.md @@ -0,0 +1,23 @@ +# Fund Management + +The OUSD smart contract aggregates all users' stablecoin deposits into a single pool of assets that are then deployed into earning strategies based on preset allocations. In contrast to Yearn Vaults, TokenSets, or Zapper opportunities, users do not select individual strategies. All deposited stablecoins and consequently all OUSD tokens are fungible. + +The weighting of how assets are distributed between the supported strategies is decided by OGN holders using weekly snapshot voting. These votes happen offchain and do not cost any gas. The results of the weekly poll will then be executed onchain by members of the [Strategist multi-sig](https://etherscan.io/address/0xF14BBdf064E3F67f51cd9BD646aE3716aD938FDC) (known as "Strategists"). + +Ultimately, we believe it should be up to the community to decide what the right balance of risk/reward is appropriate for OUSD. We encourage the community to favor high-yield strategies while still maintaining diversification across multiple strategies to remove single points of failure and minimize risk. + +**How strategy allocation voting works:** + +* New snapshot proposals will open for voting on the [OGN governance portal ](http://vote.originprotocol.com)at midnight Tuesday UTC (7pm eastern Monday). The poll will be open for 48 hours, ending at midnight Thursday UTC (7pm eastern on Wednesday). +* During this time, those interested can discuss allocation changes in a thread in the #governance channel on [Origin's Discord](https://www.originprotocol.com/discord). +* Each proposal will use "weighted voting", with options for each coin/strategy combination and an option to keep the existing allocation unchanged. OGN holders can spread their votes among different listed strategies or the existing allocation. +* After the voting time has ended, Strategists will submit, verify, and execute transactions to change OUSD to the determined allocation percentages for the week. If more than 50% of the weighted votes are cast for the existing allocation, Strategists will take no action. +* Allocations will be executed for strategies that use all stablecoins first (like Convex), then each stablecoin will be allocated to the remaining strategies according to the ratio of votes for that stablecoin / strategy combination. +* If the Strategists deem any of the allocations unsafe to the funds behind OUSD, they may choose to not execute those. In addition, Strategists may decline to execute minor adjustments where the gas costs would be greater than the expected benefits. +* Like all governance proposals, Strategist allocations must meet the minimum quorum requirements (currently 1M OGN) to be considered valid. +* From a security standpoint, it is important to know that while Strategists have the ability to move funds between approved strategies or instantly pause rebasing in the case of an emergency, Strategists do not have the power to add new strategies or withdraw funds without going through the timelock. Community members can use the Strategy Validator tools to more easily [create](https://analytics.ousd.com/strategist/creator) and [decode](https://analytics.ousd.com/strategist) which actions are being performed by the Strategists. +* When voting, please remember it is inefficient to move in and out of the Convex strategy frequently and some funds need to always remain outside of Convex in order to accommodate withdrawals. + + + +**** diff --git a/tr/core-concepts/fund-management/README.md b/tr/core-concepts/fund-management/README.md new file mode 100644 index 000000000..58330ab87 --- /dev/null +++ b/tr/core-concepts/fund-management/README.md @@ -0,0 +1,6 @@ +# Fon Yönetimi + +OUSD akıllı sözleşmesi, tüm kullanıcıların stablecoin depozitolarını tek bir yatırım yapılabilir varlık havuzunda toplar. Fonlar daha sonra herhangi bir zamanda bir veya daha fazla [kazanç stratejisine](earning-strategies.md) tahsis edilir. Apps Kasası, yüksek getirili stratejileri tercih eder, ancak aynı zamanda birden çok stratejide çeşitliliği sürdürmeye çalışır. Çeşitlendirme, tek hata noktalarını ortadan kaldırır ve riskleri azaltır. + +Yearn Vaults, TokenSets veya Zapper fırsatlarının aksine, kullanıcılar bireysel stratejiler seçmezler. Yatırılan tüm stabilcoinler ve dolayısıyla tüm OUSD tokenleri değiştirilebilir. + diff --git a/tr/core-concepts/fund-management/diversification.md b/tr/core-concepts/fund-management/diversification.md new file mode 100644 index 000000000..d36c3a734 --- /dev/null +++ b/tr/core-concepts/fund-management/diversification.md @@ -0,0 +1,8 @@ +# Çeşitlendirme + +OUSD Vault akıllı sözleşmesinin ilk sürümü, basit varlık tahsisini gerçekleştirmek için her geçerli stratejiye% 0 ile% 100 arasında basit bir ağırlık verir. Bu ağırlıklar, kısa vadede Origin tarafından yapılan güncellemeler ve uzun vadede merkezi olmayan yönetişim tarafından sıklıkla değiştirilecektir. + +Birden yatan Defi genelinde Çeşitlendirme [platformları](../supported-strategies/) akıllı sözleşme ve diğer sistemik riskleri azaltacaktır. Akıllı sözleşme, OUSD sahiplerine rekabetçi getiri sağlamak amacıyla mevcut ve beklenen APY'leri hesaplayacaktır. Zaman içinde Apps Kasası sözleşmesi, herhangi bir manuel müdahale olmaksızın stratejiler arasında akıllıca ve özerk bir şekilde geçiş yapacak şekilde yükseltilecektir. Örneğin, Vault, getirileri optimize etmek için sermayeyi çeşitli borç verme stratejileri arasında otomatik olarak kaydırır. + +Ancak yine de belirli risk parametrelerinin veya belirli stratejilerin otomatik karar verme motoruna dahil edilip edilmeyeceğine ilişkin kararların yönetişim oyları yoluyla alınması bekleniyor. + diff --git a/tr/core-concepts/fund-management/earning-strategies.md b/tr/core-concepts/fund-management/earning-strategies.md new file mode 100644 index 000000000..248ec6cc7 --- /dev/null +++ b/tr/core-concepts/fund-management/earning-strategies.md @@ -0,0 +1,6 @@ +# Kazanma Stratejileri + +Kazanç stratejileri, konuşlandırılmış sermayeyi çeşitli DeFi platformlarında çalışmak üzere koyar. Kasa, hangi stratejilerin etkin olduğunu ve dağıtılmış sermayenin yüzde kaçını alacaklarını belirleyecektir. + +Ek olarak, stratejiler zamanla yükseltilecektir. Örneğin, lansmanda, ilk [Bileşik strateji](../supported-strategies/compound.md). Zamanla bu, bir v2 veya v3 Bileşik stratejisi ile değiştirilebilir. + diff --git a/tr/core-concepts/price-oracles.md b/tr/core-concepts/price-oracles.md new file mode 100644 index 000000000..1b08c685f --- /dev/null +++ b/tr/core-concepts/price-oracles.md @@ -0,0 +1,38 @@ +- - - +description: OUSD uses Chainlink to secure the protocol from pricing attacks +- - - + +# Price Oracles + +### Stablecoin Pricing + +OUSD is designed to stay pegged at 1 USD and be 1:1 backed with its underlying stablecoins. This is trickier than it sounds because these underlying stablecoins are constantly deviating from their own desired 1 USD pegs. While the majority of daily fluctuations are minor, there have been major swings in price that have occurred in the past and are likely to occur again in the future. + +| Coin | **Low** | **High** | **Delta** | **Source** | +| ---- | ---------------------------------------------------- | ---------------------------------------------------- | --------- | --------------------------------------------------------------------------- | +| USDC |

$0.929222

Mar 13, 2020

|

$1.11

Oct 15, 2018

| $0.180778 | [CoinMarketCap](https://coinmarketcap.com/currencies/usd-coin/) | +| USDC |

$0.924188

Aug 02, 2020

|

$1.17

May 08, 2019

| $0.245812 | [CoinGecko](https://www.coingecko.com/en/coins/usd-coin) | +| DAI |

$0.945505

May 10, 2020

|

$1.11

Mar 13, 2020

| $0.164495 | [CoinMarketCap](https://coinmarketcap.com/currencies/multi-collateral-dai/) | +| DAI |

$0.903243

Nov 25, 2019

|

$1.22

Mar 13, 2020

| $0.316757 | [CoinGecko](https://www.coingecko.com/en/coins/dai) | +| USDT |

$0.849809

Feb 02, 2017

|

$1.21

May 27, 2017

| $0.360191 | [CoinGecko](https://www.coingecko.com/en/coins/tether) | +| USDT |

$0.572521

Mar 02, 2015

|

$1.32

Jul 24, 2018

| $0.747479 | [CoinMarketCap](https://coinmarketcap.com/currencies/tether/) | + +The rebasing function treats 1 stablecoin as 1 OUSD for simplicity and to protect OUSD balances from being affected by the daily fluctuations in the price of the underlying stablecoins. Since the rebase function only counts coins, OUSD balances should only increase. + +In order to mint and redeem the appropriate number of OUSD on entry and exit, the smart contracts need to accurately price the USDT, USDC, and DAI that is entering and exiting the system. + +As an added precaution, OUSD never pays more than a dollar for a stablecoin, nor sells a stablecoin for less than a dollar. Oracles giving wrong prices will not result in a reduction of the number of stablecoins held. Gains that are collected as a result of stablecoins slipping from their peg are redistributed to the remaining holders of OUSD in the form of additional yield. + +As a decentralized protocol, OUSD must rely on non-centralized sources for these prices. OUSD uses Chainlink oracles for pricing data for DAI, USDC and USDT. You can read more about [our decision to work with Chainlink](https://blog.originprotocol.com/how-origin-uses-chainlink-oracles-to-secure-ousd-bff5601e840e) on our blog. Here are the Chainlink oracles we are currently using for stablecoin pricing: + +{% embed url="https://data.chain.link/usdt-usd" %} + +{% embed url="https://data.chain.link/usdc-usd" %} + +{% embed url="https://data.chain.link/dai-usd" %} + +### Reward Token Oracles & Front Running Protection + +When reward tokens from OUSD strategies are sold for additional yield, Chainlink oracles are checked to ensure that the sale price slippage has not exceeded normal bounds. These oracles are listed on our [registry](../smart-contracts/registry.md) page under the "Oracles" tab. + +The same is also true for OGN buybacks from OUSD yield.\ \ When minting and redeeming OUSD, a miniumun required amount can be passed into the contract call to ensure that the entire transaction fails if not enough OUSD or stablecoins would be returned to the user due to changing prices. diff --git a/tr/core-concepts/price-oracles/README.md b/tr/core-concepts/price-oracles/README.md new file mode 100644 index 000000000..a1e612683 --- /dev/null +++ b/tr/core-concepts/price-oracles/README.md @@ -0,0 +1,137 @@ +# Fiyat Oracle'ları + +OUSD, 1 USD'de sabit kalacak ve temelindeki stabilcoinlerle 1: 1 desteklenecek şekilde tasarlanmıştır. Bu, göründüğünden daha zor çünkü bu temel sabit paralar, sürekli olarak kendi istenen 1 USD sabitlerinden sapıyor. Günlük dalgalanmaların çoğu küçük olsa da, geçmişte meydana gelen ve gelecekte tekrar ortaya çıkması muhtemel olan büyük fiyat dalgalanmaları olmuştur. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CoinDüşük + Yüksek + Delta + Kaynak +
USDC +

$0,929222

+

13 Mart 2020

+
+

$1.11 +

+

15 Ekim 2018

+
$0.180778 +CoinMarketCap + +
USDC +

$0.924188

+

02 Ağu 2020

+
+

$1.17 +

+

08 Mayıs 2019

+
$0.245812 +CoinGecko +
DAI +

$0.945505 +

+

10 Mayıs 2020

+
+

$1.11 +

+

13 Mart 2020

+
$0.164495 +CoinMarketCap + +
DAI +

$0.903243 +

+

Kasım 25, 2019

+
+

$1.22

+

13 Mart 2020

+
$0.316757CoinGecko +
USDT +

$0.849809

+

02 Şubat 2017

+
+

$1.21

+

27 Mayıs 2017

+
$0.360191CoinGecko +
USDT +

$0.572521

+

02 Mart 2015

+
+

$1.32

+

24 Temmuz 2018

+
$0.747479CoinMarketCap + +
+ +The rebasing function treats 1 stablecoin as 1 OUSD for simplicity and to protect OUSD balances from being affected by the daily fluctuations in the price of the underlying stablecoins. Since the rebase function only counts coins, OUSD balances should only increase. + +In order to mint and redeem the appropriate number of OUSD on entry and exit, the smart contracts need to accurately price the USDT, USDC, and DAI that is entering and exiting the system. As a decentralized protocol, OUSD must rely on non-centralized sources for these prices. + +{% hint style="info" %} +OUSD fetches the price from multiple on-chain oracles and uses the exchange rate that is most advantageous for the vault when minting or redeeming. +{% endhint %} + +In order to prevent malicious attacks and to encourage long-term investors over short-term speculators, the OUSD contract compares price feeds from multiple sources and will use whichever exchange rate benefits the entire vault over the individual. This mechanism protects the vault funds from arbitrageurs and prevents any individual from being able to take advantage of any temporary inefficiencies caused by mispriced oracles to deplete the shared pool of assets. + +This protects the funds in the vault while rewarding long-term holders. Since the safest price depends on the direction of the trade, the Origin oracle exposes both a `priceUSDMint()` and a `priceUSDRedeem()`. + +OUSD uses Chainlink as oracle for DAI, USDC and USDT. + +{% embed url="https://feeds.chain.link/eth-usd" caption="" %} + +The specific smart contract address for each oracle being used are listed on our [registry](../../smart-contracts/registry.md) page. + +It is possible that additional oracles will be added to the protocol over time. Support may also be removed if any of these oracles become unreliable. + diff --git a/tr/core-concepts/price-oracles/untitled.md b/tr/core-concepts/price-oracles/untitled.md new file mode 100644 index 000000000..7a413944b --- /dev/null +++ b/tr/core-concepts/price-oracles/untitled.md @@ -0,0 +1,25 @@ +# Untitled + +## Getting Super Powers + +Becoming a super hero is a fairly straight forward process: + +``` +$ give me super-powers +``` + +{% hint style="info" %} + Super-powers are granted randomly so please submit an issue if you're not happy with yours. +{% endhint %} + +Once you're strong enough, save the world: + +{% code title="hello.sh" %} +```bash +# Ain't no code for that yet, sorry +echo 'You got to trust me on this, I saved the world' +``` +{% endcode %} + + + diff --git a/tr/core-concepts/supported-assets/README.md b/tr/core-concepts/supported-assets/README.md new file mode 100644 index 000000000..7c8e704bc --- /dev/null +++ b/tr/core-concepts/supported-assets/README.md @@ -0,0 +1,20 @@ +# Desteklenen Stablecoinler + +**Desteklenen Stablecoinler** + +OUSD'nin yalnızca onu destekleyen stabilcoinler kadar güçlü olduğunu anlamak önemlidir. Dayanak varlıklardaki herhangi bir kayıp, OUSD değerinde benzer bir kayba neden olacaktır. + +Şu anda, OUSD aşağıdaki stabilcoinleri desteklemektedir: + +{% page-ref page="usdt.md" %} + +{% page-ref page="usdc.md" %} + +{% page-ref page="dai.md" %} + +Bu stabilcoinlerin hiçbiri mükemmel değil, ancak yaygın kullanımları nedeniyle onları seçtik. Bu stabilcoinler, birçok durumda USD sabitlerini kaybetmiş olsalar da, sonunda 1 USD hedeflerine geri dönme esnekliğini gösterdiler. + +Tüm bu stablecoin'lerin önemsiz olmayan karşı taraf riski oluşturduğuna dikkat etmek önemlidir. Özellikle Tether, iyi belgelenmiş bankacılık sorunları ve yasal zorluklar yaşadı. Ek olarak, hem USDT hem de USDC, ihraççılarına sahiplerinin cüzdanlarında para dondurma yetkisi veren arka kapılara sahiptir. DAI'nin herhangi bir doğrudan arka kapısı bulunmamakla birlikte, USDC'nin DAI basımı için teminat olarak kabul edilmesi nedeniyle varlıkları da olumsuz etkilenebilir. + +Bu endişelere rağmen, bu stabilcoinlerin güvenliği için zaten milyarlarca dolar bahis var. Zamanla protokole ek stabilcoinlerin eklenmesi mümkündür. Bu stabilcoinlerden herhangi birinin çok güvenilmez olduğu veya OUSD sahiplerinin fonlarını tehlikeye attığı durumlarda destek de kaldırılabilir. + diff --git a/tr/core-concepts/supported-assets/dai.md b/tr/core-concepts/supported-assets/dai.md new file mode 100644 index 000000000..4a81cac21 --- /dev/null +++ b/tr/core-concepts/supported-assets/dai.md @@ -0,0 +1,20 @@ +# DAI + +![](../../.gitbook/assets/dai.png) + +Dai, Aralık 2017'de Ethereum blok zincirinde ERC-20 belirteci olarak piyasaya sürülen fiat sabitlenmiş bir stabilcoin. Tek teminatlı Dai \ (SAI \) 'den çok teminatlı Dai \ (DAI \)' ye büyük bir yükseltme Kasım 2019'da tamamlandı. Dai, ABD dolarına sabitlendi. + +Dai, kullanıcılar kasa adı verilen teminatlandırılmış bir borç pozisyonunda \ (CDP \) teminat olarak ETH veya USDC gibi kripto varlıklarını kilitleyen kullanıcılar tarafından basıldı. Daha önce teminat olarak yalnızca ETH kabul ediliyordu. Her kasanın rezervleri ve durumu gerçek zamanlı olarak blok zincirinde görüntülenebilir. Bu kasaların ve Dai stablecoin'in sağlığı yakından izleniyor. + +Dai, 400 milyon doların üzerinde dolaşımda olan dünyanın üçüncü en büyük stabilcoinidir. Buna ek olarak, Compound ve Aave kredi platformlarında Dai'nin sentetik versiyonları olan cDAI ve aDAI, dolaşımda 600 milyon doların üzerinde bir araya geliyor. + +| Önemli gerçekler | | +|:---------------- |:------------------------------------------------------------------------------------------------------------------- | +| Veren kuruluş | MakerDAO | +| isim | Dai | +| Sembol | DAI | +| Adres | [0x6b175474e89094c44da98b954eedeac495271d0f](https://etherscan.io/token/0x6b175474e89094c44da98b954eedeac495271d0f) | +| Decimals | 18 | +| Resmi site | [https://makerdao.com/](https://makerdao.com/) | +| Sahipleri | 140 binden fazla adres | + diff --git a/tr/core-concepts/supported-assets/usdc.md b/tr/core-concepts/supported-assets/usdc.md new file mode 100644 index 000000000..45c59c497 --- /dev/null +++ b/tr/core-concepts/supported-assets/usdc.md @@ -0,0 +1,22 @@ +# USDC + +![](../../.gitbook/assets/usdc-coin-bd351fb779%20%281%29.png) + +Dai, Aralık 2017'de Ethereum blok zincirinde ERC-20 tokenı olarak piyasaya sürülen fiat sabitlenmiş bir stabilcoin. USDC, ABD dolarına sabitlenmiştir ve ABD doları için kolayca kullanılabilir. + +Her USDC, Circle ve Coinbase tarafından kurulan bir konsorsiyum olan Center üyeleri tarafından gözetim hesaplarında tutulan eşdeğer miktarda fiat para birimi ile 1: 1 oranında desteklenir. Merkez üyeleri, ABD'de yerleşik mali kurumlardır. Aylık rezerv denetimleri Grant Thornton LLP tarafından yayınlanmaktadır. + +USDC, USDT'den sonra dünyanın en büyük ikinci stabilcoinidir ve hızla dolaşımda 1 milyar doların üzerine çıktı. Ancak USDC, USDT'nin dolaşımdaki 12 + milyar $ 'ın çok gerisinde kalıyor. + +| Önemli gerçekler | | +|:---------------- |:------------------------------------------------------------------------------------------------------------------- | +| Veren kuruluş | Centre | +| isim | USD Coin | +| Sembol | USDC | +| Adres | [0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48](https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48) | +| Decimals | 6 | +| Resmi site | [https://www.centre.io/usdc](https://www.centre.io/usdc) | +| Sahipleri | 140 binden fazla adres | + + + diff --git a/tr/core-concepts/supported-assets/usdt.md b/tr/core-concepts/supported-assets/usdt.md new file mode 100644 index 000000000..8d6fab832 --- /dev/null +++ b/tr/core-concepts/supported-assets/usdt.md @@ -0,0 +1,22 @@ +# USDT + +![](../../.gitbook/assets/image%20%281%29.png) + +Tether \ (USDT \), başlangıçta Omni Katman Protokolü aracılığıyla Bitcoin'in üzerine inşa edilen fiat sabitlenmiş bir stabilcoin'dir. Eylül 2017'de Tether, Ethereum blockchain'de ABD doları için ek ERC-20 tokenleri piyasaya süreceğini duyurdu. + +Dolaşıma sokulan her Tether'in, kripto para borsası Bitfinex ile yakın bağları olan Hong Kong merkezli bir şirket olan Tether Limited tarafından bir gözetim hesabında tutulan eşdeğer miktarda itibari para ile bire bir oranla desteklendiği söyleniyor. + +Tartışmalara rağmen **** şirketin bağları destekleyen yeterli rezervleri gösteren vaat edilmiş bir denetim sağlamadaki başarısızlığına rağmen, USDT hala piyasa değeri açısından dünyanın en büyük stabilcoin'i ve şu anda BTC, ETH ve XRP'den sonra dördüncü en büyük kripto para birimi. + +| Önemli gerçekler | | +|:---------------- |:---------------------------------------------------------------------------------------------------------------- | +| Veren kuruluş | Tether Limited | +| isim | Tether | +| Sembol | USDT | +| Adres | [0xdac17f958d2ee523a2206206994597c13d831](https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7) | +| Ondalık sayılar | 6 | +| Resmi site | [https://tether.to/ ](https://tether.to/%20) | +| Sahipleri | 140 binden fazla adres | + + + diff --git a/tr/core-concepts/supported-defi-platforms/README.md b/tr/core-concepts/supported-defi-platforms/README.md new file mode 100644 index 000000000..8103f0c31 --- /dev/null +++ b/tr/core-concepts/supported-defi-platforms/README.md @@ -0,0 +1,30 @@ +# Desteklenen DeFi Platformları + +**Desteklenen DeFi Platformları** + +OUSD, stabilcoinleri borç verme platformlarına ve piyasa yapıcı likidite havuzlarına yatırarak getiri üretir. Bu platformların teknolojik risk taşıdığını ve büyük bir güvenlik olayı olması durumunda fonların kaybedilebileceğini anlamak önemlidir. Akıllı sözleşmelerini denetleyen ve en güvende hissettiğimiz platformlarla çalışmayı seçiyoruz. + +Şu anda aşağıdaki platformlardan getiri elde etmeyi planlıyoruz: + +{% page-ref page="compound.md" %} + +Şu anda aşağıdaki platformlar için entegrasyonlar planlanmaktadır: + +{% page-ref page="aave.md" %} + +{% page-ref page="dydx.md" %} + +{% page-ref page="uniswap.md" %} + +{% page-ref page="curve.md" %} + +{% page-ref page="balancer.md" %} + +{% page-ref page="yearn.finance.md" %} + +DeFi çok hızlı bir şekilde büyümesine ve şu anda bu platformlara yatırılan milyarlarca dolar değerinde değer olmasına rağmen, bu projelerin birçoğu hala beta aşamasındadır ve oldukça deneyseldir. Bu platformlara güç veren akıllı sözleşmelerde gizli güvenlik açıkları olabilir ve geçmişte Ethereum uygulamalarındaki güvenlik açıklarının neden olduğu multi milyon dolarlık kayıplar olmuştur. + +Desteklediğimiz platformlardaki güvenlik olaylarını yakından izliyoruz ve herhangi bir tehdit tespit edersek, derhal OUSD sahibi fonlarını korumak için harekete geçeceğiz. + + + diff --git a/tr/core-concepts/supported-defi-platforms/aave.md b/tr/core-concepts/supported-defi-platforms/aave.md new file mode 100644 index 000000000..2e1dfafd5 --- /dev/null +++ b/tr/core-concepts/supported-defi-platforms/aave.md @@ -0,0 +1,25 @@ +# Aave + +{% hint style="bilgi" %} +Çok yakında. Aave henüz entegre edilmedi. +{% endhint %} + +Aave, Ethereum üzerine kurulu bir borç verme protokolü ve platformudur ve ETHLend'in yaratıcıları tarafından Ocak 2020'de başlatılmıştır. Aave'deki kullanıcılar, varlıkları teminat karşılığında bileşik faiz kazanabilir veya ödünç alabilir. Desteklenen her varlık kendi likidite havuzunda toplanır ve kullanıcılar arz ve talebe dayalı değişken faiz oranı veya sabit faiz oranı arasında seçim yapabilir. + +Teminat bakiyeleri, temsil ettikleri dayanak varlıklara 1: 1 oranında ERC-20 aTokens tarafından temsil edilir. Faiz otomatik olarak birleştirilir ve aTokens ile borç verenlere ödenir, yani borç verenler aToken bakiyelerinin zaman içinde istikrarlı bir şekilde arttığını göreceklerdir. Kullanıcılar varlıkları aToken'larına karşı ödünç alabilir. aTokenler serbestçe aktarılabilir ve diğer birçok DeFi protokolünde kullanılabilir. aTokens, temel teminatları için herhangi bir zamanda itfa edilebilir. + +Aave, kullanıcıların kredinin bakiyesini tek bir işlemde ödünç aldığı ve geri ödediği teminatsız krediler olan flaş kredileri destekler, yani flaş kredi kullanıcılarının herhangi bir başlangıç sermayesi koymalarına gerek yoktur. Flash krediler, geliştiricilere yönelik karmaşık bir üründür ve birden fazla DeFi protokolünde arbitraj yapmak için kullanılabilir. + +Aave şu anda daha önce ETHLend için yardımcı program belirteci olan bir ERC-20 tokenı olan LEND tarafından yönetilmektedir. Aave, kullanıcıların stake etme ödüllü yeni bir ERC-20 yönetişim tokenı olan AAVE için LEND alışverişi yaptıkları bir token takası içeren tamamen merkezi olmayan yönetişime geçişi duyurdu. Bir miktar AAVE, bir likidite madenciliği kampanyasında platformun kullanıcılarına dağıtılacaktır. + +Aave'nin kilitli toplam değeri (TVL \) hızla 1,2 milyar doların üzerine çıktı ve bu onu en büyük DeFi protokollerinden biri haline getirdi. LEND, 700 milyon doların üzerinde dolaşımdaki piyasa değerine sahiptir. + +Aave, OpenZeppelin, Trail of Bits ve Consensys Diligence tarafından güvenlik denetimlerinden geçti. Aave, bir hata ödül programı sürdürmektedir. + +| kaynaklar | | +|:--------------------- |:------------------------------------------------------------------------------ | +| Resmi site | [https://aave.com/](https://aave.com/) | +| Geliştirici belgeleri | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/aave/aave-protocol](https://github.com/aave/aave-protocol) | +| Discord | [https://discordapp.com/invite/AnSqnvV](https://discordapp.com/invite/AnSqnvV) | + diff --git a/tr/core-concepts/supported-defi-platforms/balancer.md b/tr/core-concepts/supported-defi-platforms/balancer.md new file mode 100644 index 000000000..ae7dc1086 --- /dev/null +++ b/tr/core-concepts/supported-defi-platforms/balancer.md @@ -0,0 +1,27 @@ +# Balancer + +{% hint style="bilgi" %} +Çok yakında. Balancer henüz entegre edilmedi. +{% endhint %} + +Balancer, Mart 2020'de başlatılan, merkezi olmayan bir likidite protokolü ve Ethereum'da borsadır. Kullanıcılar, ERC-20 tokenlerini bir ücret karşılığında takas edebilir veya ücret kazanmak için likidite havuzlarına token katkıda bulunabilir. + +Balancer özel ağırlıklara sahip 8 farklı varlığa kadar likidite havuzlarına izin veren Otomatik bir Piyasa Yapıcıdır \ (AMM \). Balancer üzerindeki likidite havuzları, Borsa Yatırım Fonları \ (ETF'ler \) veya belirli varlıklar için ağırlık hedefleri olan portföylere benzer şekilde düşünülebilir. Ticaret, havuzun hedef ağırlık dağılımından kaymasına neden olursa, havuzdaki varlıklar arasındaki döviz kurları değişir. Arbitrajcılar bundan yararlanmak için alım satım gerçekleştirebilir ve havuzu hedef ağırlık dağılımına yeniden dengelemek için hareket edebilir. Likidite, diğer AMM'lerin aksine havuzlar arasında da paylaşılabilir. + +Balancer, yalnızca havuz sahibinin likiditeye katkıda bulunabileceği özel havuzları, tamamen herkese açık olan paylaşılan havuzları ve otomatik kurallar ve mantığı uygulayabilen akıllı bir sözleşme ile kontrol edilen paylaşılan havuzlar olan akıllı havuzları destekler. Likidite sağlayıcılarına, belirli bir havuzdaki paylarını ve ücretleri temsil eden Dengeleyici Havuz Tokenları \ (BPT'ler \) verilir. Bu tokenlar serbestçe aktarılabilir ve sağlanan varlıklar ve tahakkuk eden ücretler için kullanılabilir. + +Tokenlerinin likiditesini artırmak isteyen token ihraççıları, likidite madenciliği kampanyalarında likidite sağlayıcılarına teşvikler sundular. Yeni token ihraç edenler de tokenlarını Dengeleyici havuzlarında başlattı. + +Balancer, bir ERC-20 yönetişim tokenı olan BAL tarafından yönetilmektedir. BAL sahipleri protokol değişikliklerine oy verebilir. BAL sürekli olarak likidite sağlayıcılarına verilir ve toplam BAL arzının büyük bir kısmı ekibe ve yatırımcılara sürekli bir hakediş programına tahsis edildi. + +Balancer'daki ticaret hacimleri genellikle günlük 25 milyon doların üzerindedir. Dengeleyici, yazı yazarken likidite sağlayıcıları tarafından 250 milyon $ 'ın üzerinde Kilitli Toplam Değere \ (TVL \) sahiptir. + +Balancer, Trail of Bits tarafından bir güvenlik denetiminden geçti ve bir hata ödül programı var. Ancak, Dengeleyici Haziran 2020'de büyük bir istismara uğradı. + +| kaynaklar | | +|:--------------------- |:-------------------------------------------------------------------- | +| Resmi site | [https://balancer.finance/](https://balancer.finance/) | +| Geliştirici belgeleri | [https://docs.balancer.finance/](https://docs.balancer.finance/) | +| GitHub | [https://github.com/balancer-labs](https://github.com/balancer-labs) | +| Discord | [https://discord.gg/ARJWaeF](https://discord.gg/ARJWaeF) | + diff --git a/tr/core-concepts/supported-defi-platforms/compound.md b/tr/core-concepts/supported-defi-platforms/compound.md new file mode 100644 index 000000000..63904a759 --- /dev/null +++ b/tr/core-concepts/supported-defi-platforms/compound.md @@ -0,0 +1,19 @@ +# Compound + +Compound, Ethereum üzerine kurulmuş bir borç verme protokolü ve platformudur ve Eylül 2018'de piyasaya sürülmüştür. Kullanıcılar varlıklardan bileşik faiz kazanabilir veya teminat karşılığında ödünç alabilir. Desteklenen her varlık kendi likidite havuzunda toplanır ve faiz oranları arz ve talebe göre otomatik olarak ayarlanır. + +Teminat bakiyeleri, temsil ettikleri dayanak varlığa göre zaman içinde otomatik olarak faiz tahakkuk eden ve değerde artış sağlayan ERC-20 cTokens ile temsil edilir. Kullanıcılar varlıkları cToken'larının değerine göre ödünç alabilir. cTokenler serbestçe aktarılabilir ve diğer birçok DeFi protokolünde kullanılabilir. cTokens, temel teminatları için herhangi bir zamanda itfa edilebilir. + +Compound, bir ERC-20 yönetişim belirteci olan COMP tarafından yönetilir. COMP sahipleri protokol değişikliklerini önerebilir ve oylayabilir veya oylarını başka birine devredebilir. COMP tokenleri, borç alanlar ve borç verenler arasında eşit olarak bölünerek, protokol kullanıcılarına günlük olarak orantılı olarak verilir. COMP token arzının büyük bir kısmı Compound ekibi, yatırımcılar ve danışmanlar tarafından tutuldu. + +Compound'un kilitli toplam değeri \ (TVL \) hızla yaklaşık 800 milyon dolara yükseldi ve bu da onu en büyük DeFi protokollerinden biri haline getirdi. COMP, 500 milyon doların üzerinde dolaşımdaki piyasa değerine sahiptir. + +Bileşik, OpenZeppelin ve Trail of Bits tarafından birçok güvenlik denetiminden geçti. Bileşik protokolü resmi olarak CertiK tarafından doğrulandı ve Gauntlet tarafından ekonomik stres testine tabi tutuldu. Compound, bir hata ödül programı sürdürmektedir. + +| Kaynaklar | | +|:--------------------- |:-------------------------------------------------------------------------------------------------------------- | +| Resmi site | [https://compound.finance/](https://compound.finance/) | +| Geliştirici belgeleri | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/compound-finance/compound-protocol](https://github.com/compound-finance/compound-protocol) | +| Discord | [https://discord.com/invite/cU7vmVW](https://discord.com/invite/cU7vmVW) | + diff --git a/tr/core-concepts/supported-defi-platforms/curve.md b/tr/core-concepts/supported-defi-platforms/curve.md new file mode 100644 index 000000000..70135cd32 --- /dev/null +++ b/tr/core-concepts/supported-defi-platforms/curve.md @@ -0,0 +1,25 @@ +# Curve + +{% hint style="bilgi" %} +Çok yakında. Aave henüz entegre edilmedi. +{% endhint %} + +Curve, merkezi olmayan bir likidite protokolü ve Ethereum'da stabilcoinler ve sarılmış BTC için takas, Ocak 2020'de başlatıldı. Kullanıcılar, popüler ERC-20 stabilcoinler arasında veya bitcoin'in ERC-20 temsilleri arasında geçiş yapabilirler. Likidite sağlayıcıları ticareti kolaylaştırır ve ücret alır. + +Eğri, her bir piyasanın USDT, USDC, DAI ve TUSD gibi aynı değere sahip olması gereken iki veya daha fazla varlığa sahip ilişkili bir likidite havuzuna sahip olduğu bir Otomatik Piyasa Yapıcı \ (AMM \) 'dır. Her bir stablecoin ile bunların nispi ağırlıkları arasındaki döviz kuru, arz ve talebe dayalı bir algoritma tarafından belirlenir. Arbitrajcılar bu döviz kurlarını normalleştirmek için hareket ederler. + +Curve'nin likidite havuzlarından bazıları, tüccarlardan alınan döviz ücretlerinin yanı sıra likidite sağlayıcıları için ekstra ücretler kazanır. Curve; Compound, yearn.finance ve Synthetix ile entegre stabilcoin havuzları sunar. Her likidite havuzundaki varlıklar, her havuzun likidite sağlayıcılarına aktarılan ek getiri elde etmek için bu platformlara sağlanır. Likidite Sağlayıcı \ (LP \) tokenlar havuz katılımcılarına verilir ve sağlanan ilk likidite artı tahakkuk eden ücretler ve getiri için kullanılabilir. LP tokenları ayrıca diğer protokollerde kullanılmak üzere aktarılabilir. + +Curve, bir ERC-20 yönetişim tokenı olan CRV tarafından yönetilir. CRV sahipleri protokol değişikliklerine oy verebilir. CRV sahipleri, tokenlerini stake edilen zamanla orantılı ek oylama gücü için stake edebilirler. CRV, sürekli olarak likidite sağlayıcılarına verilir ve toplam CRV arzının büyük bir kısmı, sürekli bir hakediş programına göre ekibe ve yatırımcılara tahsis edilmiştir. + +Curve'deki işlem hacimleri genellikle günlük 50 milyon doların üzerindedir. Curve, yazım sırasında likidite sağlayıcıları tarafından 1 milyar $ 'ın üzerinde Kilitlenmiş Toplam Değere \ (TVL \) sahiptir. + +Curve, Trail of Bits tarafından iki denetimden geçmiştir ve bir hata ödül programı sürdürmektedir. + +| Kaynaklar | | +|:--------------------- |:------------------------------------------------------------------------ | +| Resmi site | [https://uniswap.org/](https://uniswap.org/) | +| Geliştirici belgeleri | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/tr/core-concepts/supported-defi-platforms/dydx.md b/tr/core-concepts/supported-defi-platforms/dydx.md new file mode 100644 index 000000000..c44e2185b --- /dev/null +++ b/tr/core-concepts/supported-defi-platforms/dydx.md @@ -0,0 +1,27 @@ +# dYdX + +{% hint style="bilgi" %} +Çok yakında. Aave henüz entegre edilmedi. +{% endhint %} + +dYdX, Ethereum üzerine kurulmuş bir ticaret ve borç verme protokolü ve platformudur ve Mayıs 2019'da kullanıma sunulmuştur. Kullanıcılar, dYdX'in gözetimsiz, merkezi olmayan borsasında varlık ticareti yapabilir veya borçlanma ve borç verme işlemlerine katılabilir. Borç verme protokolü, marj ve vadeli işlemlere olanak sağlar. Faiz oranları arz ve talebe göre ayarlanır ve sadece kısa vadeli krediler sunulur. + +Borçlanma ve ödünç verme için mevcut varlıklar için likidite, varlık türüne göre birlikte havuzlanır. Borç verenlere ödenen faiz otomatik olarak tahakkuk ettirilir ve borçluların kredi almak için teminat vermesi gerekir. + +Aave, kullanıcıların kredinin bakiyesini tek bir işlemde ödünç aldığı ve geri ödediği teminatsız krediler olan flaş kredileri destekler, yani flaş kredi kullanıcılarının herhangi bir başlangıç sermayesi koymalarına gerek yoktur. Flash krediler, geliştiricilere yönelik karmaşık bir üründür ve birden fazla DeFi protokolünde arbitraj yapmak için kullanılabilir. + +dYdX, bu yazının yazıldığı tarihte kilitlenmiş toplam değeri yaklaşık 40 milyon $ 'dır (TVL \). dYdX'in yerel bir tokenı yoktur. + +dYdX, OpenZeppelin ve Bramah Systems tarafından güvenlik denetimlerine tabi tutulmuştur. + +| Kaynaklar | | +|:--------------------- |:-------------------------------------------------------------------- | +| Resmi site | [https://dydx.exchange/](https://dydx.exchange/) | +| Geliştirici belgeleri | [https://docs.dydx.exchange/](https://docs.dydx.exchange/) | +| GitHub | [https://github.com/dydxprotocol/](https://github.com/dydxprotocol/) | +| Discord | [https://discord.gg/yah42Rb](https://discord.gg/yah42Rb) | + + + + + diff --git a/tr/core-concepts/supported-defi-platforms/uniswap.md b/tr/core-concepts/supported-defi-platforms/uniswap.md new file mode 100644 index 000000000..39035f9fb --- /dev/null +++ b/tr/core-concepts/supported-defi-platforms/uniswap.md @@ -0,0 +1,27 @@ +# Uniswap + +{% hint style="bilgi" %} +Çok yakında. Uniswap henüz entegre edilmedi. +{% endhint %} + +Uniswap, Kasım 2018'de başlatılan, merkezi olmayan bir likidite protokolü ve Ethereum üzerinde olan borsadır. Uniswap v2, Mayıs 2020'de kullanıma sunuldu. Kullanıcılar, ERC-20 tokenlerini bir ücret karşılığında takas edebilir veya ücret kazanmak için likidite havuzlarına token katkıda bulunabilir. + +Uniswap'teki piyasalar, sipariş defterleri yerine likidite havuzları olarak çalışır. Bu tür borsaya Otomatik Piyasa Yapıcı \ (AMM \) denir. İki varlık arasındaki döviz kuru, sabit bir ürün formülüyle belirlenir ve havuzdaki her bir varlığın göreli ağırlığına bağlı olarak bir fiyat eğrisi boyunca hareket eder. Bu, arbitrajcıları nispi ağırlıkları yeniden dengelemek ve döviz kurunu normalleştirmek için likidite havuzlarına girmeye teşvik eder. + +Belirli bir havuzda yeterli likidite yoksa tüccarlar düşüş yaşayabilir ve uygun olmayan döviz kurlarından korunamayabilir. Likidite sağlayıcıları, havuz döviz kuru piyasa gerçekleriyle eşleşmediğinde ve arbitrajcılar fiyat eğrisi boyunca alım satım gerçekleştirdiğinde süresiz zarara uğrayabilir. + +Havuz katılımcılarına, belirli bir havuzda sağlanan likidite paylarına karşılık gelen Uniswap Likidite Sağlayıcısı \ (LP \) tokenları verilir. Bu LP tokenleri serbestçe transfer edilebilir. Katılımcılar, sağlanan varlıklar ve tahakkuk eden ücretler için bu tokenları kullanarak istedikleri zaman havuzlardan çıkabilirler. + +Tokenlerinin likiditesini artırmak isteyen token ihraççıları, likidite madenciliği kampanyalarında likidite sağlayıcılarına teşvikler sundular. Yeni token ihraç edenler de tokenlerini Uniswap havuzlarında başlattı. + +Uniswap'teki ticaret hacimleri artık birçok geleneksel borsayı gölgede bırakıyor ve düzenli olarak günlük 200 milyon doları aşıyor. Uniswap, likidite sağlayıcıları tarafından Kilitli Toplam Değer \ (TVL \) olarak 170 milyon dolardan fazla var. Uniswap'in yerel bir platformu veya yönetim tokenı yoktur. + +Uniswap, akıllı sözleşmelerini denetledi ve dapp.org tarafından resmi olarak onaylandı. Uniswap, bir hata ödül programı tutar. + +| Kaynaklar | | +|:--------------------- |:------------------------------------------------------------------------ | +| Resmi site | [https://uniswap.org/](https://uniswap.org/) | +| Geliştirici belgeleri | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/tr/core-concepts/supported-defi-platforms/yearn.finance.md b/tr/core-concepts/supported-defi-platforms/yearn.finance.md new file mode 100644 index 000000000..599f9eca9 --- /dev/null +++ b/tr/core-concepts/supported-defi-platforms/yearn.finance.md @@ -0,0 +1,25 @@ +# Yearn.finance + +{% hint style="bilgi" %} +Çok yakında. Yearn.finance henüz entegre edilmedi. +{% endhint %} + +Eski adıyla iEarn.finance olan Yearn.finance, Ethereum üzerine kurulmuş bir getiri toplama platformudur ve Ocak 2020'de Andre Cronje tarafından başlatılmıştır. Yearn, sermaye yatıran kullanıcılar adına bir otomasyon ve insani karar verme kombinasyonunu kullanarak yield farming ve yeniden dengeleme stratejilerini yönetir. + +Yearn'ın iki getiri toplama ürünü vardır: Kazan ve Kasalar. Kazanç, kullanıcıların ücretler ve yönetişim tokenı ödülleri kazanmak için Curve üzerindeki likidite havuzlarına stabilcoin yatırmalarına veya BTC'yi sarmalarına olanak tanır. Bu varlıklar, kazanılan getiriye ek olarak yüksek getiri ve token ödülleri sunan platformlarda da ödünç verilir. + +Kasalar daha otomatik ve yönetilen bir deneyim sunar. Kullanıcılar LINK, Curve likidite sağlayıcı tokenleri veya stablecoins gibi varlıkları yatırır ve Vault bu varlıkları bir araya toplar ve topluluk ve Andre Cronje tarafından güvenli kabul edilen en yüksek kazançlı (yield farming ) tarım stratejisini uygular. Ödül olarak kazanılan yönetim tokenları, yatırılan orijinal varlık için satılır ve diğer ücretlerle birleştirilir ve bileşik getiri için otomatik olarak Kasaya aktarılır. Stratejiler sık sık değiştirilebilir ve varlıkları bir araya toplamak, kullanıcılar için gaz maliyetlerinden tasarruf sağlar. + +Yearn, bir ERC-20 yönetişim tokenı olan YFI tarafından yönetilmektedir. YFI sahipleri, YFI'larını 3 gün süreyle kilitlemeyi kabul ettikten sonra protokol değişiklikleri için oy kullanabilir. YFI ayrıca yönetim portalında getiri için stake edilebilir. Bu getiri, Yearn ürünlerinde kullanıcılardan alınan ücretlerden gelir. YFI tamamen Curve ve Balancer'daki likidite sağlayıcılarına dağıtıldı. Ekip üyeleri veya yatırımcılar için tahsis yoktu. + +Yearn'ın toplam değeri kilitlendi \ (TVL \) hızla 800 milyon doların üzerine çıktı ve bu onu en büyük DeFi platformlarından biri haline getirdi. YFI'nin 400 milyon doların üzerinde dolaşımdaki piyasa değeri var. + +Yearn, CertiK, Quantstamp, HackMD ve CryptoManiacs tarafından çok sayıda güvenlik ve akıllı sözleşme denetiminden geçti. Yearn, deneysel ürünleri çok hızlı piyasaya sürmekle ünlüdür ve kullanıcıları ürünlerinin beta sürümünde olduğu konusunda uyarır. + +| Kaynaklar | | +|:--------------------- |:-------------------------------------------------------------------- | +| Resmi site | [https://yearn.finance/](https://yearn.finance/) | +| Geliştirici belgeleri | [https://docs.yearn.finance/](https://docs.yearn.finance/) | +| GitHub | [https://github.com/iearn-finance](https://github.com/iearn-finance) | +| Discord | [https://discord.gg/uTmHe8r](https://discord.gg/uTmHe8r) | + diff --git a/tr/core-concepts/supported-platforms/README.md b/tr/core-concepts/supported-platforms/README.md new file mode 100644 index 000000000..b94760dae --- /dev/null +++ b/tr/core-concepts/supported-platforms/README.md @@ -0,0 +1,32 @@ +# Desteklenen Platformlar + +**Desteklenen Platformlar** + +OUSD, stabilcoinleri borç verme platformlarına ve piyasa yapıcı likidite havuzlarına yatırarak getiri üretir. Bu platformların teknolojik risk taşıdığını ve büyük bir güvenlik olayı olması durumunda fonların kaybedilebileceğini anlamak önemlidir. Akıllı sözleşmelerini denetleyen ve en güvende hissettiğimiz platformlarla çalışmayı seçiyoruz. + +Şu anda aşağıdaki platformlardan getiri elde etmeyi planlıyoruz: + +{% page-ref page="compound.md" %} + +Şu anda aşağıdaki platformlar için entegrasyonlar planlanmaktadır: + +{% page-ref page="yearn.finance.md" %} + +{% page-ref page="compound.md" %} + +{% page-ref page="aave.md" %} + +{% page-ref page="dydx.md" %} + +{% page-ref page="uniswap.md" %} + +{% page-ref page="curve.md" %} + +{% page-ref page="balancer.md" %} + +DeFi çok hızlı bir şekilde büyümesine ve şu anda bu platformlara yatırılan milyarlarca dolar değerinde değer olmasına rağmen, bu projelerin birçoğu hala beta aşamasındadır ve oldukça deneyseldir. Bu platformlara güç veren akıllı sözleşmelerde gizli güvenlik açıkları olabilir ve geçmişte Ethereum uygulamalarındaki güvenlik açıklarının neden olduğu multi milyon dolarlık kayıplar olmuştur. + +Desteklediğimiz platformlardaki güvenlik olaylarını yakından izliyoruz ve herhangi bir tehdit tespit edersek, derhal OUSD sahibi fonlarını korumak için harekete geçeceğiz. + + + diff --git a/tr/core-concepts/supported-platforms/aave.md b/tr/core-concepts/supported-platforms/aave.md new file mode 100644 index 000000000..4ebd2f146 --- /dev/null +++ b/tr/core-concepts/supported-platforms/aave.md @@ -0,0 +1,25 @@ +# Aave + +{% hint style="bilgi" %} +Çok yakında. Aave henüz entegre edilmedi. +{% endhint %} + +Aave, Ethereum üzerine kurulu bir borç verme protokolü ve platformudur ve ETHLend'in yaratıcıları tarafından Ocak 2020'de başlatılmıştır. Aave'deki kullanıcılar, varlıkları teminat karşılığında bileşik faiz kazanabilir veya ödünç alabilir. Desteklenen her varlık kendi likidite havuzunda toplanır ve kullanıcılar arz ve talebe dayalı değişken faiz oranı veya sabit faiz oranı arasında seçim yapabilir. + +Teminat bakiyeleri, temsil ettikleri dayanak varlıklara 1: 1 oranında ERC-20 aTokens tarafından temsil edilir. Faiz otomatik olarak birleştirilir ve aTokens ile borç verenlere ödenir, yani borç verenler aToken bakiyelerinin zaman içinde istikrarlı bir şekilde arttığını göreceklerdir. Kullanıcılar varlıkları aToken'larına karşı ödünç alabilir. aTokenler serbestçe aktarılabilir ve diğer birçok DeFi protokolünde kullanılabilir. aTokens, temel teminatları için herhangi bir zamanda itfa edilebilir. + +Aave, kullanıcıların kredinin bakiyesini tek bir işlemde ödünç aldığı ve geri ödediği teminatsız krediler olan flaş kredileri destekler, yani flaş kredi kullanıcılarının herhangi bir başlangıç sermayesi koymalarına gerek yoktur. Flash krediler, geliştiricilere yönelik karmaşık bir üründür ve birden fazla DeFi protokolünde arbitraj yapmak için kullanılabilir. + +Aave şu anda daha önce ETHLend için yardımcı program tokenı olan bir ERC-20 tokenı olan LEND tarafından yönetilmektedir. Aave, kullanıcıların stake etme ödüllü yeni bir ERC-20 yönetişim tokenı olan AAVE için LEND alışverişi yaptıkları bir token takası içeren tamamen merkezi olmayan yönetişime geçişi duyurdu. Bir miktar AAVE, bir likidite madenciliği kampanyasında platformun kullanıcılarına dağıtılacaktır. + +Aave'nin kilitli toplam değeri (TVL \) hızla 1,2 milyar doların üzerine çıktı ve bu onu en büyük DeFi protokollerinden biri haline getirdi. LEND, 700 milyon doların üzerinde dolaşımdaki piyasa değerine sahiptir. + +Aave, OpenZeppelin, Trail of Bits ve Consensys Diligence tarafından güvenlik denetimlerinden geçti. Aave, bir hata ödül programı sürdürmektedir. + +| Kaynaklar | | +|:--------------------- |:------------------------------------------------------------------------------ | +| Resmi site | [https://aave.com/](https://aave.com/) | +| Geliştirici belgeleri | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/aave/aave-protocol](https://github.com/aave/aave-protocol) | +| Discord | [https://discordapp.com/invite/AnSqnvV](https://discordapp.com/invite/AnSqnvV) | + diff --git a/tr/core-concepts/supported-platforms/balancer.md b/tr/core-concepts/supported-platforms/balancer.md new file mode 100644 index 000000000..04767c755 --- /dev/null +++ b/tr/core-concepts/supported-platforms/balancer.md @@ -0,0 +1,27 @@ +# Balancer + +{% hint style="bilgi" %} +Çok yakında. Balancer henüz entegre edilmedi. +{% endhint %} + +Balancer, Mart 2020'de başlatılan, merkezi olmayan bir likidite protokolü ve Ethereum'da borsadır. Kullanıcılar, ERC-20 tokenlerini bir ücret karşılığında takas edebilir veya ücret kazanmak için likidite havuzlarına token katkıda bulunabilir. + +Balancer özel ağırlıklara sahip 8 farklı varlığa kadar likidite havuzlarına izin veren Otomatik bir Piyasa Yapıcıdır \ (AMM \). Balancer üzerindeki likidite havuzları, Borsa Yatırım Fonları \ (ETF'ler \) veya belirli varlıklar için ağırlık hedefleri olan portföylere benzer şekilde düşünülebilir. Ticaret, havuzun hedef ağırlık dağılımından kaymasına neden olursa, havuzdaki varlıklar arasındaki döviz kurları değişir. Arbitrajcılar bundan yararlanmak için alım satım gerçekleştirebilir ve havuzu hedef ağırlık dağılımına yeniden dengelemek için hareket edebilir. Likidite, diğer AMM'lerin aksine havuzlar arasında da paylaşılabilir. + +Balancer, yalnızca havuz sahibinin likiditeye katkıda bulunabileceği özel havuzları, tamamen herkese açık olan paylaşılan havuzları ve otomatik kurallar ve mantığı uygulayabilen akıllı bir sözleşme ile kontrol edilen paylaşılan havuzlar olan akıllı havuzları destekler. Likidite sağlayıcılarına, belirli bir havuzdaki paylarını ve ücretleri temsil eden Dengeleyici Havuz Tokenları \ (BPT'ler \) verilir. Bu tokenlar serbestçe aktarılabilir ve sağlanan varlıklar ve tahakkuk eden ücretler için kullanılabilir. + +Tokenlerinin likiditesini artırmak isteyen token ihraççıları, likidite madenciliği kampanyalarında likidite sağlayıcılarına teşvikler sundular. Yeni token ihraç edenler de tokenlarını Balancer havuzlarında başlattı. + +Balancer, bir ERC-20 yönetişim tokenı olan BAL tarafından yönetilmektedir. BAL sahipleri protokol değişikliklerine oy verebilir. BAL sürekli olarak likidite sağlayıcılarına verilir ve toplam BAL arzının büyük bir kısmı ekibe ve yatırımcılara sürekli bir hakediş programına tahsis edildi. + +Balancer'daki ticaret hacimleri genellikle günlük 25 milyon doların üzerindedir. Dengeleyici, yazı yazarken likidite sağlayıcıları tarafından 250 milyon $ 'ın üzerinde Kilitli Toplam Değere \ (TVL \) sahiptir. + +Balancer, Trail of Bits tarafından bir güvenlik denetiminden geçti ve bir hata ödül programı var. Ancak, Dengeleyici Haziran 2020'de büyük bir istismara uğradı. + +| Kaynaklar | | +|:--------------------- |:-------------------------------------------------------------------- | +| Resmi site | [https://balancer.finance/](https://balancer.finance/) | +| Geliştirici belgeleri | [https://docs.balancer.finance/](https://docs.balancer.finance/) | +| GitHub | [https://github.com/balancer-labs](https://github.com/balancer-labs) | +| Discord | [https://discord.gg/ARJWaeF](https://discord.gg/ARJWaeF) | + diff --git a/tr/core-concepts/supported-platforms/compound.md b/tr/core-concepts/supported-platforms/compound.md new file mode 100644 index 000000000..0d678f66c --- /dev/null +++ b/tr/core-concepts/supported-platforms/compound.md @@ -0,0 +1,19 @@ +# Compound + +Compound, Ethereum üzerine kurulmuş bir borç verme protokolü ve platformudur ve Eylül 2018'de piyasaya sürülmüştür. Kullanıcılar varlıklardan bileşik faiz kazanabilir veya teminat karşılığında ödünç alabilir. Desteklenen her varlık kendi likidite havuzunda toplanır ve faiz oranları arz ve talebe göre otomatik olarak ayarlanır. + +Teminat bakiyeleri, temsil ettikleri dayanak varlığa göre zaman içinde otomatik olarak faiz tahakkuk eden ve değerde artış sağlayan ERC-20 cTokens ile temsil edilir. Kullanıcılar varlıkları cToken'larının değerine göre ödünç alabilir. cTokenler serbestçe aktarılabilir ve diğer birçok DeFi protokolünde kullanılabilir. cTokens, temel teminatları için herhangi bir zamanda itfa edilebilir. + +Compound, bir ERC-20 yönetişim belirteci olan COMP tarafından yönetilir. COMP sahipleri protokol değişikliklerini önerebilir ve oylayabilir veya oylarını başka birine devredebilir. COMP tokenleri, borç alanlar ve borç verenler arasında eşit olarak bölünerek, protokol kullanıcılarına günlük olarak orantılı olarak verilir. COMP token arzının büyük bir kısmı Compound ekibi, yatırımcılar ve danışmanlar tarafından tutuldu. + +Compound'un kilitli toplam değeri \ (TVL \) hızla yaklaşık 800 milyon dolara yükseldi ve bu da onu en büyük DeFi protokollerinden biri haline getirdi. COMP, 500 milyon doların üzerinde dolaşımdaki piyasa değerine sahiptir. + +Compound, OpenZeppelin ve Trail of Bits tarafından birçok güvenlik denetiminden geçti. Compound protocol resmi olarak CertiK tarafından doğrulandı ve Gauntlet tarafından ekonomik stres testine tabi tutuldu. Compound, bir hata ödül programı sürdürmektedir. + +| Kaynaklar | | +|:--------------------- |:-------------------------------------------------------------------------------------------------------------- | +| Resmi site | [https://compound.finance/](https://compound.finance/) | +| Geliştirici belgeleri | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/compound-finance/compound-protocol](https://github.com/compound-finance/compound-protocol) | +| Discord | [https://discord.com/invite/cU7vmVW](https://discord.com/invite/cU7vmVW) | + diff --git a/tr/core-concepts/supported-platforms/curve.md b/tr/core-concepts/supported-platforms/curve.md new file mode 100644 index 000000000..c465af47d --- /dev/null +++ b/tr/core-concepts/supported-platforms/curve.md @@ -0,0 +1,25 @@ +# Curve + +{% hint style="bilgi" %} +Çok yakında. Curve henüz entegre edilmedi. +{% endhint %} + +Curve, merkezi olmayan bir likidite protokolü ve Ethereum'da stabilcoinler ve sarılmış BTC için takas, Ocak 2020'de başlatıldı. Kullanıcılar, popüler ERC-20 stabilcoinler arasında veya bitcoin'in ERC-20 temsilleri arasında geçiş yapabilirler. Likidite sağlayıcıları ticareti kolaylaştırır ve ücret alır. + +Eğri, her bir piyasanın USDT, USDC, DAI ve TUSD gibi aynı değere sahip olması gereken iki veya daha fazla varlığa sahip ilişkili bir likidite havuzuna sahip olduğu bir Otomatik Piyasa Yapıcı \ (AMM \) 'dır. Her bir stablecoin ile bunların nispi ağırlıkları arasındaki döviz kuru, arz ve talebe dayalı bir algoritma tarafından belirlenir. Arbitrajcılar bu döviz kurlarını normalleştirmek için hareket ederler. + +Curve'nin likidite havuzlarından bazıları, tüccarlardan alınan döviz ücretlerinin yanı sıra likidite sağlayıcıları için ekstra ücretler kazanır. Curve; Compound, yearn.finance ve Synthetix ile entegre stabilcoin havuzları sunar. Her likidite havuzundaki varlıklar, her havuzun likidite sağlayıcılarına aktarılan ek getiri elde etmek için bu platformlara sağlanır. Likidite Sağlayıcı \ (LP \) tokenlar havuz katılımcılarına verilir ve sağlanan ilk likidite artı tahakkuk eden ücretler ve getiri için kullanılabilir. LP tokenları ayrıca diğer protokollerde kullanılmak üzere aktarılabilir. + +Curve, bir ERC-20 yönetişim tokenı olan CRV tarafından yönetilir. CRV sahipleri protokol değişikliklerine oy verebilir. CRV sahipleri, tokenlerini stake edilen zamanla orantılı ek oylama gücü için stake edebilirler. CRV, sürekli olarak likidite sağlayıcılarına verilir ve toplam CRV arzının büyük bir kısmı, sürekli bir hakediş programına göre ekibe ve yatırımcılara tahsis edilmiştir. + +Curve'deki işlem hacimleri genellikle günlük 50 milyon doların üzerindedir. Curve, yazım sırasında likidite sağlayıcıları tarafından 1 milyar $ 'ın üzerinde Kilitlenmiş Toplam Değere \ (TVL \) sahiptir. + +Curve, Trail of Bits tarafından iki denetimden geçmiştir ve bir hata ödül programı sürdürmektedir. + +| Kaynaklar | | +|:--------------------- |:------------------------------------------------------------------------ | +| Resmi site | [https://uniswap.org/](https://uniswap.org/) | +| Geliştirici belgeleri | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/tr/core-concepts/supported-platforms/dydx.md b/tr/core-concepts/supported-platforms/dydx.md new file mode 100644 index 000000000..e6794e198 --- /dev/null +++ b/tr/core-concepts/supported-platforms/dydx.md @@ -0,0 +1,27 @@ +# dYdX + +{% hint style="bilgi" %} +Çok yakında. Aave henüz entegre edilmedi. +{% endhint %} + +dYdX, Ethereum üzerine kurulmuş bir ticaret ve borç verme protokolü ve platformudur ve Mayıs 2019'da kullanıma sunulmuştur. Kullanıcılar, dYdX'in gözetimsiz, merkezi olmayan borsasında varlık ticareti yapabilir veya borçlanma ve borç verme işlemlerine katılabilir. Borç verme protokolü, marj ve vadeli işlemlere olanak sağlar. Faiz oranları arz ve talebe göre ayarlanır ve sadece kısa vadeli krediler sunulur. + +Borçlanma ve ödünç verme için mevcut varlıklar için likidite, varlık türüne göre birlikte havuzlanır. Borç verenlere ödenen faiz otomatik olarak tahakkuk ettirilir ve borçluların kredi almak için teminat vermesi gerekir. + +dYdX ayrıca, kullanıcıların kredinin bakiyesini tek bir işlemde ödünç aldığı ve geri ödediği teminatsız krediler olan flash kredileri de destekler, yani flaş kredi kullanıcılarının herhangi bir başlangıç sermayesi koymalarına gerek yoktur. Flash krediler, geliştiricilere yönelik karmaşık bir üründür ve birden fazla DeFi protokolünde arbitraj yapmak için kullanılabilir. + +dYdX, bu yazının yazıldığı tarihte kilitlenmiş toplam değeri yaklaşık 40 milyon $ 'dır (TVL \). dYdX'in yerel bir tokenı yoktur. + +dYdX, OpenZeppelin ve Bramah Systems tarafından güvenlik denetimlerine tabi tutulmuştur. + +| Kaynaklar | | +|:--------------------- |:-------------------------------------------------------------------- | +| Resmi site | [https://dydx.exchange/](https://dydx.exchange/) | +| Geliştirici belgeleri | [https://docs.dydx.exchange/](https://docs.dydx.exchange/) | +| GitHub | [https://github.com/dydxprotocol/](https://github.com/dydxprotocol/) | +| Discord | [https://discord.gg/yah42Rb](https://discord.gg/yah42Rb) | + + + + + diff --git a/tr/core-concepts/supported-platforms/uniswap.md b/tr/core-concepts/supported-platforms/uniswap.md new file mode 100644 index 000000000..39035f9fb --- /dev/null +++ b/tr/core-concepts/supported-platforms/uniswap.md @@ -0,0 +1,27 @@ +# Uniswap + +{% hint style="bilgi" %} +Çok yakında. Uniswap henüz entegre edilmedi. +{% endhint %} + +Uniswap, Kasım 2018'de başlatılan, merkezi olmayan bir likidite protokolü ve Ethereum üzerinde olan borsadır. Uniswap v2, Mayıs 2020'de kullanıma sunuldu. Kullanıcılar, ERC-20 tokenlerini bir ücret karşılığında takas edebilir veya ücret kazanmak için likidite havuzlarına token katkıda bulunabilir. + +Uniswap'teki piyasalar, sipariş defterleri yerine likidite havuzları olarak çalışır. Bu tür borsaya Otomatik Piyasa Yapıcı \ (AMM \) denir. İki varlık arasındaki döviz kuru, sabit bir ürün formülüyle belirlenir ve havuzdaki her bir varlığın göreli ağırlığına bağlı olarak bir fiyat eğrisi boyunca hareket eder. Bu, arbitrajcıları nispi ağırlıkları yeniden dengelemek ve döviz kurunu normalleştirmek için likidite havuzlarına girmeye teşvik eder. + +Belirli bir havuzda yeterli likidite yoksa tüccarlar düşüş yaşayabilir ve uygun olmayan döviz kurlarından korunamayabilir. Likidite sağlayıcıları, havuz döviz kuru piyasa gerçekleriyle eşleşmediğinde ve arbitrajcılar fiyat eğrisi boyunca alım satım gerçekleştirdiğinde süresiz zarara uğrayabilir. + +Havuz katılımcılarına, belirli bir havuzda sağlanan likidite paylarına karşılık gelen Uniswap Likidite Sağlayıcısı \ (LP \) tokenları verilir. Bu LP tokenleri serbestçe transfer edilebilir. Katılımcılar, sağlanan varlıklar ve tahakkuk eden ücretler için bu tokenları kullanarak istedikleri zaman havuzlardan çıkabilirler. + +Tokenlerinin likiditesini artırmak isteyen token ihraççıları, likidite madenciliği kampanyalarında likidite sağlayıcılarına teşvikler sundular. Yeni token ihraç edenler de tokenlerini Uniswap havuzlarında başlattı. + +Uniswap'teki ticaret hacimleri artık birçok geleneksel borsayı gölgede bırakıyor ve düzenli olarak günlük 200 milyon doları aşıyor. Uniswap, likidite sağlayıcıları tarafından Kilitli Toplam Değer \ (TVL \) olarak 170 milyon dolardan fazla var. Uniswap'in yerel bir platformu veya yönetim tokenı yoktur. + +Uniswap, akıllı sözleşmelerini denetledi ve dapp.org tarafından resmi olarak onaylandı. Uniswap, bir hata ödül programı tutar. + +| Kaynaklar | | +|:--------------------- |:------------------------------------------------------------------------ | +| Resmi site | [https://uniswap.org/](https://uniswap.org/) | +| Geliştirici belgeleri | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/tr/core-concepts/supported-platforms/yearn.finance.md b/tr/core-concepts/supported-platforms/yearn.finance.md new file mode 100644 index 000000000..9bc8087aa --- /dev/null +++ b/tr/core-concepts/supported-platforms/yearn.finance.md @@ -0,0 +1,25 @@ +# Yearn.finance + +{% hint style="bilgi" %} +Çok yakında. Yearn.finance henüz entegre edilmedi. +{% endhint %} + +Eski adıyla iEarn.finance olan Yearn.finance, Ethereum üzerine kurulmuş bir getiri toplama platformudur ve Ocak 2020'de Andre Cronje tarafından başlatılmıştır. Yearn, sermaye yatıran kullanıcılar adına bir otomasyon ve insani karar verme kombinasyonunu kullanarak yield farming ve yeniden dengeleme stratejilerini yönetir. + +Yearn'ın iki getiri toplama ürünü vardır: Kazan ve Kasalar. Kazanç, kullanıcıların ücretler ve yönetişim tokenı ödülleri kazanmak için Curve üzerindeki likidite havuzlarına stabilcoin yatırmalarına veya BTC'yi sarmalarına olanak tanır. Bu varlıklar, kazanılan getiriye ek olarak yüksek getiri ve token ödülleri sunan platformlarda da ödünç verilir. + +Kasalar daha otomatik ve yönetilen bir deneyim sunar. Kullanıcılar LINK, Curve likidite sağlayıcı tokenleri veya stablecoins gibi varlıkları yatırır ve Vault bu varlıkları bir araya toplar ve topluluk ve Andre Cronje tarafından güvenli kabul edilen en yüksek kazançlı tarım stratejisini uygular. Ödül olarak kazanılan yönetim tokenları, yatırılan orijinal varlık için satılır ve diğer ücretlerle birleştirilir ve bileşik getiri için otomatik olarak Kasaya aktarılır. Stratejiler sık sık değiştirilebilir ve varlıkları bir araya toplamak, kullanıcılar için gaz maliyetlerinden tasarruf sağlar. + +Yearn, bir ERC-20 yönetişim tokenı olan YFI tarafından yönetilmektedir. YFI sahipleri, YFI'larını 3 gün süreyle kilitlemeyi kabul ettikten sonra protokol değişiklikleri için oy kullanabilir. YFI ayrıca yönetim portalında getiri için stake edilebilir. Bu getiri, Yearn ürünlerinde kullanıcılardan alınan ücretlerden gelir. YFI tamamen Curve ve Balancer'daki likidite sağlayıcılarına dağıtıldı. Ekip üyeleri veya yatırımcılar için tahsis yoktu. + +Yearn'ın toplam değeri kilitlendi \ (TVL \) hızla 800 milyon doların üzerine çıktı ve bu onu en büyük DeFi platformlarından biri haline getirdi. YFI'nin 400 milyon doların üzerinde dolaşımdaki piyasa değeri var. + +Yearn, CertiK, Quantstamp, HackMD ve CryptoManiacs tarafından çok sayıda güvenlik ve akıllı sözleşme denetiminden geçti. Yearn, deneysel ürünleri çok hızlı piyasaya sürmekle ünlüdür ve kullanıcıları ürünlerinin beta sürümünde olduğu konusunda uyarır. + +| Kaynaklar | | +|:--------------------- |:-------------------------------------------------------------------- | +| Resmi site | [https://yearn.finance/](https://yearn.finance/) | +| Geliştirici belgeleri | [https://docs.yearn.finance/](https://docs.yearn.finance/) | +| GitHub | [https://github.com/iearn-finance](https://github.com/iearn-finance) | +| Discord | [https://discord.gg/uTmHe8r](https://discord.gg/uTmHe8r) | + diff --git a/tr/core-concepts/supported-stablecoins/README.md b/tr/core-concepts/supported-stablecoins/README.md new file mode 100644 index 000000000..5f03685ef --- /dev/null +++ b/tr/core-concepts/supported-stablecoins/README.md @@ -0,0 +1,25 @@ +# Desteklenen Stablecoinler + +**Desteklenen Stablecoinler** + +OUSD'nin yalnızca onu destekleyen stabilcoinler kadar güçlü olduğunu anlamak önemlidir. Dayanak varlıklardaki herhangi bir kayıp, OUSD değerinde benzer bir kayba neden olacaktır. + +Şu anda, OUSD aşağıdaki stabilcoinleri desteklemektedir: + +{% content-ref url="usdt.md" %} +[usdt.md](usdt.md) +{% endcontent-ref %} + +{% content-ref url="usdc.md" %} +[usdc.md](usdc.md) +{% endcontent-ref %} + +{% content-ref url="dai.md" %} +[dai.md](dai.md) +{% endcontent-ref %} + +None of these stablecoins are perfect, but we selected them because of their widespread usage. While these stablecoins have lost their USD peg on multiple occasions, they have demonstrated resiliency in eventually getting back to their 1 USD targets. + +It is important to note that all these stablecoins introduce non-trivial counter-party risk. Tether, in particular, has had well-documented banking troubles and regulatory challenges. In addition, both USDT and USDC have backdoors that grant their issuers the power to freeze money in their holder's wallets. While DAI does not have any direct backdoors, its assets can also be negatively impacted since USDC and USDT are accepted as collateral for minting DAI. + +Despite these concerns, there are already billions of dollars betting on the security of these stablecoins. It is possible that additional stablecoins will be added to the protocol over time. Support may also be removed if any of these stablecoins prove to be too unreliable or put OUSD holder's funds in jeopardy. diff --git a/tr/core-concepts/supported-stablecoins/dai.md b/tr/core-concepts/supported-stablecoins/dai.md new file mode 100644 index 000000000..06c8db28b --- /dev/null +++ b/tr/core-concepts/supported-stablecoins/dai.md @@ -0,0 +1,19 @@ +# DAI + +![](../../.gitbook/assets/dai.png) + +Dai, Aralık 2017'de Ethereum blok zincirinde ERC-20 belirteci olarak piyasaya sürülen fiat sabitlenmiş bir stabilcoin. A major upgrade from single-collateral Dai (SAI) to multi-collateral Dai (DAI) was completed in November 2019. Dai, ABD dolarına sabitlendi. + +Dai is minted by users locking up crypto assets such as ETH or USDC as collateral in a collateralized debt position (CDP) called a vault. Daha önce teminat olarak yalnızca ETH kabul ediliyordu. Her kasanın rezervleri ve durumu gerçek zamanlı olarak blok zincirinde görüntülenebilir. Bu kasaların ve Dai stablecoin'in sağlığı yakından izleniyor. + +Dai, 400 milyon doların üzerinde dolaşımda olan dünyanın üçüncü en büyük stabilcoinidir. Buna ek olarak, Compound ve Aave kredi platformlarında Dai'nin sentetik versiyonları olan cDAI ve aDAI, dolaşımda 600 milyon doların üzerinde bir araya geliyor. + +| Önemli gerçekler | | +| ---------------- | ------------------------------------------------------------------------------------------------------------------- | +| Veren kuruluş | MakerDAO | +| isim | Dai | +| Sembol | DAI | +| Adres | [0x6b175474e89094c44da98b954eedeac495271d0f](https://etherscan.io/token/0x6b175474e89094c44da98b954eedeac495271d0f) | +| Decimals | 18 | +| Resmi site | [https://makerdao.com/](https://makerdao.com) | +| Sahipleri | Over 380k addresses | diff --git a/tr/core-concepts/supported-stablecoins/usdc.md b/tr/core-concepts/supported-stablecoins/usdc.md new file mode 100644 index 000000000..3c4e1219a --- /dev/null +++ b/tr/core-concepts/supported-stablecoins/usdc.md @@ -0,0 +1,20 @@ +# USDC + +![](../../.gitbook/assets/usdc-coin-bd351fb779 (1).png) + +USD Coin (USDC) is a fiat-pegged stablecoin launched as a ERC-20 token on the Ethereum blockchain in October 2018. USDC, ABD dolarına sabitlenmiştir ve ABD doları için kolayca kullanılabilir. + +Her USDC, Circle ve Coinbase tarafından kurulan bir konsorsiyum olan Center üyeleri tarafından gözetim hesaplarında tutulan eşdeğer miktarda fiat para birimi ile 1: 1 oranında desteklenir. Merkez üyeleri, ABD'de yerleşik mali kurumlardır. Aylık rezerv denetimleri Grant Thornton LLP tarafından yayınlanmaktadır. + +USDC, USDT'den sonra dünyanın en büyük ikinci stabilcoinidir ve hızla dolaşımda 1 milyar doların üzerine çıktı. Ancak USDC, USDT'nin dolaşımdaki 12 + milyar $ 'ın çok gerisinde kalıyor. + +| Önemli gerçekler | | +| ---------------- | ------------------------------------------------------------------------------------------------------------------- | +| Veren kuruluş | Centre | +| isim | USD Coin | +| Sembol | USDC | +| Adres | [0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48](https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48) | +| Decimals | 6 | +| Resmi site | [https://www.centre.io/usdc](https://www.centre.io/usdc) | +| Sahipleri | Over 1M addresses | + diff --git a/tr/core-concepts/supported-stablecoins/usdt.md b/tr/core-concepts/supported-stablecoins/usdt.md new file mode 100644 index 000000000..cf0592866 --- /dev/null +++ b/tr/core-concepts/supported-stablecoins/usdt.md @@ -0,0 +1,20 @@ +# USDT + +![](../../.gitbook/assets/image (1).png) + +Tether (USDT) is a fiat-pegged stablecoin that was initially built on top of Bitcoin via the Omni Layer Protocol. Eylül 2017'de Tether, Ethereum blockchain'de ABD doları için ek ERC-20 tokenleri piyasaya süreceğini duyurdu. + +Dolaşıma sokulan her Tether'in, kripto para borsası Bitfinex ile yakın bağları olan Hong Kong merkezli bir şirket olan Tether Limited tarafından bir gözetim hesabında tutulan eşdeğer miktarda itibari para ile bire bir oranla desteklendiği söyleniyor. + +Despite the controversy **** around **** the company's failure to provide a promised audit showing adequate reserves backing tether, USDT is still the world's largest stablecoin by market cap and currently the fourth-largest cryptocurrency after BTC, ETH and XRP. + +| Önemli gerçekler | | +| ---------------- | ---------------------------------------------------------------------------------------------------------------- | +| Veren kuruluş | Tether Limited | +| isim | Tether | +| Sembol | USDT | +| Adres | [0xdac17f958d2ee523a2206206994597c13d831](https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7) | +| Ondalık sayılar | 6 | +| Resmi site | [https://tether.to/ ](https://tether.to) | +| Sahipleri | Over 3.4M addresses | + diff --git a/tr/core-concepts/supported-strategies/README.md b/tr/core-concepts/supported-strategies/README.md new file mode 100644 index 000000000..b84adc5b3 --- /dev/null +++ b/tr/core-concepts/supported-strategies/README.md @@ -0,0 +1,27 @@ +# Desteklenen Stratejiler + +**Desteklenen DeFi Platformları** + +OUSD, stabilcoinleri borç verme platformlarına ve piyasa yapıcı likidite havuzlarına yatırarak getiri üretir. Bu platformların teknolojik risk taşıdığını ve büyük bir güvenlik olayı olması durumunda fonların kaybedilebileceğini anlamak önemlidir. Akıllı sözleşmelerini denetleyen ve en güvende hissettiğimiz platformlarla çalışmayı seçiyoruz. + +Currently, OUSD earns yield from the following platform(s): + +{% content-ref url="compound.md" %} +[compound.md](compound.md) +{% endcontent-ref %} + +{% content-ref url="aave.md" %} +[aave.md](aave.md) +{% endcontent-ref %} + +{% content-ref url="curve.md" %} +[curve.md](curve.md) +{% endcontent-ref %} + +{% content-ref url="convex.md" %} +[convex.md](convex.md) +{% endcontent-ref %} + +Although DeFi has grown very quickly and there are now billions of dollars worth of value deposited on these platforms, several of these projects are still in beta and are highly experimental. There may be hidden vulnerabilities in the smart contracts that power these platforms, and there have been multi-million dollar losses caused by vulnerabilities in Ethereum applications in the past. + +We closely monitor security events on the platforms we support and will immediately move to secure OUSD holder funds if we identify any threats. diff --git a/tr/core-concepts/supported-strategies/aave.md b/tr/core-concepts/supported-strategies/aave.md new file mode 100644 index 000000000..811c0db06 --- /dev/null +++ b/tr/core-concepts/supported-strategies/aave.md @@ -0,0 +1,20 @@ +# Aave + +Aave is a lending protocol and platform built on Ethereum and launched in January 2020 by the creators of ETHLend. Users on Aave can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and users can choose between a variable interest rate based on supply and demand or a fixed interest rate. + +Collateral balances are represented by ERC-20 aTokens at a 1:1 ratio to the underlying assets they represent. Interest is compounded automatically and paid to lenders with aTokens, meaning lenders will steadily see their aToken balance increase over time. Users can borrow assets against their aTokens. aTokens are freely transferable and can be used on many other DeFi protocols. aTokens can be redeemed for their underlying collateral at any time. + +Aave supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +Aave's governance token was formerly called LEND which was the utility token for ETHLend. As part of their transition to fully decentralized governance, LEND holders were able to exchange LEND for AAVE, a new ERC-20 governance token with staking rewards. Some AAVE tokens have been distributed to users of the platform in a liquidity mining campaign. + +Aave's total value locked (TVL) has quickly grown to over $15.5 billion, making it the largest DeFi protocol at the time of writing. LEND has a circulating market cap of over $5.3 billion. + +Aave has undergone security audits by OpenZeppelin, Trail of Bits, and Consensys Diligence. Aave maintains a bug bounty program. + +| Kaynaklar | | +| --------------------- | ------------------------------------------------------------------------------ | +| Resmi site | [https://aave.com/](https://aave.com) | +| Geliştirici belgeleri | [http://docs.aave.com/](http://docs.aave.com) | +| GitHub | [https://github.com/aave/aave-protocol](https://github.com/aave/aave-protocol) | +| Discord | [https://aave.com/discord](https://aave.com/discord) | diff --git a/tr/core-concepts/supported-strategies/balancer.md b/tr/core-concepts/supported-strategies/balancer.md new file mode 100644 index 000000000..7a6327e55 --- /dev/null +++ b/tr/core-concepts/supported-strategies/balancer.md @@ -0,0 +1,27 @@ +# Balancer + +{% hint style="bilgi" %} +Çok yakında. Balancer henüz entegre edilmedi. +{% endhint %} + +Balancer, Mart 2020'de başlatılan, merkezi olmayan bir likidite protokolü ve Ethereum'da borsadır. Kullanıcılar, ERC-20 tokenlerini bir ücret karşılığında takas edebilir veya ücret kazanmak için likidite havuzlarına token katkıda bulunabilir. + +Balancer özel ağırlıklara sahip 8 farklı varlığa kadar likidite havuzlarına izin veren Otomatik bir Piyasa Yapıcıdır \ (AMM \). Balancer üzerindeki likidite havuzları, Borsa Yatırım Fonları \ (ETF'ler \) veya belirli varlıklar için ağırlık hedefleri olan portföylere benzer şekilde düşünülebilir. Ticaret, havuzun hedef ağırlık dağılımından kaymasına neden olursa, havuzdaki varlıklar arasındaki döviz kurları değişir. Arbitrajcılar bundan yararlanmak için alım satım gerçekleştirebilir ve havuzu hedef ağırlık dağılımına yeniden dengelemek için hareket edebilir. Likidite, diğer AMM'lerin aksine havuzlar arasında da paylaşılabilir. + +Balancer, yalnızca havuz sahibinin likiditeye katkıda bulunabileceği özel havuzları, tamamen herkese açık olan paylaşılan havuzları ve otomatik kurallar ve mantığı uygulayabilen akıllı bir sözleşme ile kontrol edilen paylaşılan havuzlar olan akıllı havuzları destekler. Likidite sağlayıcılarına, belirli bir havuzdaki paylarını ve ücretleri temsil eden Dengeleyici Havuz Tokenları \ (BPT'ler \) verilir. Bu tokenlar serbestçe aktarılabilir ve sağlanan varlıklar ve tahakkuk eden ücretler için kullanılabilir. + +Tokenlerinin likiditesini artırmak isteyen token ihraççıları, likidite madenciliği kampanyalarında likidite sağlayıcılarına teşvikler sundular. Yeni token ihraç edenler de tokenlarını Balancer havuzlarında başlattı. + +Balancer, bir ERC-20 yönetişim tokenı olan BAL tarafından yönetilmektedir. BAL sahipleri protokol değişikliklerine oy verebilir. BAL sürekli olarak likidite sağlayıcılarına verilir ve toplam BAL arzının büyük bir kısmı ekibe ve yatırımcılara sürekli bir hakediş programına tahsis edildi. + +Balancer'daki ticaret hacimleri genellikle günlük 25 milyon doların üzerindedir. Dengeleyici, yazı yazarken likidite sağlayıcıları tarafından 250 milyon $ 'ın üzerinde Kilitli Toplam Değere \ (TVL \) sahiptir. + +Balancer, Trail of Bits tarafından bir güvenlik denetiminden geçti ve bir hata ödül programı var. Ancak, BalancerHaziran 2020'de büyük bir istismara uğradı. + +| Kaynaklar | | +|:--------------------- |:-------------------------------------------------------------------- | +| Resmi site | [https://balancer.finance/](https://balancer.finance/) | +| Geliştirici belgeleri | [https://docs.balancer.finance/](https://docs.balancer.finance/) | +| GitHub | [https://github.com/balancer-labs](https://github.com/balancer-labs) | +| Discord | [https://discord.gg/ARJWaeF](https://discord.gg/ARJWaeF) | + diff --git a/tr/core-concepts/supported-strategies/compound.md b/tr/core-concepts/supported-strategies/compound.md new file mode 100644 index 000000000..b75c071ce --- /dev/null +++ b/tr/core-concepts/supported-strategies/compound.md @@ -0,0 +1,18 @@ +# Compound + +Compound, Ethereum üzerine kurulmuş bir borç verme protokolü ve platformudur ve Eylül 2018'de piyasaya sürülmüştür. Kullanıcılar varlıklardan bileşik faiz kazanabilir veya teminat karşılığında ödünç alabilir. Desteklenen her varlık kendi likidite havuzunda toplanır ve faiz oranları arz ve talebe göre otomatik olarak ayarlanır. + +Teminat bakiyeleri, temsil ettikleri dayanak varlığa göre zaman içinde otomatik olarak faiz tahakkuk eden ve değerde artış sağlayan ERC-20 cTokens ile temsil edilir. Kullanıcılar varlıkları cToken'larının değerine göre ödünç alabilir. cTokenler serbestçe aktarılabilir ve diğer birçok DeFi protokolünde kullanılabilir. cTokens, temel teminatları için herhangi bir zamanda itfa edilebilir. + +Compound, bir ERC-20 yönetişim belirteci olan COMP tarafından yönetilir. COMP sahipleri protokol değişikliklerini önerebilir ve oylayabilir veya oylarını başka birine devredebilir. COMP tokens are awarded pro-rata to users of the protocol daily, split equally between borrowers and lenders. COMP token arzının büyük bir kısmı Compound ekibi, yatırımcılar ve danışmanlar tarafından tutuldu. + +Compound's total value locked (TVL) has quickly grown to over $10 billion, making it one of the largest DeFi protocols. COMP has a circulating market cap of over $2.5 billion. + +Compound, OpenZeppelin ve Trail of Bits tarafından birçok güvenlik denetiminden geçti. Compound protocol resmi olarak CertiK tarafından doğrulandı ve Gauntlet tarafından ekonomik stres testine tabi tutuldu. Compound, bir hata ödül programı sürdürmektedir. + +| Kaynaklar | | +| --------------------- | -------------------------------------------------------------------------------------------------------------- | +| Resmi site | [https://compound.finance/](https://compound.finance) | +| Geliştirici belgeleri | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/compound-finance/compound-protocol](https://github.com/compound-finance/compound-protocol) | +| Discord | [https://discord.com/invite/cU7vmVW](https://discord.com/invite/cU7vmVW) | diff --git a/tr/core-concepts/supported-strategies/convex.md b/tr/core-concepts/supported-strategies/convex.md new file mode 100644 index 000000000..771280a68 --- /dev/null +++ b/tr/core-concepts/supported-strategies/convex.md @@ -0,0 +1,18 @@ +# Convex + +Convex is an aggregation platform for Curve that launched in May 2021. Convex allows liquidity providers on Curve to earn boosted CRV rewards without having to vote-lock CRV. Convex vote-locks CRV on behalf of users and distributes boosted CRV rewards to them. Convex passes on trading fees earned on Curve to users as well. + +Convex also rewards users with their own ERC-20 governance token, CVX. Convex supports both CRV and CVX staking for additional rewards. Vote-locking CVX is required to participate in Convex governance. + +Convex is one of the few protocols whitelisted to participate in Curve governance and controls a huge amount of vote-locked CRV, making them one of the biggest players in Curve governance. A large proportion of liquidity provided on Curve is now done through Convex. Convex has a Total Value Locked (TVL) of over $15.4 billion in deposits at the time of writing. + +Convex has been audited by MixBytes. + +| | | +| -------------- | ---------------------------------------------------------------- | +| Resources | | +| Official site | [https://www.convexfinance.com](https://www.convexfinance.com) | +| Developer docs | [https://docs.convexfinance.com](https://docs.convexfinance.com) | +| GitHub | [https://github.com/convex-eth](https://github.com/convex-eth) | +| Discord | [https://discord.gg/uAwvZfs9qU](https://discord.gg/uAwvZfs9qU) | + diff --git a/tr/core-concepts/supported-strategies/curve.md b/tr/core-concepts/supported-strategies/curve.md new file mode 100644 index 000000000..8f288fc66 --- /dev/null +++ b/tr/core-concepts/supported-strategies/curve.md @@ -0,0 +1,20 @@ +# Curve + +Curve is a decentralized liquidity protocol and exchange on Ethereum for stablecoins and wrapped BTC, launched in January 2020. Users can swap between popular ERC-20 stablecoins or between ERC-20 representations of bitcoin. Liquidity providers facilitate trading and earn fees. + +Curve is an Automated Market Maker (AMM) where each market has an associated liquidity pool with two or more assets that should have the same value, like USDT, USDC, DAI and TUSD, which are all US dollar pegged stablecoins. The exchange rate between each stablecoin and their relative weights are determined by an algorithm based on supply and demand. Arbitrageurs act to normalize these exchange rates. + +Some of Curve's liquidity pools earn extra fees for liquidity providers on top of the exchange fees from traders. Curve offers stablecoin pools integrated with Compound, yearn.finance, and Synthetix. The assets in each liquidity pool are provided to those platforms to generate additional yield which is passed on to each pool's liquidity providers. Liquidity Provider (LP) tokens are given to pool participants and can be redeemed for their initial liquidity supplied plus accrued fees and yield. LP tokens can also transferred for use in other protocols. + +Curve is governed by CRV, an ERC-20 governance token. CRV holders can vote on protocol changes. CRV holders can stake or "vote-lock" their tokens for additional voting power proportional to time staked. Vote-locking CRV also significantly boosts liquidity provider rewards. CRV is continuously awarded to liquidity providers and a large portion of the total supply of CRV was allocated to the team and investors on a continuous vesting schedule. + +Curve has a Total Value Locked (TVL) of over $20.4 billion by liquidity providers at the time of writing. Hundreds of millions of dollars of trading volume are generated on Curve every day. + +Curve has undergone two audits by Trail of Bits and maintains a bug bounty program. + +| Kaynaklar | | +| --------------------- | ------------------------------------------------------------------------ | +| Resmi site | [https://www.curve.fi/](https://www.curve.fi) | +| Geliştirici belgeleri | [https://www.curve.fi/devdocs](https://www.curve.fi/devdocs) | +| GitHub | [https://github.com/curvefi](https://github.com/curvefi) | +| Discord | [https://discord.com/invite/9uEHakc](https://discord.com/invite/9uEHakc) | diff --git a/tr/core-concepts/supported-strategies/dydx.md b/tr/core-concepts/supported-strategies/dydx.md new file mode 100644 index 000000000..e6794e198 --- /dev/null +++ b/tr/core-concepts/supported-strategies/dydx.md @@ -0,0 +1,27 @@ +# dYdX + +{% hint style="bilgi" %} +Çok yakında. Aave henüz entegre edilmedi. +{% endhint %} + +dYdX, Ethereum üzerine kurulmuş bir ticaret ve borç verme protokolü ve platformudur ve Mayıs 2019'da kullanıma sunulmuştur. Kullanıcılar, dYdX'in gözetimsiz, merkezi olmayan borsasında varlık ticareti yapabilir veya borçlanma ve borç verme işlemlerine katılabilir. Borç verme protokolü, marj ve vadeli işlemlere olanak sağlar. Faiz oranları arz ve talebe göre ayarlanır ve sadece kısa vadeli krediler sunulur. + +Borçlanma ve ödünç verme için mevcut varlıklar için likidite, varlık türüne göre birlikte havuzlanır. Borç verenlere ödenen faiz otomatik olarak tahakkuk ettirilir ve borçluların kredi almak için teminat vermesi gerekir. + +dYdX ayrıca, kullanıcıların kredinin bakiyesini tek bir işlemde ödünç aldığı ve geri ödediği teminatsız krediler olan flash kredileri de destekler, yani flaş kredi kullanıcılarının herhangi bir başlangıç sermayesi koymalarına gerek yoktur. Flash krediler, geliştiricilere yönelik karmaşık bir üründür ve birden fazla DeFi protokolünde arbitraj yapmak için kullanılabilir. + +dYdX, bu yazının yazıldığı tarihte kilitlenmiş toplam değeri yaklaşık 40 milyon $ 'dır (TVL \). dYdX'in yerel bir tokenı yoktur. + +dYdX, OpenZeppelin ve Bramah Systems tarafından güvenlik denetimlerine tabi tutulmuştur. + +| Kaynaklar | | +|:--------------------- |:-------------------------------------------------------------------- | +| Resmi site | [https://dydx.exchange/](https://dydx.exchange/) | +| Geliştirici belgeleri | [https://docs.dydx.exchange/](https://docs.dydx.exchange/) | +| GitHub | [https://github.com/dydxprotocol/](https://github.com/dydxprotocol/) | +| Discord | [https://discord.gg/yah42Rb](https://discord.gg/yah42Rb) | + + + + + diff --git a/tr/core-concepts/supported-strategies/uniswap.md b/tr/core-concepts/supported-strategies/uniswap.md new file mode 100644 index 000000000..39035f9fb --- /dev/null +++ b/tr/core-concepts/supported-strategies/uniswap.md @@ -0,0 +1,27 @@ +# Uniswap + +{% hint style="bilgi" %} +Çok yakında. Uniswap henüz entegre edilmedi. +{% endhint %} + +Uniswap, Kasım 2018'de başlatılan, merkezi olmayan bir likidite protokolü ve Ethereum üzerinde olan borsadır. Uniswap v2, Mayıs 2020'de kullanıma sunuldu. Kullanıcılar, ERC-20 tokenlerini bir ücret karşılığında takas edebilir veya ücret kazanmak için likidite havuzlarına token katkıda bulunabilir. + +Uniswap'teki piyasalar, sipariş defterleri yerine likidite havuzları olarak çalışır. Bu tür borsaya Otomatik Piyasa Yapıcı \ (AMM \) denir. İki varlık arasındaki döviz kuru, sabit bir ürün formülüyle belirlenir ve havuzdaki her bir varlığın göreli ağırlığına bağlı olarak bir fiyat eğrisi boyunca hareket eder. Bu, arbitrajcıları nispi ağırlıkları yeniden dengelemek ve döviz kurunu normalleştirmek için likidite havuzlarına girmeye teşvik eder. + +Belirli bir havuzda yeterli likidite yoksa tüccarlar düşüş yaşayabilir ve uygun olmayan döviz kurlarından korunamayabilir. Likidite sağlayıcıları, havuz döviz kuru piyasa gerçekleriyle eşleşmediğinde ve arbitrajcılar fiyat eğrisi boyunca alım satım gerçekleştirdiğinde süresiz zarara uğrayabilir. + +Havuz katılımcılarına, belirli bir havuzda sağlanan likidite paylarına karşılık gelen Uniswap Likidite Sağlayıcısı \ (LP \) tokenları verilir. Bu LP tokenleri serbestçe transfer edilebilir. Katılımcılar, sağlanan varlıklar ve tahakkuk eden ücretler için bu tokenları kullanarak istedikleri zaman havuzlardan çıkabilirler. + +Tokenlerinin likiditesini artırmak isteyen token ihraççıları, likidite madenciliği kampanyalarında likidite sağlayıcılarına teşvikler sundular. Yeni token ihraç edenler de tokenlerini Uniswap havuzlarında başlattı. + +Uniswap'teki ticaret hacimleri artık birçok geleneksel borsayı gölgede bırakıyor ve düzenli olarak günlük 200 milyon doları aşıyor. Uniswap, likidite sağlayıcıları tarafından Kilitli Toplam Değer \ (TVL \) olarak 170 milyon dolardan fazla var. Uniswap'in yerel bir platformu veya yönetim tokenı yoktur. + +Uniswap, akıllı sözleşmelerini denetledi ve dapp.org tarafından resmi olarak onaylandı. Uniswap, bir hata ödül programı tutar. + +| Kaynaklar | | +|:--------------------- |:------------------------------------------------------------------------ | +| Resmi site | [https://uniswap.org/](https://uniswap.org/) | +| Geliştirici belgeleri | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/tr/core-concepts/supported-strategies/yearn.finance.md b/tr/core-concepts/supported-strategies/yearn.finance.md new file mode 100644 index 000000000..9bc8087aa --- /dev/null +++ b/tr/core-concepts/supported-strategies/yearn.finance.md @@ -0,0 +1,25 @@ +# Yearn.finance + +{% hint style="bilgi" %} +Çok yakında. Yearn.finance henüz entegre edilmedi. +{% endhint %} + +Eski adıyla iEarn.finance olan Yearn.finance, Ethereum üzerine kurulmuş bir getiri toplama platformudur ve Ocak 2020'de Andre Cronje tarafından başlatılmıştır. Yearn, sermaye yatıran kullanıcılar adına bir otomasyon ve insani karar verme kombinasyonunu kullanarak yield farming ve yeniden dengeleme stratejilerini yönetir. + +Yearn'ın iki getiri toplama ürünü vardır: Kazan ve Kasalar. Kazanç, kullanıcıların ücretler ve yönetişim tokenı ödülleri kazanmak için Curve üzerindeki likidite havuzlarına stabilcoin yatırmalarına veya BTC'yi sarmalarına olanak tanır. Bu varlıklar, kazanılan getiriye ek olarak yüksek getiri ve token ödülleri sunan platformlarda da ödünç verilir. + +Kasalar daha otomatik ve yönetilen bir deneyim sunar. Kullanıcılar LINK, Curve likidite sağlayıcı tokenleri veya stablecoins gibi varlıkları yatırır ve Vault bu varlıkları bir araya toplar ve topluluk ve Andre Cronje tarafından güvenli kabul edilen en yüksek kazançlı tarım stratejisini uygular. Ödül olarak kazanılan yönetim tokenları, yatırılan orijinal varlık için satılır ve diğer ücretlerle birleştirilir ve bileşik getiri için otomatik olarak Kasaya aktarılır. Stratejiler sık sık değiştirilebilir ve varlıkları bir araya toplamak, kullanıcılar için gaz maliyetlerinden tasarruf sağlar. + +Yearn, bir ERC-20 yönetişim tokenı olan YFI tarafından yönetilmektedir. YFI sahipleri, YFI'larını 3 gün süreyle kilitlemeyi kabul ettikten sonra protokol değişiklikleri için oy kullanabilir. YFI ayrıca yönetim portalında getiri için stake edilebilir. Bu getiri, Yearn ürünlerinde kullanıcılardan alınan ücretlerden gelir. YFI tamamen Curve ve Balancer'daki likidite sağlayıcılarına dağıtıldı. Ekip üyeleri veya yatırımcılar için tahsis yoktu. + +Yearn'ın toplam değeri kilitlendi \ (TVL \) hızla 800 milyon doların üzerine çıktı ve bu onu en büyük DeFi platformlarından biri haline getirdi. YFI'nin 400 milyon doların üzerinde dolaşımdaki piyasa değeri var. + +Yearn, CertiK, Quantstamp, HackMD ve CryptoManiacs tarafından çok sayıda güvenlik ve akıllı sözleşme denetiminden geçti. Yearn, deneysel ürünleri çok hızlı piyasaya sürmekle ünlüdür ve kullanıcıları ürünlerinin beta sürümünde olduğu konusunda uyarır. + +| Kaynaklar | | +|:--------------------- |:-------------------------------------------------------------------- | +| Resmi site | [https://yearn.finance/](https://yearn.finance/) | +| Geliştirici belgeleri | [https://docs.yearn.finance/](https://docs.yearn.finance/) | +| GitHub | [https://github.com/iearn-finance](https://github.com/iearn-finance) | +| Discord | [https://discord.gg/uTmHe8r](https://discord.gg/uTmHe8r) | + diff --git a/tr/core-concepts/wrapped-ousd.md b/tr/core-concepts/wrapped-ousd.md new file mode 100644 index 000000000..bea00ee4b --- /dev/null +++ b/tr/core-concepts/wrapped-ousd.md @@ -0,0 +1,31 @@ +# Wrapped OUSD + +Wrapped OUSD provides a non-rebasing version of OUSD that still earns yield. This makes it easier to use OUSD as a building block for other contracts and it may provide tax benefits in some jurisdictions. + +![Two flavors, up only](https://cdn-images-1.medium.com/max/1600/1\*cqRG-8-64XYx9QChoMxk3g.png) + +### How wrapped OUSD works + +When you wrap OUSD, you get back a fixed number of wOUSD tokens. This number will not go up - you will have the same number of wOUSD tokens tomorrow as you have today. However, the number of OUSD tokens that you can unwrap will go up over time. + +For example, if you wrap 10,000 OUSD, you might receive 9,423 wOUSD. If you hold for a while, you will still have 9,423 wOUSD, but when you unwrap the wOUSD, you receive 11,500 OUSD. + +Both OUSD and wOUSD earn at the same rate and can be transferred just like any other ERC-20 token. wOUSD is one of the first implementations of [EIP-4626](https://eips.ethereum.org/EIPS/eip-4626), which is an extension on ERC-20 that provides basic functionality for depositing and withdrawing tokens and reading balances on a tokenized vault. wOUSD was independently [audited by Solidified](https://github.com/OriginProtocol/security/blob/3dc8c1dec2f6fbf4f7d0bdf92408f79262624647/audits/Solidified%20-%20OGV,%20wOUSD,%20and%20ERC721a%20-%20May%202022.pdf) in May 2022 and is ready for production use. + +### Wrapping + +If you don’t already have OUSD, you can buy it from Gate.io, KuCoin, Curve, Uniswap, or [get it directly from the OUSD DApp](https://www.youtube.com/watch?v=UabjvL-7iu4). + +Once you have OUSD in your wallet, visit [ousd.com/wrap](https://ousd.com/wrap) and follow these steps: + +1. Connect your wallet +2. Enter the amount of OUSD that you want to wrap +3. Submit the allowance for the wOUSD contract to use your OUSD +4. Submit the transaction to wrap your OUSD + +![ousd.com/wrap](https://cdn-images-1.medium.com/max/1600/1\*57fSZSSlzebhpIl8R4UqUQ.png) + +### Unwrapping + +Unwrapping your OUSD does not require any approvals since you already hold the wOUSD in your wallet. There's also no minimum term or lock-up period. You can use the same form shown above and just click the arrow to flip it to unwrap mode. This form calls the `redeem` function to unwrap a spcific amount of wOUSD. You can also [use Etherscan](https://etherscan.io/address/0xd2af830e8cbdfed6cc11bab697bb25496ed6fa62#writeProxyContract) to call the `withdraw` function if you prefer to specify the amount of OUSD that you want to be taken out. + diff --git a/tr/core-concepts/yield-generation/README.md b/tr/core-concepts/yield-generation/README.md new file mode 100644 index 000000000..ce188728d --- /dev/null +++ b/tr/core-concepts/yield-generation/README.md @@ -0,0 +1,30 @@ +# Verim Üretimi + +**Otomatik yield farming** + +While the Cambrian explosion of new lending and automated market maker pools has fueled total value locked (TVL), it has also made it increasingly challenging for yield farmers to manually allocate capital in efficient and optimal ways. + +[Yearn](https://yearn.finance) has demonstrated that smart contracts can automate the rebalancing of funds across various strategies to optimally earn lending interest, market-making fees, and rewards tokens. Over time, new strategies will be deployed that maximize returns while minimizing risk and dependencies. + +![Automated yield farming on the OUSD protocol](../../.gitbook/assets/ousd_earnings_graphic.png) + +OUSD uses the following high-level strategies for generating yield: + +{% content-ref url="lending.md" %} +[lending.md](lending.md) +{% endcontent-ref %} + +{% content-ref url="market-making.md" %} +[market-making.md](market-making.md) +{% endcontent-ref %} + +{% content-ref url="rewards.md" %} +[rewards.md](rewards.md) +{% endcontent-ref %} + +OUSD is able to generate higher yields than competing protocols due to a combination of important design decisions that amplify the rewards that are returned to OUSD holders: + +* Exit fees are returned to the pool, rewarding long term holders +* Price oracles favor the collective over the individual, again rewarding long term holders +* Smart contracts must manually opt-in to earn yield. This allows the protocol to put more capital to work than would be otherwise possible. +* Smart strategies balance risk and reward more effectively than deploying capital in any single underlying strategy. diff --git a/tr/core-concepts/yield-generation/lending.md b/tr/core-concepts/yield-generation/lending.md new file mode 100644 index 000000000..ff88618de --- /dev/null +++ b/tr/core-concepts/yield-generation/lending.md @@ -0,0 +1,26 @@ +# Lending ( Borç Verme ) + +**Bankalı Bankayı Kaldır** + +DeFi borç verme platformları, kullanıcıların herhangi bir aracı olmadan kripto varlıklarını ödünç vermesine ve ödünç almasına izin verir. Hem borç verenler hem de borç alanlar kriptolarından daha fazla değer elde eder. Borç verenler faiz kazanırken, borç alanlar geleneksel bankacılık sorunları olmadan krediye erişim sağlamak için teminat olarak kripto yatırır. DeFi borç verme platformları şu anda kredi verenler için geleneksel piyasalarda genel olarak bulunandan çok daha üstün getiri sağlamaktadır. + +OUSD, aşırı teminatlı krediler sağlayan DeFi borç verme platformlarıyla entegre olur. Tasfiyelerle ilgili akıllı kurallarla birlikte aşırı teminatlandırma, borç verenler için makul bir güvenlik seviyesi sağlar. Aave ayrıca, kredi havuzlarını sırasıyla AAVE tokenleri ile güvence altına alarak riski daha da düşürür. + +OUSD, kanıtlanmış bir sicile sahip, akıllı sözleşmeleri denetleyen ve sorunsuz bir şekilde yüz milyonlarca doları başarıyla borç veren önde gelen kredi sağlayıcılarıyla entegre olur. We are currently integrated with the following lending platforms: + +{% content-ref url="../supported-strategies/compound.md" %} +[compound.md](../supported-strategies/compound.md) +{% endcontent-ref %} + +{% content-ref url="../supported-strategies/aave.md" %} +[aave.md](../supported-strategies/aave.md) +{% endcontent-ref %} + + + + + + + + + diff --git a/tr/core-concepts/yield-generation/market-making.md b/tr/core-concepts/yield-generation/market-making.md new file mode 100644 index 000000000..1c61d03a4 --- /dev/null +++ b/tr/core-concepts/yield-generation/market-making.md @@ -0,0 +1,22 @@ +# Pazar yapımı + +**Merkezi Olmayan Borsalarda Payınızı Sahibi Olun** + +Automated market makers (AMMs) have quickly risen as the preferred form of decentralized exchange on the Ethereum network. Bu kısmen, merkezi borsalardaki anlık ve düşük kayma deneyimlerine rakip olabilecek Ethereum 1.0'daki sipariş defteri DEX'leri desteklemenin zorluğundan kaynaklanıyor. Ayrıca, Uniswap gibi AMM'ler nispeten kullanıcı dostudur ve kullanımları gaz verimlidir. + +AMMs can only enable new markets when liquidity providers supply liquidity (e.g. multiple tokens for given trading pairs or pools). Likidite sağlama karşılığında likidite sağlayıcıları, diğer kullanıcılar token takas ettiğinde alım satım ücretleri ile ödüllendirilir. For example, when traders swap two tokens on Uniswap v3, they are currently charged anywhere between 0.05% and 1% on top of the gas fees. These fees are distributed pro-rata to liquidity providers of the pair based on the percentage of total liquidity that they have provided. + +{% hint style="bilgi" %} +[Kalıcı olmayan kayıp](https://medium.com/@pintail/uniswap-a-good-deal-for-liquidity-providers-104c0b6816f2) , anlaşılması gereken önemli bir risk faktörüdür, ancak bu endişe, yalnızca OUSD tarafından yaklaşık olarak eşit değerdeki stabilcoinler için likidite sağlayarak büyük ölçüde hafifletilir. +{% endhint %} + +The OUSD protocol routes USDT, USDC, and DAI to highly-performing liquidity pools as determined by trading volume and rewards tokens (e.g. Curve rewards CRV tokens to liquidity providers). Daha sonra getiriler OUSD sahiplerine aktarılır. + +We are currently integrated with the following automated market maker: + +{% content-ref url="../supported-strategies/curve.md" %} +[curve.md](../supported-strategies/curve.md) +{% endcontent-ref %} + + + diff --git a/tr/core-concepts/yield-generation/rewards.md b/tr/core-concepts/yield-generation/rewards.md new file mode 100644 index 000000000..349a9ad12 --- /dev/null +++ b/tr/core-concepts/yield-generation/rewards.md @@ -0,0 +1,12 @@ +# Ödüller + +**Collecting Rewards** + +Borç verme faizinden ve piyasa yapıcılığından ücret toplamaya ek olarak, birçok DeFi protokolü tarafından dağıtılan bonus teşviklerini otomatik olarak talep etmeyi ve dönüştürmeyi planlıyoruz. For example, Compound gives away COMP tokens and Curve gives away CRV tokens. Bu bonus ödüller düzenli olarak stabilcoinlere dönüştürülecek, pazarda konuşlandırılacak ve OUSD sahiplerine ek getiri şeklinde dağıtılacaktır. + +{% hint style="bilgi" %} +Kasa, aldığı beklenmedik ödülleri güvenli bir şekilde saklarken, protokolün bunları ne zaman ve nasıl stabilcoinlere dönüştürmesi gerektiğine karar vermek için özel stratejilerin yazılması ve kullanılması gerekecektir. +{% endhint %} + +Bugün, getirilerinin büyük bir yüzdesini temsil ettikleri için ödüller, verim çiftçileri için önemli bir faktördür. DeFi ortamında mevcut olan en cazip getirilerden yararlanmak için OUSD protokolünün zamanla yükseltileceğini tahmin ediyoruz. Protokol, kaynakların en iyi şekilde nasıl tahsis edileceğine karar verirken sunulan çeşitli ödüllerin piyasa değerini hesaba katacaktır. + diff --git a/tr/faq.md b/tr/faq.md new file mode 100644 index 000000000..6d47859ae --- /dev/null +++ b/tr/faq.md @@ -0,0 +1,33 @@ +# FAQ + +**Where can I buy OUSD?** + +Check out [Getting Started](https://docs.ousd.com/getting-started) to see a variety of options. + +**What are the costs to mint and redeem OUSD?** + +As with any Ethereum transaction, you will need Ether to interact with the OUSD smart contract. We have taken measures to reduce gas usage where possible, but these costs can vary. + +Anytime you mint or redeem OUSD, there will be an exchange rate applied to your stablecoins deposited or withdrawn. You can read more about this in [Price Oracles](https://docs.ousd.com/core-concepts/price-oracles). + +To encourage long-term holding of OUSD and to protect the protocol from attackers, an exit fee of 0.25% is charged on all redeems. You can read more about this in [How It Works](https://docs.ousd.com/how-it-works). + +**How soon will my balance increase once I have OUSD?** + +The amount of OUSD in your wallet will grow each time there is a positive rebase event. You can read more about this in [Elastic Supply](https://docs.ousd.com/core-concepts/elastic-supply). The supply is currently rebased several times per day and is usually correlated with how many people are minting and redeeming OUSD. + +**Why does OUSD not grow when it's held in Uniswap, SushiSwap, etc?** + +By default, rebase events don't affect the supply of OUSD that is sitting in smart contracts. These contracts can opt in to receiving additional OUSD if they are capable of handling elastic supply tokens. You can read more about this in [Rebasing & Smart Contracts](https://docs.ousd.com/core-concepts/elastic-supply/rebasing-and-smart-contracts). + +**How is it possible for the APY to be so high?** + +You can read about our various strategies in [Yield Generation](https://docs.ousd.com/core-concepts/yield-generation). We currently get most of the yield from harvesting rewards tokens (namely COMP and CRV). Additionally, the yield increases as more OUSD is held in smart contracts that do not opt into rebasing since the underlying collateral continues to earn for the average OUSD holder. + +**Why is my balance increasing at a slower rate than the advertised APY?** + +OUSD balances increase when the supply is rebased. But the size of each rebase varies wildly depending on how much the vault has earned since the last rebase. And while most rebases collect a small amount earnings from lending strategies, other rebases involve liquidating rewards tokens or collecting fees. As a result, the yield will vary significantly during short time periods. + +**What about the hack? Is OUSD safe?** + +On November 7th 2020, OUSD was exploited for 7M USD due to a previously undetected reentrancy bug. You can read more [details about the hack](https://medium.com/originprotocol/urgent-ousd-has-hacked-and-there-has-been-a-loss-of-funds-7b8c4a7d534c) on our blog as well as the [detailed compensation plan](https://medium.com/originprotocol/origin-dollar-ousd-detailed-compensation-plan-faa73f87442e) for taking care of the affected users. Origin Dollar was relaunched in December after completing multiple audits and security upgrades. You can learn more about the steps taken to secure the protocol in our [relaunch announcement](https://medium.com/originprotocol/origin-dollar-ousd-is-back-b8ee0c601dad). diff --git a/tr/getting-started.md b/tr/getting-started.md new file mode 100644 index 000000000..86620e9c5 --- /dev/null +++ b/tr/getting-started.md @@ -0,0 +1,71 @@ +# Başlamak + +Bu belgeler, OUSD'nin nasıl çalıştığını açıklamayı, potansiyel riskleri ve faydaları iletmeyi ve kod tabanımıza katkıda bulunmak veya OUSD'yi ürünlerine entegre etmek isteyen geliştiriciler için bir kılavuz sağlamayı amaçlamaktadır. İşte dalmanız ve başlamanız için birkaç yol. + +**Buying OUSD** + +{% hint style="info" %} +The [Origin Dollar DApp](https://ousd.com/swap) will intelligently route your transaction to get you the best rate. +{% endhint %} + +The [Origin Dollar DApp](https://ousd.com/swap) allows anyone to buy or sell OUSD using a web-3 enabled cryptocurrency wallet like [Metamask](https://www.metamask.io), [Ledger](https://www.ledger.com), or [Gnosis Safe](https://gnosis-safe.io). This is the native way to get OUSD, especially if you want a large amount that could risk moving the market on other exchanges. The DApp will intelligently decide whether to create or trade-in OUSD tokens using the vault or help you complete the trade on whichever AMM is currently offering the best rate. + +**Decentralized Exchanges** + +OUSD is currently available on the following decentralized exchanges. These are listed here for reference only. We recommend using the [Origin Dollar DApp](https://ousd.com/swap) to ensure you always get the best rate. + +* [Buy OUSD on 1inch](https://app.1inch.io/#/1/swap/USDT/OUSD) +* [Buy OUSD on Curve](https://curve.fi/factory/9) +* [Buy OUSD on Uniswap v3](https://app.uniswap.org/#/swap?inputCurrency=0xdac17f958d2ee523a2206206994597c13d831ec7\&outputCurrency=0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86) +* [Buy OUSD on Uniswap v2](https://app.uniswap.org/#/swap?inputCurrency=0xdac17f958d2ee523a2206206994597c13d831ec7\&outputCurrency=0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86\&use=v2) +* [Buy OUSD on Sushiswap](https://exchange.sushiswapclassic.org/#/swap?inputCurrency=0xdac17f958d2ee523a2206206994597c13d831ec7\&outputCurrency=0x2a8e1e676ec238d8a992307b495b45b3feaa5e86) + +**Centralized Exchanges** + +OUSD is currently available on the following centralized exchanges. Be sure to check on how they are handling the yield that is being generated by the protocol. Depending on the exchange, there may be additional steps you need to take to participate in the yield while it's being held in their custody. + +* Buy OUSD on KuCoin + * [OUSD/USDT](https://trade.kucoin.com/OUSD-USDT) + * [OUSD/BTC](https://trade.kucoin.com/OUSD-BTC) +* Buy OUSD on Gate.io + * [OUSD/USDT](https://www.gate.io/trade/OUSD\_USDT) +* Buy OUSD on Virgox + * [OUSD/USDT](https://virgox.com/exchange/141) +* [Buy OUSD on Dharma App](https://www.dharma.io) (US only) + +We're continuing to work on making OUSD available on additional centralized exchanges. + +**Adding OUSD to Your Wallet** + +{% hint style="success" %} +The main ERC20 address for Origin Dollar (OUSD) is: \ +**0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +If your OUSD does not automatically show up in your wallet, you should be able to add it manually using the address above. If you are planning on [storing your OUSD in a multi-sig wallet](core-concepts/elastic-supply/rebasing-and-smart-contracts.md), be sure to opt-in to receive yield. We want to have OUSD supported by as many wallets as possible and included on all the various lists of well-known tokens. We would greatly appreciate any help you can offer in this area. + +**Integrating OUSD** + +OUSD is a non-standard ERC-20 token that requires custom integration work for most applications that wish to support it. In particular, it is important for developers to understand how our elastic supply works as this can easily cause unexpected behavior. + +If you are a wallet provider or crypto exchange that is interested in supporting OUSD, please refer to the following guides: + +{% content-ref url="core-concepts/elastic-supply/rebasing-and-smart-contracts.md" %} +[rebasing-and-smart-contracts.md](core-concepts/elastic-supply/rebasing-and-smart-contracts.md) +{% endcontent-ref %} + +{% content-ref url="smart-contracts/architecture.md" %} +[architecture.md](smart-contracts/architecture.md) +{% endcontent-ref %} + +{% content-ref url="smart-contracts/api/" %} +[api](smart-contracts/api/) +{% endcontent-ref %} + +**Developer Analytics** + +Our internal developer dashboard is available at [analytics.ousd.com](https://analytics.ousd.com). The dashboard shows the current circulating supply, the assets under management in the vault, and the current allocations between each of the stablecoins and strategies. + +**Getting Help** + +Please join the Origin Dollar #engineering room in Origin's [Discord](https://www.originprotocol.com/discord) server. Our team and members of our community look forward to helping you build. Your questions help us improve, so please don't hesitate to ask if you can't find what you are looking for here. diff --git a/tr/governance/admin-privileges.md b/tr/governance/admin-privileges.md new file mode 100644 index 000000000..3ba862510 --- /dev/null +++ b/tr/governance/admin-privileges.md @@ -0,0 +1,32 @@ +# Yönetici Ayrıcalıkları + +The OUSD smart contracts are designed to be owner upgradable. The Origin team uses two different Gnosis multisig wallet contracts in order to make changes to the protocol. These multisig wallets have been [audited by OpenZeppelin](https://blog.openzeppelin.com/gnosis-multisig-wallet-audit-d702ff0e2b1e/), [ConsenSys Dilligence](https://blog.gnosis.pm/the-gnosis-multisig-wallet-and-our-commitment-to-security-ce9aca0d17f6), Origin’s team, and others. + +{% hint style="info" %} +Time-delayed admin actions gives users a chance to exit OUSD if its admins become malicious, are compromised, or make a change that the users do not like. +{% endhint %} + +### Admin + +The primary admin is a 5 of 8 multisig contract which is required to make any code changes to the protocol. OUSD can only be upgraded from this 5 of 8 multi-sig wallet. The keys to this multi-sig are held by individuals with close ties to the company, and not even the Origin founders acting together have enough control to execute owner functions on their own. In addition, the OUSD contracts are owned by a [timelock](../smart-contracts/api/timelock.md) which places a 48 hour time delay before any changes to the protocol can be made. + +### Strategist + +Some functionality, such as rebalancing funds between strategies or pausing deposits, can be triggered without the timelock and with far fewer signers. This allows the Origin team to react more quickly to market conditions or security threats. These signers, known as Strategists, have the ability to execute a limited number of functions __ with only 2 of 9 signers. + +The strategist multisig can do the following actions on the vault: + +* reallocate - move funds between strategies +* setVaultBuffer - adjust the amount of funds held outside strategies for cheaper redeems. +* setAssetDefaultStrategy - which strategy mints and redeems pull from for a particular strategy +* withdrawAllFromStrategy - remove funds from a single strategy and send them to the vault +* withdrawAllFromStrategies - remove funds from all active strategies and send them to the vault +* pauseRebase - pause all rebases +* pauseCapital - pause all mints and redeems +* unpauseCapital - allow all mints and redeems + +### Future + +Having these admin privileges is necessary in the early days to ensure that the protocol is secure and optimized for earning yields while minimizing risks. We expect to release multiple iterations of our smart contracts in the first several months of the protocol's existence. + +Once several upgrade cycles have been completed, we intend to transfer ownership from our company control to a decentralized governance contract, thereby allowing the community to vote and participate in future protocol updates. diff --git a/tr/governance/contributing.md b/tr/governance/contributing.md new file mode 100644 index 000000000..3d5c5b61e --- /dev/null +++ b/tr/governance/contributing.md @@ -0,0 +1,103 @@ +# Katkı + +**% 100 Açık kaynak** + +OUSD tamamen açık kaynaklı bir projedir ve her türden katkıyı memnuniyetle karşılıyoruz. Sorunları bildirmekten, kodlara katkıda bulunmaktan ve topluluğumuzu geliştirmemize yardımcı olmaktan yardım etmenin birçok yolu vardır. + +{% content-ref url="broken-reference" %} +[Broken link](broken-reference) +{% endcontent-ref %} + +We work in public and our company Discord is open to all. If you have questions or need help getting started, our [Discord OUSD channels](https://discord.gg/jyxpUSe) are the best place to get assistance from our team and community. + +{% content-ref url="broken-reference" %} +[Broken link](broken-reference) +{% endcontent-ref %} + +**Developer Analytics** + +Our internal developer dashboard is available at [analytics.ousd.com](https://analytics.ousd.com). The dashboard shows the current circulating supply, the assets under management in the vault, and the current allocations between each of the stablecoins and strategies. Various other developer tools can be found at [ousd.com/dashboard](https://ousd.com/dashboard). + +#### Gelişme süreci + +Our branching strategy is similar to [GitFlow](http://nvie.com/posts/a-successful-git-branching-model/), but we do all of our development in the `master` branch and have a `stable` branch for code that has been released. + +Your development flow should look like: + +1. İlginç bir konu bulun ve iletişim kurun! Lütfen `#engineering` [Discord](https://discord.gg/jyxpUSe) kanalına ne üzerinde çalışmak istediğinizi bildirin. +2. Discord'da [çekirdek ekip üyesine](https://github.com/orgs/OriginProtocol/teams/core/members) üye ping atın ve [katılımcı ekibimize eklenmesini isteyin](https://github.com/orgs/OriginProtocol/teams/contributors). Aksi takdirde, ilgili depoyu çatallamanız ve özellik dallarını kendi çatalınıza itmeniz gerekir. +3. Soruna bir yorum ekleyin veya kendi kendinize atayın, böylece istemeden aynı görev üzerinde çalışan birden fazla katılımcımız olmasın. +4. `ana` dalıyla başlayın ve mevcut bir özelliğe katkıda bulunmadığınız sürece yeni bir özellik dalını kontrol edin. +5. Write some awesome code. +6. `ana` en son kaydetmeleri alın ve kodunuzun başladığınızdan beri birleştirilen diğer tüm çalışmalarda çalıştığını onaylayın. +7. Push your branch to the upstream repository (i.e. https://github.com/OriginProtocol/\[repo]) so that other contributors can easily work off of it if necessary. +8. Lütfen sağ sütundaki "İnceleyenler" in yanındaki dişli çark simgesini tıklayarak PR'da bir inceleme talep edin. + +For critical smart contract code to be merged it must pass the following checklist: + +* Code reviewed by 2 reviewers +* Unit tests pass +* Slither tests pass with no warning +* Echidna tests pass + +The `master` branch is locked so that only members of the [core team](https://github.com/orgs/OriginProtocol/teams/core) are able to merge your pull requests. Pull requests that are peer-reviewed by other trusted contributors will be fast-tracked and merged faster! Check in the `#engineering` Discord channel for appropriate reviewers. + +#### Kodlama Stili + +We use a variety of programming languages in our repositories. When contributing, please follow existing coding conventions and refer to the CONTRIBUTING.md file in the repository, if one exists. + +For JavaScript, we use [NPM’s style](https://docs.npmjs.com/misc/coding-style), which is automatically enforced via [prettier](https://prettier.io). + +For Solidity, we use two-space indents. + +#### Protokol Tasarımı + +When considering protocol or implementation design proposals, we are looking for: + +* A description of the problem this design proposal solves +* Discussion of the trade-offs involved +* Review of other existing solutions +* Links to relevant literature (RFCs, papers, etc) +* Discussion of the proposed solution + +Please note that protocol design is hard and meticulous work. You may need to review existing literature and think through generalized use cases. + +#### Topluluk Rehberleri + +We want to keep the Origin community awesome, growing and collaborative. We need your help to keep it that way. To help with this we’ve come up with some general guidelines for the community as a whole: + +* Be nice: Be courteous, respectful and polite to fellow community members: no regional, racial, gender, or other abuse will be tolerated. We like nice people way better than mean ones! +* Encourage diversity and participation: Make everyone in our community feel welcome, regardless of their background and the extent of their contributions, and do everything possible to encourage participation in our community. +* Keep it legal: Basically, don’t get anybody in trouble. Share only content that you own, do not share private or sensitive information, and don’t break laws. +* Stay on topic: Make sure that you are posting to the correct channel and avoid off-topic discussions. Remember when you update an issue or respond to an email you are potentially sending to a large number of people. Please consider this before you update. Also remember that nobody likes spam. + +#### Sorunları Bildirme + +If you find bugs, mistakes or inconsistencies in Origin’s code or documents, please let us know by filing a GitHub issue. No issue is too small. Help us fix our tpyos! + +#### Güvenlik sorunları + +OUSD is still in early development, which means there may be problems with the protocol or in our implementations. We take security vulnerabilities very seriously. If you discover a security issue, please bring it to our attention right away! + +If you find a security vulnerability please send your report privately to [security@originprotocol.com](mailto:security@originprotocol.com) or send an encrypted message to [@joshfraser on Keybase](https://keybase.io/joshfraser). Please DO NOT file a public issue. Be sure to review our guidelines for responsible disclosure and eligibility for bug bounties. + +{% content-ref url="../security-and-risks/bug-bounties.md" %} +[bug-bounties.md](../security-and-risks/bug-bounties.md) +{% endcontent-ref %} + +#### **Topluluk İyileştirme** + +Origin is just as much about community as it is about our technology. + +We need constant help in improving our documentation, building new tools to interface with our platform, spreading the word to new users, helping new users getting setup and much more. + +Please get in touch if you would like to help out. Our `discussion` channel on [Discord](https://www.originprotocol.com/discord) is a great place to share ideas and volunteer to help. + +#### Tam Zamanlı Pozisyonlar + +Origin occasionally hires developers for part-time or full-time positions. + +We have a strong preference for hiring people who have already started contributing to the project. If you want a full-time position on our team, your best shot is to engage with our team and start contributing code. It is very unlikely that we would offer you a full-time position on our engineering team unless you’ve had at least a few pull requests merged. + +If you are interested, check out [the Origin Protocol job listings](https://angel.co/originprotocol/jobs). If you’d like to help in other ways, please propose your ideas in [our Discord channel](https://www.originprotocol.com/discord). + diff --git a/tr/governance/governance.md b/tr/governance/governance.md new file mode 100644 index 000000000..eea11a787 --- /dev/null +++ b/tr/governance/governance.md @@ -0,0 +1,26 @@ +# Principles + +**Progressive Decentralization** + +OUSD is designed to be a decentralized protocol governed by many stakeholders all over the world. We believe that the minters and holders of OUSD should collectively determine important protocol decisions as soon as possible. + +That being said, in the very early days, it is imperative that the core engineering team can act quickly and decisively to build the foundational parts of the protocol. + +Decentralization will progress across four phases rapidly over the next few months. It is our intent to relinquish control and governance to the community as soon as possible. + +![](../.gitbook/assets/ousd_docs_graphics_2%20%283%29.png) + +**Timelock** + +Prior to full decentralized governance, we will implement a [timelock](../smart-contracts/api/timelock-1.md) in front of all admin function calls, giving OUSD users time \(48 hours\) to withdraw their funds if they have objections to our proposed upgrades. This timelock will be added shortly after launch. + +**New and Existing Stakeholders** + +OUSD is a new project founded by Origin Protocol [team](www.originprotocol.com/team) and will be supported by the existing Origin community as well as many new stakeholders that choose to mint, hold, use, and provide liquidity for OUSD. + +In addition, we also want to ensure high participation from our existing Origin Token \(OGN\) holders, community of close to 500,000 members, and buyers/sellers on the Platform. Existing OGN holders will be able to stake their OGN to participate in governance and earn incentives for driving value to OUSD. More details will be provided in the near future. + +The strong connection between OUSD and the rest of the Origin commerce platform will fuel growth in both initiatives. + + + diff --git a/tr/governance/ogn-staking.md b/tr/governance/ogn-staking.md new file mode 100644 index 000000000..e7a3e0bc2 --- /dev/null +++ b/tr/governance/ogn-staking.md @@ -0,0 +1,18 @@ +# OGN Staking + +Origin Token (OGN) is intended as the governance token for OUSD and OGN will play an increasingly important role as the Origin Platform becomes more decentralized. Today, users can stake their OGN tokens to earn additional OGN after a chosen staking period has elapsed. + +{% hint style="info" %} +Visit the [OUSD DApp](https://www.ousd.com/stake) in a web3-enabled browser to stake your OGN. +{% endhint %} + +The initial staking program offers three staking periods and respective yields: + +* 30-day staking period: Earn 7.5% annualized interest +* 90-day staking period: Earn 12.5% annualized interest +* 365-day staking period: Earn 25% annualized interest + +Staked tokens will be locked for the duration of the staking period. After each staking period ends, you will be able to claim both your initial OGN (principal) and yield. + +OGN is currently trading on top exchanges like [Coinbase](https://www.coinbase.com/price/origin-token), [Binance](https://www.binance.com/en/register?ref=NPPYAEAE), [Huobi](https://www.huobi.com/en-us/exchange/ogn_usdt/), [Upbit](https://upbit.com/exchange?code=CRIX.UPBIT.BTC-OGN), [Bittrex Global](https://global.bittrex.com/Market/Index?MarketName=BTC-OGN), and [dozens more](https://coinmarketcap.com/currencies/origin-protocol/markets/). Visit the Origin website to [learn more about OGN](https://www.originprotocol.com/ogn-token) or check out the [OGN Dashboard](https://www.originprotocol.com/dashboard) to track important token metrics. + diff --git a/tr/governance/phases.md b/tr/governance/phases.md new file mode 100644 index 000000000..54ebb72da --- /dev/null +++ b/tr/governance/phases.md @@ -0,0 +1,6 @@ +# Aşamalar + +Aşamalı merkeziyetsizlik, aşağıda belirtildiği gibi dört aşamayı takip edecektir. + +![](../.gitbook/assets/ousd_docs_graphics_2%20%282%29.png) + diff --git a/tr/governance/principles.md b/tr/governance/principles.md new file mode 100644 index 000000000..d032ccebe --- /dev/null +++ b/tr/governance/principles.md @@ -0,0 +1,30 @@ +# Prensipler + +**Governance Portal** + +OGN holders are encouraged to participate in creating and voting on proposals that impact the protocol in the [OGN governance portal](https://vote.originprotocol.com). Anyone with at least 1,000 OGN in their wallet or staked in our OGN Staking contract can create a new proposal using Snapshot. All OGN holders are able to vote for proposals. Our desire is for our community to have a strong impact on the direction of Origin’s products, open-source codebase, and to have a voice in key business decisions and the overall direction of the project. + +OGN holders can also [delegate votes](vote-delegation.md) to another account. + +**Progressive Decentralization** + +OUSD is designed to be a decentralized protocol governed by many stakeholders all over the world. We believe that the holders of OUSD should collectively determine important protocol decisions as soon as possible. + +That being said, in the very early days, it is imperative that the core engineering team can act quickly and decisively to build the foundational parts of the protocol. + +Decentralization will progress across four phases rapidly over the next few months. It is our intent to relinquish control and governance to the community as soon as possible. + +![](../.gitbook/assets/ousd\_docs\_graphics\_2 (2).png) + +**Timelock** + +Prior to full decentralized governance, we will implement a [timelock](../smart-contracts/api/timelock.md) in front of all admin function calls, giving OUSD users time to withdraw their funds if they have objections to our proposed upgrades. + +**New and Existing Stakeholders** + +OUSD is a new project founded by Origin Protocol [team](https://www.originprotocol.com/team) and will be supported by the existing Origin community as well as many new stakeholders that choose to mint, hold, use, and provide liquidity for OUSD. + +In addition, we also want to ensure high participation from our existing Origin Token (OGN) holders and the millions of people in our community. Existing OGN holders are able to [stake their OGN](ogn-staking.md) to participate in governance and earn incentives for driving value to OUSD. + +The strong connection between OUSD and the rest of the Origin commerce platform will fuel growth in both initiatives. + diff --git a/tr/governance/vote-delegation.md b/tr/governance/vote-delegation.md new file mode 100644 index 000000000..9a8149d2f --- /dev/null +++ b/tr/governance/vote-delegation.md @@ -0,0 +1,18 @@ +# Vote Delegation + +OGN holders can forward their voting power on the [Governance Portal](https://vote.originprotocol.com/#/) to another Ethereum address. Choosing this option does not strip the delegator of their voting power. The delegatee receives the extra voting power only on proposals the delegator has not voted on. + +This is convenient when users want someone they trust or even one of Origin's team members to make governance decisions regarding Origin's ecosystem. It is also useful when users have OGN stored more safely in a hardware wallet and don’t want to go through the hassle of connecting it to the computer. A more accessible Ethereum wallet e.g. Metamask can be used to vote by having voting power delegated to it from the hardware wallet.\ + + +**How to Delegate** + +* Go to: [https://snapshot.org/#/delegate](https://snapshot.org/#/delegate). +* Type in the address or ENS name you want to delegate to. +* There is an option to limit the delegation power to only Origin’s products by selecting _Limit delegation to a specific space_ and typing in “origingov.eth”. +* Click confirm to save your delegation.\ + + +![](../.gitbook/assets/Screenshot 2022-03-20 at 10.47.43.png) + +After completing these steps, the OGN voting power is successfully delegated to the address specified. diff --git a/tr/guides/incentivized-harvesting-guide.md b/tr/guides/incentivized-harvesting-guide.md new file mode 100644 index 000000000..a24597e9c --- /dev/null +++ b/tr/guides/incentivized-harvesting-guide.md @@ -0,0 +1,46 @@ +# Incentivized Harvesting Guide + +The OUSD Harvester contract collects reward tokens earned by the OUSD strategies, sells them, and sends them on to increase protocol yield. **Anyone can call the harvest and earn 1% of the resulting USDT** for doing so. This creates a self-incentivizing system that operates at a known cost to the protocol. + +### When to call + +You'll want to call this contract when it is profitable to do so. You gain the 1% harvest USDT given by the contract, and spend the gas cost to send the transaction. + +The simplest way to calculate both of these is to simulate the transaction. You can then look at the resulting transfers to know the income received, and you can look at the gas amount used, the current gas prices, and the current cost of ETH, to find out the cost. + +Alternatively you can precompute the gas used for a given strategy's harvest, look up the pending reward tokens using various online services, then do your calculations without using the blockchain. + +The amount of rewards increases at a fairly steady, predictable rate. The primary variation is in gas prices, which will make a much bigger minute to minute difference on when you should call this. + +When calculating profitability, remember to account for the cost to swap back to ETH from USDT. + +### How to call + +When you call the harvest, **you will want to use some form of MEV protection**. Otherwise bots will see that your transaction is profitable, and execute it ahead of you, leaving you no gain and only gas fees. + +To harvest, you call `harvester.harvestAndSwap(strategyAddress, rewardTo)`. + +The harvester address and strategyAddresses can be found in the strategy tab of the [contract registry](../smart-contracts/registry.md). The `rewardTo` address is the account that will receive the USDT funds as a reward for calling the function - use your own address for it. + +Below is the harvestAndSwap ABI: + +``` +[{ + "inputs": [ + { + "internalType": "address", + "name": "_strategyAddr", + "type": "address" + }, + { + "internalType": "address", + "name": "_rewardTo", + "type": "address" + } + ], + "name": "harvestAndSwap", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" +}] +``` diff --git a/tr/guides/integration-guide-for-exchanges.md b/tr/guides/integration-guide-for-exchanges.md new file mode 100644 index 000000000..cda6f2cd1 --- /dev/null +++ b/tr/guides/integration-guide-for-exchanges.md @@ -0,0 +1,34 @@ +# Integration Guide For Exchanges + +Centralized exchanges will play an important role in helping us reach our goal of making OUSD ubiquitous. We are happy to help any exchange that wants to make OUSD available to its users. We believe OUSD will make a great addition to any exchange that wants to offer both a superior stablecoin and a new high-yield opportunity for their users. + +These docs are a great starting point for understanding how OUSD works. Here are some important questions for exchanges that wish to integrate OUSD to consider: + +**Do you want to participate in the yield that is generated?** + +We're assuming the answer will be yes and we highly encourage this as well! However, there may be some instances where you would prefer to move fast and list OUSD without participating in the [rebasing nature of OUSD](../core-concepts/elastic-supply/rebasing-and-smart-contracts.md) since it's the fastest and simplest integration. For exchanges that want to list OUSD, but are strapped for engineering resources, you may want to launch the non-rebasing version first while your engineers make whatever changes are necessary. To make OUSD non-rebasing you can call `rebaseOptOut()` from each EOA wallet that holds OUSD, or do nothing if you are storing OUSD on smart contracts. Non-rebasing OUSD behaves just like any other ERC-20 token. + +**Are you storing customer balances on smart contracts (ie. multi-sigs) or EOA wallets?** + +Any smart contract that is holding OUSD needs to manually opt-in to receive the yield by calling `rebaseOptIn()`. This is due to the [elastic supply](../core-concepts/elastic-supply/) and the [rebasing nature of OUSD](../core-concepts/elastic-supply/rebasing-and-smart-contracts.md). Many exchanges sweep customer funds into a multi-sig wallet for cold storage. If you do this, you'll want to make sure that you opt-in to rebasing so that you are always earning. + +**Are you caching user balances?** + +OUSD dynamically updates the value returned by the `balanceOf()` function on our ERC20 contract. Users' balances will update at unpredictable times as new yield is generated by the protocol. As long as you aren't caching this value, users will always see the correct amount of OUSD that they are holding. + +It's important to note that while OUSD is a rebasing token, user balances will only rebase in a positive direction (your balance will never go down). This makes things a lot simpler than integrating with other rebasing coins like AMPL or other algo-stables. + +**Are you comingling user funds?** + +If you are comingling funds, you'll want to be sure that each user gets their pro-rata amount of the yield that is generated by the protocol. Probably the easiest way to do this is to track each user's balance as a percentage of a pool instead of as a fixed amount. + +**Are you planning to provide liquidity?** + +The Origin team is often willing to provide a market maker and initial liquidity for exchanges that wish to integrate OUSD. There are also 9 figures worth of liquidity available on decentralized exchanges like [Curve](https://curve.fi/factory/9). + +If you are interested in using OUSD to power your own staking or earning program, you will probably want to be able to access OUSD on demand. OUSD can always be minted or redeemed using the [Origin Dollar DApp](https://www.ousd.com), or directly from the OUSD [smart contracts](../smart-contracts/registry.md). If you are planning on providing liquidity yourself, you should be aware that the exact amount of OUSD you will receive in exchange for your USDT, USDC, or DAI depends on the current exchange rates as determined by the [oracles.](../core-concepts/price-oracles.md) If you are planning on redeeming OUSD for the underlying stablecoins, you should know there is a 0.25% exit fee and OUSD will return a basket of stable coins in proportion to the backing stablecoins in the pool. We encourage exchanges to leverage existing pools of liquidity to avoid those fees. If possible, mints or redeems should be done in large batches for maximum efficiency. + +#### Do you have other questions? + +The best way to get help from both our engineering and business teams is usually on [Discord](https://www.originprotocol.com/discord). + diff --git a/tr/how-it-works.md b/tr/how-it-works.md new file mode 100644 index 000000000..ec0271c0f --- /dev/null +++ b/tr/how-it-works.md @@ -0,0 +1,39 @@ +# Nasıl çalışır + +#### % 100 Destekli ve Kararlı + +Origin Dollar (OUSD) is an ERC-20 compliant token for the Ethereum network. + +OUSD, USDT, USDC ve DAI gibi diğer sabit paralar tarafından 1: 1 desteklenen istikrarlı bir para birimidir. Sonuç olarak, 1 OUSD değer olarak her zaman 1 ABD dolarına çok yakın olmalıdır. + +{% hint style="başarı" %} +1 OUSD = 1 USD +{% endhint %} + +#### Buying OUSD + +Users can convert their existing stablecoins (currently USDT, USDC, and DAI) to OUSD at the official [Origin Dollar DApp](https://www.ousd.com). Received OUSD begins accruing compounding yield immediately. + +The Origin DApp will intelligently route user's transactions to give them the best available price while taking slippage and gas costs into consideration. This means that the DApp will sometimes encourage users to buy OUSD that is already in circulation versus minting fresh OUSD from the vault. The OUSD DApp will choose from multiple sources of liquidity and will suggest the option that gives the user the best possible rate. + +**Selling OUSD** + +Users can convert their OUSD back into other stablecoins at any time using the [Origin Dollar DApp](https://www.ousd.com). The Origin DApp will intelligently route user's transactions to give them the best available price while taking slippage, gas costs, and the vault's exit fee into consideration. This means that the DApp will often help users sell their OUSD on AMM's instead of redeeming OUSD with the vault and incurring the protocol's exit fee. + +A 0.25% exit fee is charged upon redemption with the vault. This fee is distributed as additional yield to the remaining participants in the vault (ie. other OUSD holders). The fee serves as a security feature to make it difficult for attackers to take advantage of lagging oracles, preventing them from siphoning stablecoins from the vault in the event of mispriced underlying assets. The fee exists to incentivize long-term holders over short-term speculators. + +Upon redemption, the vault will determine which stablecoin(s) to return to the user. In the current implementation, the vault will return coins in the same ratio as the current holdings. This lack of user optionality also protects the vault as a whole in the event that any of the supported stablecoins loses its peg to the dollar. + +{% hint style="warning" %} +Redemptions on the OUSD vault incur a **0.25% exit fee** and the user doesn't get to pick which stablecoins they receive. Users can often avoid this fee by selling to an AMM instead. +{% endhint %} + +#### Bir**utomated Verim Tarım ( Yield Farming)** + +OUSD generates yields by deploying the underlying stablecoins that were deposited to the OUSD smart contract to other DeFi protocols such as Compound, Aave, and Curve. There may be new diversified strategies added to the vault in the future. Collected interest, trading fees, and rewards tokens are pooled and converted to stablecoins to produce OUSD-denominated yields. Over time, the protocol will move assets in and out of different liquidity pools in order to provide the best yield to the holders of OUSD. + +#### **Elastik Tedarik** + +The generated returns are passed on to the holders of OUSD via constant rebasing of the money supply. OUSD constantly adjusts the money supply in response to the yield the protocol has generated. This allows the price of OUSD to stay pegged at $1 while the balances in token holders' wallets adjust in real-time to reflect yields that have been earned by the protocol. + +The end result is a stablecoin that is easy to spend, earns outsized yields automatically, and is more desirable to hold than existing stablecoins. diff --git a/tr/security-and-risks/asset-risk.md b/tr/security-and-risks/asset-risk.md new file mode 100644 index 000000000..92140f5ed --- /dev/null +++ b/tr/security-and-risks/asset-risk.md @@ -0,0 +1,33 @@ +# Bug Bounties + +**Bug Bounties** + +Bug bounties are granted at the full discretion of Origin Protocol. The rewards range in size from **$100** for minor issues to **$250,000** for major vulnerabilities. Currently, the bounty program only applies to OUSD and not other products from Origin. + +{% hint style="warning" %} +In order to be eligible for a bug bounty, you must follow the rules of Responsible Disclosure outlined below. +{% endhint %} + +**Responsible Disclosure** + +Security is our top priority and we've taken every effort to make sure our code is secure and works as intended. However, it's completely possible that vulnerabilities both large and small may have gone undetected. + +In case you discover a vulnerability, we would like to know about it immediately so we can take steps to address it as quickly as possible. + +If you discover a vulnerability, please do the following: + +* Report your findings to [security@originprotocol.com](mailto:security@originprotcol.com) or contact [Josh Fraser on Keybase](https://keybase.io/joshfraser) +* Do not take advantage of the vulnerability or problem you have discovered +* Do not reveal the problem to others until it has been resolved +* Do not use attacks on physical security, social engineering, distributed denial of service, spam or applications of third parties +* Do provide sufficient information to reproduce the problem, so we will be able to resolve it as quickly as possible. Complex vulnerabilities may require further explanation so we might ask you for additional information. + +In return, we promise: + +* We will respond to your report within 3 business days with our evaluation of the report and an expected resolution date +* If you have followed the instructions above, we will not take any legal action against you in regard to the report +* We will handle your report with strict confidentiality, and not pass on your personal details to third parties without your permission +* If you so wish we will keep you informed of the progress towards resolving the problem +* In the public information concerning the problem reported, we will give your name as the discoverer of the problem \(unless you desire otherwise\) +* As a token of our gratitude for your assistance, we offer a reward for every report of a security problem that was not yet known to us. The amount of the reward will be determined based on the severity of the leak, the quality of the report, and any additional assistance you provide. + diff --git a/tr/security-and-risks/audits.md b/tr/security-and-risks/audits.md new file mode 100644 index 000000000..19d9113f4 --- /dev/null +++ b/tr/security-and-risks/audits.md @@ -0,0 +1,40 @@ +# Denetimler + +**The OUSD Vault, ERC-20, and Overall System** + +OUSD has been audited by multiple, well-respected security firms. We have worked with [OpenZeppelin](https://openzeppelin.com), [Trail of Bits](https://www.trailofbits.com), [Solidified](https://solidified.io), and [Certora](https://www.certora.com) to audit all of the code that powers Origin Dollar. Their findings are available below: + +* [Trail of Bits, OUSD Audit, December 2020](https://github.com/OriginProtocol/security/blob/master/audits/Trail%20of%20Bits%20-%20Origin%20Dollar%20-%20Dec%202020.pdf) +* [Solidified, OUSD Audit, December 2020](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20Origin%20Dollar%20-%20Dec%202020.pdf) +* [Solidified, OGN Staking Audit, December 2020](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20OGN%20Staking%20-%20Dec%202020.pdf) +* [Certora, OUSD Formal Verification Audit, January 2021](https://www.certora.com/pubs/OriginFeb2021.pdf) +* [OpenZeppelin, OUSD Audit, August 2021](https://github.com/OriginProtocol/security/blob/master/audits/OpenZeppelin%20-%20Origin%20Dollar%20-%20October%202021.pdf) +* [Solidified, wOUSD, ERC721a, Governance, Harvester & Dripper Audit, May 2022](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20OGV%2C%20wOUSD%2C%20and%20ERC721a%20-%20May%202022.pdf) + +Both our initial and future governance tokens have been audited as well: + +* [Trail of Bits, OGN Audit, November 2018](https://github.com/OriginProtocol/security/blob/master/audits/Trail%20of%20Bits%20-%20Origin%20Marketplace%20and%20OGN%20Token%20-%20Nov%202018.pdf) +* [Solidified, OGV Audit, May 2022](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20OGV%2C%20wOUSD%2C%20and%20ERC721a%20-%20May%202022.pdf) + +In addition, the underlying strategies and dependencies that OUSD utilizes have been thoroughly audited by various firms. + +{% hint style="info" %} +OUSD only integrates strategies that have been carefully audited and battle-tested with significant capital over an extended period of time. +{% endhint %} + +**Compound Strategy and Open Price Feed** + +Compound has been audited by [Trail of Bits](https://www.trailofbits.com) and [OpenZeppelin](https://openzeppelin.com) and formally verified by [Certora](https://www.certora.com). Visit the Compound website for their [full list of audits](https://compound.finance/docs/security#audits) including the original code for the modified [Timelock](../smart-contracts/api/timelock.md) that OUSD is using. + +**Aave Strategy** + +Aave has been audited by [Trail of Bits](https://www.trailofbits.com), [OpenZeppelin](https://openzeppelin.com), [ConsenSys Diligence](https://consensys.net/diligence/), [Certik](https://certik.io), [MixBytes](https://mixbytes.io), and [PeckShield](https://peckshield.com). They have also been formally verified by [Certora](https://www.certora.com). Visit the Aave website for [their full list of audits](https://docs.aave.com/developers/security-and-audits). + +**Curve Strategy** + +Curve has been audited by [Trail of Bits](https://www.trailofbits.com) and [Quantstamp](https://quantstamp.com). Visit the Curve website for [their full list of audits](https://www.curve.fi/audits). + +**Chainlink Oracles** + +Chainlink has been audited by [Quantstamp](https://github.com/smartcontractkit/chainlink/tree/bafa91c), [SigmaPrime](https://github.com/smartcontractkit/chainlink/tree/cee356), [Callisto](https://gist.github.com/yuriy77k/c3a70d212a7f9ecda715252e45073158), and [Nick Johnson](https://github.com/smartcontractkit/chainlink/tree/5327f9). + diff --git a/tr/security-and-risks/bug-bounties.md b/tr/security-and-risks/bug-bounties.md new file mode 100644 index 000000000..03ac4fad3 --- /dev/null +++ b/tr/security-and-risks/bug-bounties.md @@ -0,0 +1,32 @@ +# Bug Ödülleri + +**Bug Ödülleri** + +Hata ödülleri, Origin Protocol'ün tam takdirine bağlı olarak verilir. The rewards range in size from **$100 OUSD** for minor issues to **$250,000 OUSD** for major vulnerabilities. Şu anda, ödül programı yalnızca OUSD için geçerlidir, Origin'deki diğer ürünler için geçerli değildir. + +{% hint style="uyarı" %} +Bir hata ödülüne hak kazanmak için aşağıda ana hatları verilen Sorumlu Açıklama kurallarına uymanız gerekir. +{% endhint %} + +**Sorumlu Açıklama** + +Güvenlik en büyük önceliğimizdir ve kodumuzun güvenli olduğundan ve amaçlandığı gibi çalıştığından emin olmak için her türlü çabayı gösterdik. Bununla birlikte, hem büyük hem de küçük güvenlik açıklarının tespit edilmemiş olması tamamen mümkündür. + +Bir güvenlik açığı keşfetmeniz durumunda, bunu olabildiğince hızlı bir şekilde ele almak için adımlar atabilmemiz için hemen bunu bilmek isteriz. + +Bir güvenlik açığı keşfederseniz, lütfen aşağıdakileri yapın: + +* Report your findings to [security@originprotocol.com](mailto:security@originprotocol.com) or contact [Josh Fraser on Keybase](https://keybase.io/joshfraser). Here is an example of a [well written disclosure](https://gist.github.com/DanielVF/66f459da88804d1fd917c47576c68523). +* Keşfettiğiniz güvenlik açığından veya sorundan yararlanmayın +* Çözülene kadar sorunu başkalarına açıklamayın +* Fiziksel güvenlik, sosyal mühendislik, dağıtılmış hizmet reddi, spam veya üçüncü taraf uygulamalarına yönelik saldırıları kullanmayın. +* Sorunu yeniden oluşturmak için yeterli bilgi sağlayın, böylece sorunu olabildiğince çabuk çözebiliriz. Complex vulnerabilities may require further explanation so we might ask you for additional information. + +Karşılığında söz veriyoruz: + +* Raporu değerlendirmemiz ve beklenen çözüm tarihiyle 3 iş günü içerisinde raporunuza cevap vereceğiz. +* Yukarıdaki talimatları izlediyseniz, bildirimle ilgili olarak size karşı herhangi bir yasal işlem yapmayacağız. +* Bildiriminizi sıkı bir gizlilik içinde ele alacağız ve kişisel bilgilerinizi izniniz olmadan üçüncü şahıslara vermeyeceğiz. +* Dilerseniz, sorunu çözme yolunda ilerlemenizden sizi haberdar edeceğiz. +* In the public information concerning the problem reported, we will give your name as the discoverer of the problem (unless you desire otherwise) +* Yardımınız için minnettarlığımızın bir göstergesi olarak, henüz bilmediğimiz bir güvenlik sorununun her bildirimi için bir ödül sunuyoruz. Ödül miktarı, sızıntının ciddiyetine, raporun kalitesine ve sağladığınız ek yardımlara göre belirlenecektir. diff --git a/tr/security-and-risks/contributing.md b/tr/security-and-risks/contributing.md new file mode 100644 index 000000000..8c2900687 --- /dev/null +++ b/tr/security-and-risks/contributing.md @@ -0,0 +1,95 @@ +# Katkı + +**% 100 Açık kaynak** + +OUSD tamamen açık kaynaklı bir projedir ve her türden katkıyı memnuniyetle karşılıyoruz. Sorunları bildirmekten, kodlara katkıda bulunmaktan ve topluluğumuzu geliştirmemize yardımcı olmaktan yardım etmenin birçok yolu vardır. + +Halka açık çalışıyoruz ve şirketimiz Discord herkese açık. Sorularınız varsa veya başlamak için yardıma ihtiyacınız varsa, Discord OUSD kanallarımız ekibimizden ve topluluğumuzdan yardım almak için en iyi yerdir. + +**Developer Analytics** + +Our internal developer dashboard is available at [analytics.ousd.com](https://analytics.ousd.com). The dashboard shows the current circulating supply, the assets under management in the vault, and the current allocations between each of the stablecoins and strategies. + +#### Gelişme süreci + +Our branching strategy is similar to [GitFlow](http://nvie.com/posts/a-successful-git-branching-model/), but we do all of our development in the `master` branch and have a `stable` branch for code that has been released. + +Your development flow should look like: + +1. İlginç bir konu bulun ve iletişim kurun! Lütfen `#engineering` [Discord](https://discord.gg/jyxpUSe) kanalına ne üzerinde çalışmak istediğinizi bildirin. +2. Discord'da [çekirdek ekip üyesine](https://github.com/orgs/OriginProtocol/teams/core/members) üye ping atın ve [katılımcı ekibimize eklenmesini isteyin](https://github.com/orgs/OriginProtocol/teams/contributors). Aksi takdirde, ilgili depoyu çatallamanız ve özellik dallarını kendi çatalınıza itmeniz gerekir. +3. Soruna bir yorum ekleyin veya kendi kendinize atayın, böylece istemeden aynı görev üzerinde çalışan birden fazla katılımcımız olmasın. +4. `ana` dalıyla başlayın ve mevcut bir özelliğe katkıda bulunmadığınız sürece yeni bir özellik dalını kontrol edin. +5. Uygun [kodlama stilini](https://docs.originprotocol.com/guides/getting_started/contributing.html#contributing-email-coding-style) izleyin ve harika bir kod yazın. +6. `ana` en son kaydetmeleri alın ve kodunuzun başladığınızdan beri birleştirilen diğer tüm çalışmalarda çalıştığını onaylayın. +7. Branşınızı yukarı akış havuzuna \ (ör. Https: //github.com/OriginProtocol/ \ [repo \] \) gönderin, böylece diğer katkıda bulunanlar gerekirse kolayca çalışabilir. +8. Lütfen sağ sütundaki "İnceleyenler" in yanındaki dişli çark simgesini tıklayarak PR'da bir inceleme talep edin. + +For critical smart contract code to be merged it must pass the following checklist: + +* Code reviewed by 2 reviewers +* Unit tests pass +* Slither tests pass with no warning +* Echidna tests pass + +The `master` branch is locked so that only members of the [core team](https://github.com/orgs/OriginProtocol/teams/core) are able to merge your pull requests. Pull requests that are peer-reviewed by other trusted contributors will be fast-tracked and merged faster! Check in the `#engineering` Discord channel for appropriate reviewers. + +#### Kodlama Stili + +We use a variety of programming languages in our repositories. When contributing, please follow existing coding conventions and refer to the CONTRIBUTING.md file in the repository, if one exists. + +For JavaScript, we use [NPM’s style](https://docs.npmjs.com/misc/coding-style), which is automatically enforced via [prettier](https://prettier.io/). + +For Solidity, we use two-space indents. + +#### Protokol Tasarımı + +When considering protocol or implementation design proposals, we are looking for: + +* A description of the problem this design proposal solves +* Discussion of the trade-offs involved +* Review of other existing solutions +* Links to relevant literature \(RFCs, papers, etc\) +* Discussion of the proposed solution + +Please note that protocol design is hard and meticulous work. You may need to review existing literature and think through generalized use cases. + +#### Topluluk Rehberleri + +We want to keep the Origin community awesome, growing and collaborative. We need your help to keep it that way. To help with this we’ve come up with some general guidelines for the community as a whole: + +* Be nice: Be courteous, respectful and polite to fellow community members: no regional, racial, gender, or other abuse will be tolerated. We like nice people way better than mean ones! +* Encourage diversity and participation: Make everyone in our community feel welcome, regardless of their background and the extent of their contributions, and do everything possible to encourage participation in our community. +* Keep it legal: Basically, don’t get anybody in trouble. Share only content that you own, do not share private or sensitive information, and don’t break laws. +* Stay on topic: Make sure that you are posting to the correct channel and avoid off-topic discussions. Remember when you update an issue or respond to an email you are potentially sending to a large number of people. Please consider this before you update. Also remember that nobody likes spam. + +#### Sorunları Bildirme + +If you find bugs, mistakes or inconsistencies in Origin’s code or documents, please let us know by filing a GitHub issue. No issue is too small. Help us fix our tpyos! + +#### Güvenlik sorunları + +OUSD is still in early development, which means there may be problems with the protocol or in our implementations. We take security vulnerabilities very seriously. If you discover a security issue, please bring it to our attention right away! + +If you find a security vulnerability please send your report privately to [security@originprotocol.com](mailto:security@originprotocol.com) or send an encrypted message to [@joshfraser on Keybase](https://keybase.io/joshfraser). Please DO NOT file a public issue. Be sure to review our guidelines for responsible disclosure and eligibility for bug bounties. + +{% page-ref page="bug-bounties.md" %} + +#### **Topluluk İyileştirme** + +Origin is just as much about community as it is about our technology. + +We need constant help in improving our documentation, building new tools to interface with our platform, spreading the word to new users, helping new users getting setup and much more. + +Please get in touch if you would like to help out. Our `general` channel on [Discord](https://www.originprotocol.com/discord) is a great place to share ideas and volunteer to help. + +#### Tam Zamanlı Pozisyonlar + +Origin occasionally hires developers for part-time or full-time positions. + +We have a strong preference for hiring people who have already started contributing to the project. If you want a full time position on our team, your best shot is to engage with our team and start contributing code. It is very unlikely that we would offer you a full-time position on our engineering team unless you’ve had at least a few pull requests merged. + +If you are interested, check out [the Origin Protocol job listings](https://angel.co/originprotocol/jobs). If you’d like to help in other ways, please propose your ideas in [our Discord channel](https://www.originprotocol.com/discord). + + + diff --git a/tr/security-and-risks/insurance.md b/tr/security-and-risks/insurance.md new file mode 100644 index 000000000..f805d14f1 --- /dev/null +++ b/tr/security-and-risks/insurance.md @@ -0,0 +1,15 @@ +# Insurance + +OUSD holders can buy smart contract insurance to cover any losses that might result from any bugs or vulnerabilities in the OUSD contracts, including economic exploits (such as flash loans attacks). In addition, anyone who wants to make a financial bet on the security of our contracts can earn a yield by providing coverage. + +DeFi coverage for OUSD is currently available via[ Nexus Mutual](https://nexusmutual.io) and [InsurAce Protocol](https://www.insurace.io). These partnerships allow for more effective risk management by OUSD holders while creating new opportunities for coverage providers to profit. + +Read our [announcement post](https://medium.com/originprotocol/origin-partners-with-nexus-mutual-to-offer-defi-insurance-for-origin-dollar-ousd-6eb3432ee042) to learn how to [buy coverage](https://app.nexusmutual.io/cover/buy/get-quote?address=0xE75D77B1865Ae93c7eaa3040B038D7aA7BC02F70), [provide coverage](https://app.nexusmutual.io/staking), or [participate in shield mining campaigns](https://app.nexusmutual.io/rewards) with Nexus Mutual. You can learn more about InsurAce and how to buy coverage on their [user guide](https://docs.insurace.io/landing-page/documentation-1/user-guide) or [documentation](https://docs.insurace.io/landing-page/). + +**Nexus Mutual Coverage** + +Read our[ announcement post](https://medium.com/originprotocol/origin-partners-with-nexus-mutual-to-offer-defi-insurance-for-origin-dollar-ousd-6eb3432ee042) to learn how to[ buy coverage](https://app.nexusmutual.io/cover/buy/get-quote?address=0x0000000000000000000000000000000000000016),[ provide coverage](https://app.nexusmutual.io/staking), and[ participate in shield mining campaigns](https://app.nexusmutual.io/rewards) with Nexus Mutual. + +**InsurAce Protocol Coverage** + +Read InsurAce Protocol’s [User Guide](https://docs.insurace.io/landing-page/documentation-1/user-guide) to learn how to [buy coverage](https://docs.insurace.io/landing-page/documentation-1/user-guide/dashboard) and participate in [underwriting mining](https://docs.insurace.io/landing-page/documentation-1/user-guide/how-to-stake) for OUSD. diff --git a/tr/security-and-risks/risks.md b/tr/security-and-risks/risks.md new file mode 100644 index 000000000..dff9ad376 --- /dev/null +++ b/tr/security-and-risks/risks.md @@ -0,0 +1,44 @@ +# Riskler + +{% hint style="tehlike" %} +Use at your own risk. Do not deploy more capital than you are willing to lose. +{% endhint %} + +As with any yield-generating DeFi product, there are associated risks with holding OUSD that are important to understand. These risks can be broadly classified into 3 categories: + +* OUSD smart contract risk +* Underlying third-party platform risk +* Stabilcoin riskinin altında yatan + +**OUSD smart contract risk** + +Our smart contracts have been [audited](audits.md) by multiple, well-respected security firms. However, it is important to note that even with formal audits, it is still possible for there to be logic errors that could lead to the loss of funds for OUSD holders. The contracts involve complex math and logic. While we have taken every precaution to ensure the safety and security of our smart contracts, users are reminded to use at their own risk. Origin Protocol will not be held responsible for any loss of funds, regardless of who is at fault. + +**Third-party platform risk** + +OUSD is built on top of other DeFi platforms like Aave, Compound, and Curve that add additional smart contract risk. We are choosing to work with platforms that have literally billions of dollars of assets under management and have made a reasonable efforts to ensure the security of their protocols. However, there are no guarantees that the underlying third-party platforms will continue to work as intended, and any failure in an underlying strategy would potentially lead to a loss of funds for OUSD holders. + +**Stablecoin riskleri** + +OUSD'nin yalnızca onu destekleyen stabilcoinler kadar güçlü olduğunu anlamak önemlidir. Any loss of value to an underlying stablecoin asset will cause a similar loss to the value of OUSD. While OUSD is designed to maintain a 1:1 relationship between supply and number of backing stablecoins, it does not guarantee which stablecoins will make up that backing nor the value of those coins. + +Tüm bu stablecoin'lerin önemsiz olmayan karşı taraf riski oluşturduğuna dikkat etmek önemlidir. Özellikle Tether, iyi belgelenmiş bankacılık sorunları ve yasal zorluklar yaşadı. Ek olarak, hem USDT hem de USDC, ihraççılarına sahiplerinin cüzdanlarında para dondurma yetkisi veren arka kapılara sahiptir. While DAI does not have any direct backdoors, its assets can also be negatively impacted since USDC and USDT are accepted as collateral for minting DAI. + +**Risk mitigation** + +While it's impossible to guarantee our contracts are 100% safe, we have taken every step possible to mitigate the chance of losing funds: + +We regularly have our work [audited ](audits.md)by the top auditors in the industry. + +[DeFi insurance](insurance.md) is availble to offer smart contract coverage as an optional add-on service for OUSD holders. + +We have retained [Certora](https://www.certora.com) to formally verify the various security properties of our contracts. They helped us establish automated verifications that will run anytime we update our contract code. We have automated checking for common errors with [Slither](https://github.com/crytic/slither) and [Echidna](https://github.com/crytic/echidna) tests. Together, these alert our team to common security issues in addition to our own test suite. + +Code reviews involving our smart contracts are incredibly rigorous. We require at least two engineers to review each change with a detailed checklist and we prioritize security reviews over new feature development. + +Finally, we have formalized an engineering [rotation](https://github.com/OriginProtocol/security/blob/master/incidents/ROTATION.md) for reviewing [attacks on other projects](https://github.com/OriginProtocol/security/tree/master/incidents) as well as ensuring we deep dive into each of these reviews, including reviewing the affected contracts' source code ourselves. We've observed that attackers often exploit the same fundamental vulnerability on multiple different projects. By reviewing other project's vulnerabilities, we force ourselves to stay up to date on the latest security threats in our industry and are constantly learning from their mistakes. + +**Actions speak louder than words** + +You should also know that many members of the Origin team, including both founders, are holding a significant portion of their personal wealth in OUSD. Origin Protocol's corporate treasury is also holding millions of dollars in OUSD. We have skin in the game and are willing to put our own money at risk with the code we have written. + diff --git a/tr/security-and-risks/untitled.md b/tr/security-and-risks/untitled.md new file mode 100644 index 000000000..21b692090 --- /dev/null +++ b/tr/security-and-risks/untitled.md @@ -0,0 +1,20 @@ +# Audits + +{% hint style="danger" %} +The OUSD smart contracts have not yet been audited. We strongly recommend reviewing our smart contracts before depositing significant amounts of capital. +{% endhint %} + +**OUSD** + +Audits have already been scheduled with the respected security firm, [Trail of Bits](https://www.trailofbits.com/), for early October 2020. Their audit results will be publicly released as soon as they are available. + +**Supported Strategies** + +Multiple audits for Compound have already been completed and are available on their website. This includes the original code for the modified [Timelock](../smart-contracts/api/timelock-1.md) that OUSD is using. + +{% page-ref page="untitled.md" %} + + + + + diff --git a/tr/smart-contracts/api/README.md b/tr/smart-contracts/api/README.md new file mode 100644 index 000000000..88667ab5c --- /dev/null +++ b/tr/smart-contracts/api/README.md @@ -0,0 +1,9 @@ +# API + +Documentation of contracts API used by the protocol: + +* [Kasa](vault.md) +* [ERC-20](erc-20-1.md) +* [zaman kilidi](timelock.md) +* [Stategies](strategies.md) + diff --git a/tr/smart-contracts/api/erc-20-1.md b/tr/smart-contracts/api/erc-20-1.md new file mode 100644 index 000000000..fe61a83a1 --- /dev/null +++ b/tr/smart-contracts/api/erc-20-1.md @@ -0,0 +1,16 @@ +# ERC-20 + +{% hint style="success" %} +The main ERC20 address for Origin Dollar (OUSD) is: \ **0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +OUSD is an ERC-20 compliant token with one novel property (elastic supply) that is important to understand. + +{% hint style="uyarı" %} +OUSD'yi entegre etmek isteyen cüzdanlar ve borsalar, token sahiplerine getiri tahakkuk ettikçe bu değer sık sık değişeceğinden, OUSD için token bakiyelerini önbelleğe almamalıdır. +{% endhint %} + +The biggest difference separating OUSD from your average ERC-20 token is the way OUSD's`balanceOf()` function will return a variable amount based on the total value of the vault multiplied by the holder's stake in the vault. Bu fark, özellikle OUSD tokenını entegre etmek isteyen cüzdanlar ve borsalar için çok önemlidir. OUSD sık sık yeniden ürettiği için bu değer önbelleğe alınmak yerine gerçek zamanlı olarak getirilmelidir. + + + diff --git a/tr/smart-contracts/api/oracle.md b/tr/smart-contracts/api/oracle.md new file mode 100644 index 000000000..d7b2f152c --- /dev/null +++ b/tr/smart-contracts/api/oracle.md @@ -0,0 +1,7 @@ +# Oracle'lar + +{% hint style="bilgi" %} +Belgeler çok yakında. +{% endhint %} + +OUSD uses Chainlink [oracles](../../core-concepts/price-oracles.md) to secure the protocol from pricing attacks. You can [read more about our decision to work with Chainlink](https://blog.originprotocol.com/how-origin-uses-chainlink-oracles-to-secure-ousd-bff5601e840e) on the Origin blog. diff --git a/tr/smart-contracts/api/ousd.md b/tr/smart-contracts/api/ousd.md new file mode 100644 index 000000000..4106b529f --- /dev/null +++ b/tr/smart-contracts/api/ousd.md @@ -0,0 +1,8 @@ +# OUSD + +{% hint style="bilgi" %} +Belgeler çok yakında. +{% endhint %} + + + diff --git a/tr/smart-contracts/api/strategies.md b/tr/smart-contracts/api/strategies.md new file mode 100644 index 000000000..a0ed94509 --- /dev/null +++ b/tr/smart-contracts/api/strategies.md @@ -0,0 +1,14 @@ +# Stratejiler + +{% hint style="info" %} +Documentation coming soon. +{% endhint %} + +New strategies can be added or removed at any time to respond to new market realities and diversify risk. + +Once we migrate to decentralized governance, it is our intent for the community to propose new strategies and to vote on the appropriate weight for each strategy in the pool. We anticipate that most OUSD holders will value having some exposure to higher yield opportunities while maintaining more conservative positions for a portion of the funds. + + + + + diff --git a/tr/smart-contracts/api/timelock-1.md b/tr/smart-contracts/api/timelock-1.md new file mode 100644 index 000000000..88954aca7 --- /dev/null +++ b/tr/smart-contracts/api/timelock-1.md @@ -0,0 +1,22 @@ +# Timelock + +{% hint style="danger" %} +The timelock will be added soon after everything is verified as working. Until then, the contracts will be governed by Origin's 5 of 8 multi-sig. This allows for a faster response if any critical issues are discovered. +{% endhint %} + +The timelock contract enforces a 48 hour wait period before any changes to the OUSD contracts can be executed. The timelock can be called by our multi-sig and is the owner of our [ERC-20](../architecture.md), [Vault](vault.md), and [Strategies](strategies.md) contracts. Time-delaying admin actions gives users a chance to exit OUSD if its admins become malicious, are compromised, or make a change that the users do not like. + +{% hint style="info" %} +The timelock is a safety measure that gives OUSD holders 48 hours to withdraw their funds if they have objections to any proposed upgrades to the protocol. +{% endhint %} + +OUSD is using a slightly modified version of the [Compound Timelock](https://compound.finance/docs/governance) which has been [audited by OpenZeppelin](https://blog.openzeppelin.com/compound-finance-patch-audit/). The 3 notable differences are: + +1. OUSD will initially use a shorter wait period \(48 hours\) than Compound \(72 hours\) to allow for a faster response if any issues are discovered. +2. Once the 48 hours have passed, anyone is free to execute the call, not just the owner of the contract. +3. Deposits \(but not withdrawals or transfers\) can be immediately frozen without requiring the 48 waiting period. This is in case a major vulnerability is discovered. + + + + + diff --git a/tr/smart-contracts/api/timelock.md b/tr/smart-contracts/api/timelock.md new file mode 100644 index 000000000..ea31712a8 --- /dev/null +++ b/tr/smart-contracts/api/timelock.md @@ -0,0 +1,15 @@ +# zaman kilidi + +The timelock contract enforces a 48 hour wait period before any changes to the OUSD contracts can be executed. The timelock can be called by our multi-sig and is the owner of our [ERC-20](../architecture.md), [Vault](vault.md), and [Strategies](strategies.md) contracts. Time-delaying admin actions gives users a chance to exit OUSD if its admins become malicious, are compromised, or make a change that the users do not like. + +{% hint style="info" %} +The timelock is a safety measure that gives OUSD holders 48 hours to withdraw their funds if they have objections to any proposed upgrades to the protocol. +{% endhint %} + +OUSD is using a slightly modified version of the [Compound Timelock](https://compound.finance/docs/governance) which has been [audited by OpenZeppelin](https://blog.openzeppelin.com/compound-finance-patch-audit/). The two notable differences are: + +1. OUSD will initially use a shorter wait period (48 hours) than Compound (72 hours) to allow for a faster response if any issues are discovered. +2. Some actions, such as reallocating funds between existing strategies and freezing deposits can be called immediately by a multisig wallet without requiring the 48 waiting period. This is in case a major vulnerability is discovered. + + + diff --git a/tr/smart-contracts/api/vault.md b/tr/smart-contracts/api/vault.md new file mode 100644 index 000000000..334ca29ff --- /dev/null +++ b/tr/smart-contracts/api/vault.md @@ -0,0 +1,184 @@ +--- +description: >- + Kasa, protokolün merkezinde yer alır. Kasa, OUSD tokenlarını basmak / kullanmaktan, çeşitli desteklenen stratejiler arasında fonları yeniden dengelemekten ve ödül tokenlarını tasfiye etmekten sorumludur. +--- + +# Kasa + +## Units + +All OUSD amounts passed or returned by the Vault methods use 18 decimal places. For example, 1 OUSD is expressed as 1000000000000000000. + +For other stable coins, the number of decimal places varies. DAI uses 18 decimal places while USDC and USDT use only 6. + +The protocol was updated in November are [currently underway](https://github.com/OriginProtocol/origin-dollar/issues/590) to increase the resolution of rebasing calculations from 18 decimals to 27 decimals. The OUSD token itself will still retain 18 decimals of precision and user balances should not change. + +## Methods‌ + +### mint() + +**`function mint(address _asset, uint256 _amount, uint256 _minimumOusdAmount)`**‌ + +Mints OUSD in exchange for a deposit of a certain `_amount` of stablecoin specified by the `_asset` parameter. The caller receives a certain amount of OUSD depending on the **exchange rate**. + +| Parametre adı | Tür | Açıklama | +| --------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | +| \_asset | address | Address of the [supported](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/core-concepts/supported-assets) stablecoin | +| \_Miktar | uint256 | Amount deposited, expressed in decimal units | +| \_minimumOusdAmount | uint256 | Minimum amount of OUSD the caller is willing to receive. The call to mint() reverts if the minimum is not met. | + +### mintMultiple() + +**`function mintMultiple(address[] _assets, uint256[] _amounts, uint256 _minimumOusdAmount)`**‌ + +Mints OUSD in exchange for a deposit of multiple stablecoins in a single call. Stablecoins are specified by the `_assets` array parameter and the amounts by the `_amounts` array parameter. The caller receives a certain amount of OUSD depending on the **exchange rate**. + +| Parametre adı | Tür | Açıklama | +| --------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| \_assets CONTEXT | address\[] | Addresses of the [supported](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/core-concepts/supported-assets) stablecoins | +| \_Miktar | uint256\[] | Amounts deposited, expressed in decimal units | +| \_minimumOusdAmount | uint256 | Minimum amount of OUSD the caller is willing to receive. The call to mint() reverts if the minimum is not met. | + +{% hint style="warning" %} +On redemptions, it is the protocol and not the user that decides which stablecoin(s) are returned to the user. This decision of which coin(s) to return is based on the internal ratios of the assets that are being held in the vault.‌ +{% endhint %} + +### redeem() + +**`function redeem(uint256 _amount)`**‌ + +OUSD specified by the `_amount` parameter is redeemed in exchange for one or multiple supported stablecoins. Amount of stablecoins received depends on the **exchange rate**. + +| Parametre adı | Tür | Açıklama | +| ------------------ | ------- | ------------------------------------------------ | +| \_amount CONTEXT | uint256 | ondalık birimlerle ifade edilen yatırılan miktar | + +### redeemAll()‌ + +**`function redeemAll()`**‌ + +All OUSD in user's possession is redeemed in exchange for one or multiple supported stablecoins. Amount of stablecoins received depends on the **exchange rate**. + +### rebase() + +**`function rebase()`**‌ + +Updates the balances for all users based on the value of the assets currently stored in the vault. Returns total value of the underlying assets and strategies represented by `uint256` type.‌ + +### allocate() + +**`function allocate()`**‌ + +Moves the assets under management into their prescribed [Stategies](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/architecture/strategies) to maximize yield and diversify risk.‌ + +### totalValue() + +**`function totalValue()`**‌ + +Returns total value of underlying assets and strategies. + +| `dönüş` isim | Tür | Açıklama | +| ------------ | ------- | --------------------------------------------------------- | +| değer | uint256 | Temel varlıkların ve stratejilerin toplam değerini verir. | + +### checkBalance() + +**`function checkBalance(address _asset)`**‌ + +Returns the balance of an asset specified by the`_asset` parameter held in Vault and all strategies represented by `uint256` type. + +| Parametre adı | Tür | Açıklama | +| ------------- | ----- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | +| \_varlık | adres | Address of the [supported](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/core-concepts/supported-assets) stablecoin | + +### calculateRedeemOutputs() + +**`function calculateRedeemOutputs(uint256 _amount)`**‌ + +Calculate the mix of stablecoins that a `redeem` function would return when redeeming certain amount of OUSD specified by the `_amount` parameter. Returns an array of stablecoin values. + +To attribute the stablecoin values to the correct stablecoin currency this call should be used in conjunction with `getAllAssets` function that returns an array of stablecoin addresses. + +The index of an array that is returned by the `calculateRedeemOutputs` corresponds to the stablecoin address with the same index in an array returned by the `getAllAssets` function. + +| Parametre adı | Tür | Açıklama | +| ------------- | ------- | ------------------------------------------------ | +| \_Miktar | uint256 | ondalık birimlerle ifade edilen yatırılan miktar | + +| `dönüş` isim | Tür | Açıklama | +| ------------ | ----------- | ------------------------------------------------------------------------ | +| çıktılar | uint256\[] | stabilcoin varlıklarının miktarı dizisi `paraya çevirme` işlevi döndürür | + +### getAssetCount() + +**`function getAssetCount()`**‌ + +Return the number of supported stablecoin assets represented by `uint256` type.‌ + +### getAllAssets() + +**`function getAllAssets()`**‌ + +Return all assets addresses of supported stablecoin assets in order represented by `uint256` type.‌ + +### getStrategyCount()‌ + +**`function getStrategyCount()`**‌ + +Return the number of strategies active on the Vault represented by `uint256` type.‌ + +### getAPR() + +**`function getAPR()`**‌ + +Return the total annual percentage yield (APR) of the Vault and all Strategies represented by `uint256` type. Resulting number has 18 decimal places.‌ + +### isSupportedAsset() + +**`function isSupportedAsset(address _asset)`**‌ + +Return the boolean that is true if the asset specified by the `_asset` parameter is supported by the Vault. + +| Parametre adı | Tür | Açıklama | +| ------------- | ----- | -------------------- | +| \_varlık | adres | Stabilcoin'in adresi | + +### priceUSDMint() + +**`function priceUSDMint(string symbol)`**‌‌ + +Returns the exchange rate price of a stable coin specified by the `symbol` parameters used when minting OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Parametre adı | Tür | Açıklama | +| ------------- | ---- | --------------------- | +| sembol | dizi | Stabilcoin'in sembolü | + +### priceUSDRedeem() + +**`function priceUSDRedeem(string symbol)`**‌‌ + +Returns the exchange rate price of a stable coin specified by the `symbol` parameters used when redeeming OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Parametre adı | Tür | Açıklama | +| ------------- | ---- | --------------------- | +| sembol | dizi | Stabilcoin'in sembolü | + +### priceAssetUSDMint()‌ + +**`function priceAssetUSDMint(address _asset)`**‌‌ + +Returns the exchange rate price of a stable coin specified by the `_asset` parameters used when minting OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Parametre adı | Tür | Açıklama | +| ------------- | ------- | --------------------- | +| \_varlık | address | Stabilcoin'in adresi‌ | + +### priceAssetUSDRedeem()‌ + +**`function priceAssetUSDRedeem(address _asset)`**‌‌‌ + +Returns the exchange rate price of a stable coin specified by the `_asset` parameters used when redeeming OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Parametre adı | Tür | Açıklama | +| ------------- | ----- | -------------------- | +| \_varlık | adres | Stabilcoin'in adresi | diff --git a/tr/smart-contracts/architecture.md b/tr/smart-contracts/architecture.md new file mode 100644 index 000000000..61be89da7 --- /dev/null +++ b/tr/smart-contracts/architecture.md @@ -0,0 +1,18 @@ +# Mimari + +![](../.gitbook/assets/ousd\_docs\_graphics\_3.png) + +OUSD, bir dizi akıllı sözleşmeden oluşur. Bu sözleşmelerin her biri, yönetişim protokolleri aracılığıyla yükseltilebilen bir vekil sözleşmesine sarılmıştır. + +Internally, ownership in the vault is tracked using a credits system that represents the percent ownership of the vault for each holder. ERC-20 sözleşmesi, bir bakiyeyi görüntülerken veya cüzdanlar arasında bir transfer başlatırken USD şartlarına dönüştürmeyi ele alır. + +[Vault](api/vault.md) , OUSD'nin basılması ve yakılmasından sorumludur. Ayrıca, desteklenen [ Stratejileri ](../core-concepts/supported-strategies/) 'nin her birine dağıtılan varlıkların yüzdesini de uygular. To optimize gas costs, the vault may maintain a buffer to allow most deposits and redemptions to occur without winding/unwinding assets from strategies. + +The Flipper is a smart contract for users to swap in and out of OUSD cheaply for any of DAI, USDC, or USDT at a fixed 1:1 rate. This contract is used as an alternative way to route user transactions originating from the web app. It's important to note that this contract may be empty on one side (e.g., contain 0 OUSD balance), and thus sometimes provides limited swap routes. While limited in functionality, Flipper uses around 45% less gas than Uniswap v3 due to its simplicity. + +The Harvester contract collects reward tokens earned by the strategies, sells them, and sends the resulting stablecoins to the Dripper to be released to the vault. Anyone can call the harvest and earn 1% of the resulting USDT for doing so. This creates a self-incentivizing system that operates at a known fixed cost. See our [incentivized-harvesting-guide.md](../guides/incentivized-harvesting-guide.md "mention") for details. + +The Dripper contract buffers aproximately one week of reward token sales proceeds and makes it avaiable at a smooth rate to the vault. This keeps OUSD yield from being extremely spiky when harvests come in. The rate is recalculated at least once per day and is the rate that it would take to distribute the current dripper holdings out over a one week period. + + + diff --git a/tr/smart-contracts/erc-20.md b/tr/smart-contracts/erc-20.md new file mode 100644 index 000000000..c3a21d407 --- /dev/null +++ b/tr/smart-contracts/erc-20.md @@ -0,0 +1,12 @@ +# Architecture + +![](../.gitbook/assets/ousd_docs_graphics_3.png) + +OUSD is made up of a series of smart contracts. Each of these contracts is wrapped in a proxy contract that can be upgraded via the governance protocols. + +Internally, ownership in the pool is tracked using a credits system that represents the percent ownership of the pool for each holder. The [ERC-20](api/erc-20-1.md) contract handles the conversion to USD terms when viewing a balance or initiating a transfer between wallets. + +The [Vault](api/vault.md) is responsible for minting and burning OUSD. It also enforces the percentage of assets that are deployed to each of the supported [Strategies](../core-concepts/supported-strategies/). To optimize gas costs, the vault maintains a buffer to allow most deposits and redemptions to occur without winding/unwinding assets from strategies. + + + diff --git a/tr/smart-contracts/registry.md b/tr/smart-contracts/registry.md new file mode 100644 index 000000000..2ef1b9aab --- /dev/null +++ b/tr/smart-contracts/registry.md @@ -0,0 +1,156 @@ +# Kayıt + +Ethereum ana ağına dağıtılan OUSD akıllı sözleşmelerinin tam kaydı burada. + +{% hint style="success" %} +The main ERC20 address for Origin Dollar (OUSD) is: \ +**0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +{% tabs %} +{% tab title="Core" %} +Well-known addresses (proxy wrappers): + + + +| Kontrakt | Adres | ENS | +| -------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------- | +| OUSD | [0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86](https://etherscan.io/address/0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86) |

ousd.eth

origindollar.eth

| +| Kasa | [0xE75D77B1865Ae93c7eaa3040B038D7aA7BC02F70](https://etherscan.io/address/0xe75d77b1865ae93c7eaa3040b038d7aa7bc02f70) | [originvault.eth](https://etherscan.io/address/originvault.eth) | + + + +Internal implementation contracts. The Vault is split into VaultAdmin and VaultCore to work around the maximum contract size limit on Ethereum: + + + +| Kontrakt | Adres | +| ---------- | --------------------------------------------------------------------------------------------------------------------- | +| OUSD | [0x33db8d52d65F75E4cdDA1b02463760c9561A2aa1](https://etherscan.io/address/0x33db8d52d65F75E4cdDA1b02463760c9561A2aa1) | +| VaultAdmin | [0x3EB68D8f4992A0e34aA58cc3dF86A40814078cF6](https://etherscan.io/address/0x3EB68D8f4992A0e34aA58cc3dF86A40814078cF6) | +| VaultCore | [0x226de75867B2f785BA19600e2a7e6eFccD57157B](https://etherscan.io/address/0x226de75867B2f785BA19600e2a7e6eFccD57157B) | +{% endtab %} + +{% tab title="Strategies" %} +Well-known addresses (proxy wrappers): + + + +| Strategy | Address | Auto-Allocation | +| -------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------- | +| Aave | [0x5e3646A1Db86993f73E6b74A57D8640B69F7e259](https://etherscan.io/address/0x5e3646A1Db86993f73E6b74A57D8640B69F7e259) | Manual allocation | +| Compound | [0x9c459eeb3FA179a40329b81C1635525e9A0Ef094](https://etherscan.io/address/0x9c459eeb3FA179a40329b81C1635525e9A0Ef094) | 100% of USDC, USDT and DAI | +| Convex | [0xEA2Ef2e2E5A749D4A66b41Db9aD85a38Aa264cb3](https://etherscan.io/address/0xEA2Ef2e2E5A749D4A66b41Db9aD85a38Aa264cb3#code) | Manual allocation | + + + +Internal implementation contracts: + + + +| Strategy | Address | +| -------- | -------------------------------------------------------------------------------------------------------------------------- | +| Aave | [0xA050eBE34Be464902F7E0F7F451f4B5253d57114](https://etherscan.io/address/0xA050eBE34Be464902F7E0F7F451f4B5253d57114) | +| Compound | [0x47f3eb71b5507df5ab6ac7f8660ef282ab0e560f](https://etherscan.io/address/0x47f3eb71b5507dF5Ab6aC7F8660Ef282Ab0E560f) | +| Convex | [0x08f3a0637851aA1B0E0750aA3d46E0E356f349aC](https://etherscan.io/address/0x08f3a0637851aa1b0e0750aa3d46e0e356f349ac#code) | + + + +Yield harvesting and collection: + + + +| | | +| --------- | -------------------------------------------------------------------------------------------------------------------------- | +| Contract | Address | +| Harvester | [0x21fb5812d70b3396880d30e90d9e5c1202266c89](https://etherscan.io/address/0x21fb5812d70b3396880d30e90d9e5c1202266c89#code) | +| Dripper | [0x80c898ae5e56f888365e235ceb8cea3eb726cb58](https://etherscan.io/address/0x80c898ae5e56f888365e235ceb8cea3eb726cb58#code) | +{% endtab %} + +{% tab title="Oracles" %} +The following Chainlink oracles are used to protect the vault in case a backing stablecoin loses value. They also offer slippage protection when harvesting rewards tokens or executing the OGN buyback. + + + +| Pair | Contract | +| ------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| [USDT/USD](https://data.chain.link/ethereum/mainnet/stablecoins/usdt-usd) | [0x3E7d1eAB13ad0104d2750B8863b489D65364e32D](https://etherscan.io/address/0x3E7d1eAB13ad0104d2750B8863b489D65364e32D) | +| [USDC/USD](https://data.chain.link/ethereum/mainnet/stablecoins/usdc-usd) | [0x8fFfFfd4AfB6115b954Bd326cbe7B4BA576818f6](https://etherscan.io/address/0x8fFfFfd4AfB6115b954Bd326cbe7B4BA576818f6) | +| [DAI/USD](https://data.chain.link/ethereum/mainnet/stablecoins/dai-usd) | [0xAed0c38402a5d19df6E4c03F4E2DceD6e29c1ee9](https://etherscan.io/address/0xAed0c38402a5d19df6E4c03F4E2DceD6e29c1ee9) | +| [COMP/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/comp-usd) | [0xdbd020caef83efd542f4de03e3cf0c28a4428bd5](https://etherscan.io/address/0xdbd020caef83efd542f4de03e3cf0c28a4428bd5) | +| [AAVE/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/aave-usd) | [0x547a514d5e3769680Ce22B2361c10Ea13619e8a9](https://etherscan.io/address/0x547a514d5e3769680Ce22B2361c10Ea13619e8a9) | +| [CRV/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/crv-usd) | [0xcd627aa160a6fa45eb793d19ef54f5062f20f33f](https://etherscan.io/address/0xcd627aa160a6fa45eb793d19ef54f5062f20f33f) | +| [CVX/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/cvx-usd) | [0xd962fC30A72A84cE50161031391756Bf2876Af5D](https://etherscan.io/address/0xd962fC30A72A84cE50161031391756Bf2876Af5D) | +| [OGN/ETH](https://data.chain.link/ethereum/mainnet/crypto-eth/ogn-eth) | [0x2c881b6f3f6b5ff6c975813f87a4dad0b241c15b](https://etherscan.io/address/0x2c881b6f3f6b5ff6c975813f87a4dad0b241c15b) | +{% endtab %} + +{% tab title="Governance" %} + + +| Contract | Address | ENS | +| ------------------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------- | +| 5 of 8 Multisig | [0xbe2AB3d3d8F6a32b96414ebbd865dBD276d3d899](https://etherscan.io/address/0xbe2AB3d3d8F6a32b96414ebbd865dBD276d3d899) | [originprotocol.eth](https://etherscan.io/address/originprotocol.eth) | +| 2 of 9 Multisig | [0xF14BBdf064E3F67f51cd9BD646aE3716aD938FDC](https://etherscan.io/address/0xF14BBdf064E3F67f51cd9BD646aE3716aD938FDC) | [originstrategist.eth](https://etherscan.io/address/originstrategist.eth) | +| Governor / Timelock | [0x72426BA137DEC62657306b12B1E869d43FeC6eC7](https://etherscan.io/address/0x72426BA137DEC62657306b12B1E869d43FeC6eC7) |

origingovernor.eth

origintimelock.eth

| +| OGN Buyback | [0x77314EB392b2be47C014cde0706908b3307Ad6a9](https://etherscan.io/address/0x77314EB392b2be47C014cde0706908b3307Ad6a9) | [originbuyback.eth](https://etherscan.io/address/originbuyback.eth) | +{% endtab %} + +{% tab title="Stablecoins" %} +| Contract | Address | +| ------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| [USDT](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | [0xdac17f958d2ee523a2206206994597c13d831ec7](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | +| [USDC](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | [0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | +| [DAI](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | [0x6b175474e89094c44da98b954eedeac495271d0f](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | +{% endtab %} + +{% tab title="Staking" %} +| Contract | Address | ENS | +| ----------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- | +| OGN Staking | [0x501804B374EF06fa9C427476147ac09F1551B9A0](https://etherscan.io/address/0x501804B374EF06fa9C427476147ac09F1551B9A0) | [originstaking.eth](https://etherscan.io/address/originstaking.eth) | + + + +Internal implementation contracts: + + + +| Contract | Address | +| ----------- | --------------------------------------------------------------------------------------------------------------------- | +| OGN Staking | [0x8cd68a1e0b79150455c5498882d5d5d3df2dde08](https://etherscan.io/address/0x8cd68a1e0b79150455c5498882d5d5d3df2dde08) | + + + +OUSD compensation contract ([details](https://medium.com/originprotocol/origin-delivers-on-compensation-promise-claim-your-ousd-and-ogn-now-a9fa9b840476)): + + + +| Contract | Address | +| ----------------- | --------------------------------------------------------------------------------------------------------------------- | +| OUSD Compensation | [0x9C94df9d594BA1eb94430C006c269C314B1A8281](https://etherscan.io/address/0x9C94df9d594BA1eb94430C006c269C314B1A8281) | +{% endtab %} + +{% tab title="Flipper" %} +Flipper is a gas-optimized way for users to swap in and out of OUSD at a fixed 1:1 rate with other stablecoins. This contract may become empty on one side (e.g., contain 0 OUSD balance), and thus sometimes provides limited swap routes. + + + +| Contract | Address | ENS | +| -------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- | +| Flipper | [0xcecaD69d7D4Ed6D52eFcFA028aF8732F27e08F70](https://etherscan.io/address/0xcecaD69d7D4Ed6D52eFcFA028aF8732F27e08F70) | [originflipper.eth](https://etherscan.io/address/originflipper.eth) | +{% endtab %} + +{% tab title="Wrapped" %} +Wrapped OUSD\ +\ **Well known proxy address:** - [0xD2af830E8CBdFed6CC11Bab697bB25496ed6FA62](https://etherscan.io/address/0xD2af830E8CBdFed6CC11Bab697bB25496ed6FA62) + +Internal implementation address - [0xbf3b9b141cb3629f5bb8f721cba9265c92494539](https://etherscan.io/address/0xbf3b9b141cb3629f5bb8f721cba9265c92494539) +{% endtab %} +{% endtabs %} + + + + + + + + diff --git a/vi/README.md b/vi/README.md new file mode 100644 index 000000000..9f020d3be --- /dev/null +++ b/vi/README.md @@ -0,0 +1,29 @@ +--- +description: Đồng stablecoin đầu tiên cho phép kiếm lợi nhuận ngay cả khi được giữ trong ví của bạn +--- + +# Giới thiệu + +## **Vượt trội hơn tiền tệ thông thường** + +Origin Dollar (OUSD) is a new stablecoin that was initially launched in September 2020 on the Ethereum network. Thiết kế của nó vượt trội hơn so với các loại stablecoin hiện có vì OUSD thu được lãi suất cạnh tranh ngay cả khi được giữ trên ví của người dùng. + +![](.gitbook/assets/origin-dollar-summary.jpeg) + +**Tiểu sử** + +In 1999, Yu Pan, Origin’s R\&D engineer, and his fellow PayPal co-founders [conceived](https://www.cnbc.com/2017/08/14/david-sacks-cryptocurrency-interview.html) of creating “the new world currency”, complete with interest yielding strategies and debit cards without having to connect to traditional banking systems. Sau một số thay đổi và sau đó được eBay mua lại, PayPal đã từ bỏ tham vọng của mình trong lĩnh vực này. + +Gần hai thập kỷ sau, năm 2014, Tether đã giới thiệu USDT - đồng stablecoin có mệnh giá tương đương USD. Kể từ đó, stablecoin đã trở thành phương thức chuyển tiền lý tưởng, người dùng không còn phải chịu sự biến động về giá như các loại tiền thả nổi khác. Ngày nay, Giá trị được [chuyển qua Tether](https://www.bloomberg.com/news/articles/2019-10-01/tether-not-bitcoin-likely-the-world-s-most-used-cryptocurrency) nhiều hơn so với Bitcoin. Meanwhile, Decentralized Finance (DeFi) has experienced an explosion of growth with [billions of dollars](https://defipulse.com) of capital now locked up in smart contracts that generate yields from lending and trading protocols. + +Một trong những vấn đề mà người dùng gặp phải khi sử dụng các stablecoin hiện tại là phải liên tục lựa chọn giữa việc giữ trong ví để phục vụ các khoản chi tiêu/ đầu tư tức thì hay khóa lại trong các hợp đồng thông minh để nhận lãi suất. Ví dụ: người dùng khóa USDC trong Aave thì không thể sử dụng số tiền bị khoá cho mục đích khác. Ngoài ra, khi mở khoá token để chi tiêu thì họ còn phải chịu thêm Phí Gas đắt đỏ. + +Tệ hơn nữa, lợi nhuận thu được từ các hoạt động cho vay và giao dịch luôn thay đổi. Những người kiếm được lợi nhuận DeFi sành sỏi đã quen với việc liên tục phải cân bằng lại danh mục tài sản của họ trên nhiều nền tảng cạnh tranh. Việc này tốn kém thời gian và tốn kém vì phí gas một lần nữa ăn vào lợi nhuận. Ngoài ra, việc tính toán ROI thực sẽ tốn nhiều thời gian vì APY không ổn định và liên tục dao động. Hiện tai, chưa có 1 đơn vị tính toán để ước tính lợi nhuận một cách dễ dàng. Do đó, mặc dù DeFi đang phát triển cực kỳ nhanh chóng, tuy nhiên tính phức tạp của nó vẫn là rào cản cho rất nhiều người chơi tiền điện tử. + +Với OUSD, bạn không cần phải mở khoá hay thực hiện các thủ tục phức tạp khi muốn sử dụng tiền của mình. Bạn có thể tự do chuyển tiền mà không phải bận tâm tới chi phí gas đắt đỏ. Ngoài ra, OUSD cho phép bạn tiếp cận một số cơ hội kiếm tiền trên DeFi một cách dễ dàng. Hợp đồng thông minh OUSD sẽ chuyển vốn của bạn tới một tập hợp đa dạng các chiến lược thu lợi nhuận, tái cân bằng theo thời gian để đạt được lợi suất tối đa đồng thời đa dạng hóa rủi ro. Lãi sẽ được cộng liên tục bất kỳ lúc nào bạn giữ OUSD trong ví. Và xin nhắc lại, để nhận lãi suất, bạn không cần phải khoá OUSD. OUSD cũng đóng vai trò như một đơn vị tài khoản lý tưởng. Người đầu tư vào DeFi không còn cần đến các bảng tính phức tạp để tính toán thu nhập của mình nữa vì họ có thể dễ dàng kiểm tra số dư OUSD bao gồm gốc và lãi được cập nhật liên tục. OUSD là một stablecoin lý tưởng cho mọi người chơi DeFi kể cả những người mới biết tới lĩnh vực này. + +Origin Dollar được xây dựng bởi [đội ngũ](https://www.originprotocol.com/team) thành viên của [Origin Protocol](https://www.originprotocol.com) bao gồm các doanh nhân nối tiếp, nhà đầu tư tiền điện tử đời đầu, các nhân viên đầu tiên tại YouTube, giám đốc kỹ thuật tại Google / Dropbox và một trong những đồng sáng lập Paypal - Yu Pan. + +Đối với những người quan tâm đến việc tìm hiểu chi tiết kỹ thuật về cách hoạt động của Ousd, tài liệu này là nơi lý tưởng để bắt đầu. We encourage developers to audit and contribute to our [Github](http://www.github.com/OriginProtocol) (100% open-source). Nhóm của chúng tôi luôn có mặt ở trên [Discord](https://www.originprotocol.com/discord) nếu bạn có thắc mắc hoặc cần bất kỳ hỗ trợ nào. + +Chào mừng đến với tiền tệ của tương lai. diff --git a/vi/SUMMARY.md b/vi/SUMMARY.md new file mode 100644 index 000000000..4d8e37a3c --- /dev/null +++ b/vi/SUMMARY.md @@ -0,0 +1,64 @@ +# Phụ lục + +* [Introducing OUSD](README.md) +* [Cơ chế hoạt động](how-it-works.md) +* [Các bước cơ bản](getting-started.md) +* [Bảng phân tích](analytics-dashboard.md) +* [Câu hỏi thường gặp](faq.md) + +## Nội dung chính + +* [Cung linh hoạt](core-concepts/elastic-supply/README.md) + * [Rebasing & Hợp đồng thông minh](core-concepts/elastic-supply/rebasing-and-smart-contracts.md) +* [Nguồn tạo lợi nhuận](core-concepts/yield-generation/README.md) + * [Cho vay](core-concepts/yield-generation/lending.md) + * [Tạo lập thị trường](core-concepts/yield-generation/market-making.md) + * [Nhận thưởng](core-concepts/yield-generation/rewards.md) +* [Wrapped OUSD](core-concepts/wrapped-ousd.md) +* [Supported Stablecoins](core-concepts/supported-stablecoins/README.md) + * [USDT](core-concepts/supported-stablecoins/usdt.md) + * [USDC](core-concepts/supported-stablecoins/usdc.md) + * [DAI](core-concepts/supported-stablecoins/dai.md) +* [Supported Strategies](core-concepts/supported-strategies/README.md) + * [Compound](core-concepts/supported-strategies/compound.md) + * [Aave](core-concepts/supported-strategies/aave.md) + * [Curve](core-concepts/supported-strategies/curve.md) + * [Convex](core-concepts/supported-strategies/convex.md) +* [Fund Management](core-concepts/fund-management.md) +* [Price Oracles](core-concepts/price-oracles.md) + +## Quản trị + +* [Nguyên tắc](governance/principles.md) +* [Đặc quyền của quản trị viên](governance/admin-privileges.md) +* [Stake OGN](governance/ogn-staking.md) +* [Đóng góp](governance/contributing.md) +* [Vote Delegation](governance/vote-delegation.md) + +## Hợp đồng thông minh + +* [Cấu trúc](smart-contracts/architecture.md) +* [Địa chỉ các hợp đồng](smart-contracts/registry.md) +* [API](smart-contracts/api/README.md) + * [Vault](smart-contracts/api/vault.md) + * [ERC-20](smart-contracts/api/erc-20-1.md) + * [Khoá thời gian (timelock)](smart-contracts/api/timelock.md) + * [Strategies](smart-contracts/api/strategies.md) + +## Bảo mật & Rủi ro + +* [Rủi ro](security-and-risks/risks.md) +* [Kiểm toán](security-and-risks/audits.md) +* [Bảo hiểm](security-and-risks/insurance.md) +* [Phần thưởng phát hiện lỗi](security-and-risks/bug-bounties.md) + +## Hướng dẫn + +* [Hướng dẫn tích hợp cho các sàn giao dịch](guides/integration-guide-for-exchanges.md) +* [Incentivized Harvesting Guide](guides/incentivized-harvesting-guide.md) + +## Danh sách các kênh + +* [Github](https://www.github.com/originprotocol/origin-dollar) +* [Discord](https://www.originprotocol.com/discord) +* [originprotocol.com](https://www.originprotocol.com) diff --git a/vi/analytics-dashboard.md b/vi/analytics-dashboard.md new file mode 100644 index 000000000..f37957c04 --- /dev/null +++ b/vi/analytics-dashboard.md @@ -0,0 +1,31 @@ +# Bảng phân tích + +{% hint style="info" %} +Truy cập [analytics.ousd.com](https://analytics.ousd.com) để xem cách thức phân bổ các quỹ, dữ liệu khai thác trong lịch sử và lợi nhuận của bạn. +{% endhint %} + +[Bảng điều khiển](https://analytics.ousd.com/apy) đầu tiên được xây dựng nhằm mục đích phục vụ đội ngũ kỹ thuật, nhưng chúng tôi chúng tôi quyết định công bố ra công chúng vì [nguồn mở](http://github.com/OriginProtocol) luôn là mục tiêu mà chúng tôi hướng tới. Thật không may, điều dẫn tới hiểu nhầm về tính minh bạch và không nhất thiết phải dành thời gian để giải thích mọi thứ rõ ràng. + +Trước khi đi sâu vào tính toán lãi suất, điều quan trọng bạn phải nắm rõ cách thức OUSD [tạo ra lợi nhuận](https://docs.ousd.com/core-concepts/yield-generation) và [rebase](https://docs.ousd.com/core-concepts/elastic-supply). You can read all about that in these [docs](https://docs.ousd.com), including [the part about smart contracts being excluded from yield](https://docs.ousd.com/core-concepts/elastic-supply/rebasing-and-smart-contracts). + +Để tóm tắt cách tính APY, đó là tỷ lệ thay đổi lãi suất hàng năm của số dư OUSD của người dùng giữa hai thời điểm. To understand that, let's break down the columns in the historical APY table (in reverse order). + +**Tỉ lệ** + +There are two types of OUSD balances: rebasing (most accounts) and non-rebasing (smart contracts that have not opted in). Hợp đồng OUSD duy trì phép tính riêng biệt cho từng loại số dư bằng cách sử dụng "credit". Tỷ lệ được hiển thị ở đây là cung OUSD rebase chia cho credit được rebase, cho chúng ta tỷ giá hối đoái giữa hai loại. + +**Credit** + +Some smart contracts holding OUSD have unique credit balances because their rebasing status has changed at some point in the past (by opting in or out). Ở đây chúng tôi hiển thị tổng của tất cả các credit rebasing và non-rebasing. Khi nhân với tỷ lệ, nó cho ra sự khác biệt giữa lượng đang hỗ trợ tổng cung và lượng cung non-rebase. + +**Non-rebasing** + +Đây là phần nguồn cung được giữ trong các hợp đồng thông minh khác mà chưa được rebase. When added to (credits \* ratio), this equals backing supply. Cũng lưu ý rằng cột **%** hiển thị phần trăm OUSD non-rebase. + +**Boost** + +APY được "thúc đẩy" cho các tài khoản rebase nhờ vào các OUSD non-rebasing. Hãy nghĩ về tất cả các stablecoin được sử dụng làm tài sản thế chấp để tạo ra đồng OUSD non-rebasing. Những stablecoin đó vẫn tạo ra lợi nhuận thông qua các chiến lược của chúng tôi nhưng phần lợi nhuận đó được phân bổ cho các tài khoản đang rebase. Kết quả là APY đạt mức cao hơn mức bình thương được nếu không áp dụng cơ chế này. Boost là thước đo của sự khác biệt này. Nếu boost có giá trị là 100%, thì những người nắm giữ OUSD thông thường đang được hưởng gấp đôi APY so với những gì họ đáng được hưởng. + +**APR/APY calculation** + +Bringing this full circle, we currently measure yield by measuring the change in the [rebasing credits per token](https://github.com/OriginProtocol/origin-dollar/blob/master/contracts/contracts/token/OUSD.sol#L45) between two points in time. Có một số điểm khác cần lưu ý ở đây. Đầu tiên, chúng ta phải đưa ra giả định về việc trung bình có bao nhiêu khối Ethereum được khai thác trong một ngày. Chúng tôi sử dụng [con số cố định là 6.500](https://github.com/OriginProtocol/ousd-analytics/blob/master/eagleproject/core/views.py#L43), nhưng số khối thực tế mỗi ngày có thể thay đổi. Thứ hai, chúng ta cần một khoảng thời gian hợp lý để đo lường. We focus on 30 days, which has proven to be a relatively consistent window of time during which a complete sample of yield-generating activities has occurred. Thứ ba, chúng tôi chuyển đổi APR thành APY bằng cách giả sử [lãi kép hàng ngày không đổi](https://github.com/OriginProtocol/ousd-analytics/blob/master/eagleproject/core/views.py#L449-L451). Nói cách khác, lợi nhuận liên tục được tái đầu tư vào các chiến lược tương tự. Cuối cùng, có một đáng chú ý là sử dụng tỷ lệ rebase để đo lường năng suất. Since rebase events currently occur sporadically (and not very frequently in a world of high gas prices), the APY won't reflect earnings that have not yet been translated to account balances. Ví dụ: nếu lãi suất trong Compound tăng cao hoặc khối lượng giao dịch trong Curve 3pool tăng đột biết, điều này sẽ khiến OUSD kiếm được nhiều lãi hơn mức bình quân thường ngày. APY ghi nhận sẽ thấp hơn các khoản thực tế cho tới kho [phương pháp rebase](https://github.com/OriginProtocol/origin-dollar/blob/master/contracts/contracts/vault/VaultCore.sol#L365-L370) được gọi. In fact, anyone who sells OUSD during that time would be missing out on the "[next rebase](https://analytics.ousd.com)". The good news is that you should be able to observe the change in your balance over one week and it (annualized) should approximately equal our advertised APY. diff --git a/vi/architecture/erc-20-1.md b/vi/architecture/erc-20-1.md new file mode 100644 index 000000000..5854db17c --- /dev/null +++ b/vi/architecture/erc-20-1.md @@ -0,0 +1,19 @@ +# ERC-20 + +{% hint style="success" %} +Địa chỉ ERC20 chính của Origin Dollar \ (OUSD \) là: +**0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +OUSD là token ERC-20 là một tài sản độc đáo với nguồn cung linh hoạt. + +{% hint style="warning" %} +Các ví và sàn giao dịch muốn tích hợp OUSD không nên lưu số dư OUSD vào bộ nhớ cache vì giá trị này sẽ thay đổi thường xuyên khi lợi nhuận được tích lũy cho chủ sở hữu OUSD. +{% endhint %} + +Sự khác biệt lớn nhất tách biệt OUSD khỏi mã thông báo ERC-20 thông thường là việc hàm `balanceOf ()` của OUSD sẽ trả về một số tiền có thể thay đổi dựa trên tổng giá trị của nhóm nhân với tỉ lệ số tiền của chủ sở hữu OUSD trên tổng số tiền đang có ở trong bể. Sự khác biệt này là rất quan trọng và cần được lưu ý, đặc biệt đối với các ví và sàn giao dịch muốn tích hợp token OUSD. Giá trị này nên được tìm nạp trong thời gian thực thay vì được lưu vào bộ nhớ cache vì số OUSD thường xuyên biến động. + + + + + diff --git a/vi/architecture/erc-20.md b/vi/architecture/erc-20.md new file mode 100644 index 000000000..6862ce188 --- /dev/null +++ b/vi/architecture/erc-20.md @@ -0,0 +1,12 @@ +# Tổng quan + +![](../.gitbook/assets/ousd_docs_graphics_3.png) + +OUSD được tạo thành từ một loạt các hợp đồng thông minh. Mỗi hợp đồng này được bao bọc trong một hợp đồng ủy quyền có thể được nâng cấp thông qua các giao thức quản trị. + +Xét về cơ chế bên trong, quyền sở hữu trong bể được theo dõi bằng hệ thống tín dụng thể hiện phần trăm quyền sở hữu của bể cho mỗi chủ sở hữu. Hợp đồng ERC-20 xử lý việc chuyển đổi sang USD khi dựa trên hoặc số tiền được chuyển giữa các ví. + +Vault chịu trách nhiệm đào và đốt OUSD. Nó cũng chịu trách nhiệm phân bổ tài sản tới từng [Chiến lược](../core-concepts/supported-strategies/) được hỗ trợ. Để tối ưu hóa chi phí khí gas, vault tiền duy trì một bộ nhớ đệm để cho phép hầu hết các khoản tiền gửi và tiền hoàn lại diễn ra mà chuyển vào / chuyển ra khỏi các chiến lược. + + + diff --git a/vi/architecture/strategies.md b/vi/architecture/strategies.md new file mode 100644 index 000000000..4507e026d --- /dev/null +++ b/vi/architecture/strategies.md @@ -0,0 +1,14 @@ +# Chiến lược + +Các chiến lược mới có thể được thêm vào hoặc xóa bỏ bất kỳ lúc nào để đáp ứng với tình hình thị trường mới và đa dạng hóa rủi ro. + +Khi ra mắt, OUSD sẽ tận dụng lợi thế của một chiến lược duy nhất và triển khai gửi vốn vào Compound. Chúng tôi dự định sẽ sớm bổ sông thêm nhiều chiến lược mới. + +Khi OUSD chuyển sang chế độ quản trị phi tập trung, cộng đồng sẽ là người đề xuất các chiến lược mới và bỏ phiếu về mức độ phù hợp của từng chiến lược trong bể. Chúng tôi tin rằng rằng hầu hết người nắm giữ OUSD luôn mong muốn có được cơ hội tiếp cận với nhiều chiến lược lợi nhuận cao đồng thời đảm bảo tính an toàn cho quỹ của mình. + + + + + + + diff --git a/vi/architecture/timelock.md b/vi/architecture/timelock.md new file mode 100644 index 000000000..3dccfceff --- /dev/null +++ b/vi/architecture/timelock.md @@ -0,0 +1,22 @@ +# Khoá thời gian (timelock) + +{% hint style="danger" %} +Thời gian sẽ sớm được thêm sau khi mọi chức năng được chứng minh là hoạt động tốt. Cho đến lúc đó, các hợp đồng sẽ được điều chỉnh bởi 5 trong 8 chữ ký (hình thức đa chữ ký) của Origin. Tính năng này cho phép cộng đồng có quyền phản hồi nếu phát hiện ra bất kỳ vấn đề nghiêm trọng nào trong hợp đồng. +{% endhint %} + +Hợp đồng timelock sẽ có hiệu lực trong khoảng 48 giờ trước khi các thay đổi trong hợp đồng OUSD được chính thức áp dụng. Khoá thời gian có thể được gọi bởi chúng tôi thông qua biểu biểu quyết chữ ký và là chủ sở hữu của [ERC-20](erc-20.md), [Vault](vault.md) và [Các chiến lược](strategies.md). Việc trì hoãn thời gian thực thi thay đổi hợp đồng thông minh cho phép người dùng có thời gian rút khỏi giao thức khi nhận thấy bất kỳ thay đổi đáng nghi ngờ nào của người sở hữu hoặc chỉ đơn giản là bạn không thích các thay đổi được đề xuất. + +{% hint style="info" %} +Timelock là một biện pháp an toàn cho phép chủ sở hữu OUSD rút tiền nếu họ phản đối bất kỳ đề xuất nâng cấp nào đối với giao thức trong vòng 48 giờ kể từ thời điểm đề xuất. +{% endhint %} + +OUSD đang sử dụng một phiên bản sửa đổi 1 vài chi tiết nhỏ của [Compound TimeLock](https://compound.finance/docs/governance) đã được [kiểm toán bởi OpenZeppelin](https://blog.openzeppelin.com/compound-finance-patch-audit/). 3 điểm khác biệt đáng chú ý là: + +1. OUSD ban đầu sẽ sử dụng khoảng thời gian chờ ngắn hơn (48 giờ) so với Compound (72 giờ) cho phép phản hồi nhanh hơn nếu bất kỳ vấn đề nào được phát hiện. +2. Sau 48 giờ, bất kỳ ai cũng có thể tự do thực hiện gọi lệnh, không chỉ chủ sở hữu của hợp đồng. +3. Việc gửi tiền (không bao gồm rút tiền hay chuyển tiền) có thể bị đóng băng ngay lập tức mà không yêu cầu 48 giờ chờ đợi. Trường hợp này sẽ áp dụng khi có 1 lỗ hổng nghiêm trọng được phát hiện. + + + + + diff --git a/vi/architecture/vault.md b/vi/architecture/vault.md new file mode 100644 index 000000000..f2ecaf5ba --- /dev/null +++ b/vi/architecture/vault.md @@ -0,0 +1,17 @@ +# Vault + +Vault là điểm cốt lõi của giao thức. Kho tiền chịu trách nhiệm khai tác / hoàn trả OUSD, cân bằng lại quỹ giữa các chiến lược được hỗ trợ khác nhau và thanh lý token thưởng. + +Các chức năng quan trọng nhất trên Vault là: + +* `mint ()`cho phép chuyển đổi một stablecoin được hỗ trợ sang OUSD +* `mintMultiple ()`cho phép chuyển đổi nhiều stablecoin được hỗ trợ sang OUSD trong một lần gọi lệnh +* `Reds ()`cho phép đổi một lượng OUSD cụ thể cho các loại stablecoin được hỗ trợ khác. +* `RedAll ()`cho phép người dùng đổi toàn bộ số dư OUSD của họ để lấy các loại stablecoin được hỗ trợ khác. Điều này đặc biệt hữu ích vì số dư của người dùng không ngừng tăng lên khi lợi nhuận được tích lũy. +* `rebase ()`cập nhật số dư cho tất cả người dùng dựa trên giá trị của tài sản hiện được lưu trữ trong nhóm. +* `phân bổ ()`chuyển các tài sản đang quản lý vào [ chiến lược](strategies.md) chỉ định của chúng để tối đa hóa lợi suất và đa dạng hóa rủi ro. + +Khi hoàn lại tiền, chính giao thức sẽ quyết định stablecoin nào sẽ được trả lại cho người dùng. Việc lựa chọn đồng coin nào sẽ được trả sẽ dựa trên tỷ lệ nội bộ của tài sản đang được giữ trong bể. + + + diff --git a/vi/core-concepts/elastic-supply.md b/vi/core-concepts/elastic-supply.md new file mode 100644 index 000000000..0f2cecb76 --- /dev/null +++ b/vi/core-concepts/elastic-supply.md @@ -0,0 +1,18 @@ +# Cung linh hoạt + +**Cung linh hoạt. Giá ổn định.** + +OUSD có cơ chế hoạt động khác với hầu hết các token khác. Thay vì giá tăng khi giá trị của tài sản được quản lý tăng (như với Compound cTokens hoặc Yearn yTokens), giá trị của một OUSD vẫn không đổi ở khoảng $1. Thay vào đó, các hợp đồng liên tục điều chỉnh nguồn cung tiền và tự động cập nhật số dư trong ví của người nắm giữ token để phản ánh lợi nhuận mà giao thức kiếm được. + +{% hint style="info" %} +Hãy coi đó là tiền lãi tích lũy trong tài khoản ngân hàng của bạn. Đơn vị tài khoản và giá trị của đô la Mỹ không thay đổi. Bạn chỉ nhận được nhiều đô la Mỹ hơn theo thời gian khi bạn kiếm được tiền lãi. +{% endhint %} + +![](../.gitbook/assets/ousd_docs_graphics_4.png) + +Cơ chế này được lấy cảm hứng từ phương pháp mới được thực hiện bởi [Ampleforth](https://www.ampleforth.org/), nhưng có một số điểm khác biệt nổi bật như sau: + +1. OUSD được hỗ trợ 100% bởi các stablecoin khác và sẽ không gặp phải thách thức tương tự khi phải duy trì tỷ giá cố định với đồng đô la. Với việc dễ dàng khai thác và hoàn trả OUSD, chúng tôi có thể tin tưởng vào những người kinh doanh dựa trên chênh lệch giá để đảm bảo tỷ giá được duy trì. +2. OUSD rebasing should only increase supply since the amount of OUSD minted is tied to the realized gains earned by the underlying strategies. Your principal is protected as long as nothing goes wrong with the underlying lending/AMM and stablecoin protocols. Any decrease in your balance would be an indication of trouble in the system. +3. Không giống như Ampleforth - nguồn cung chỉ được điểu chỉnh 1 ngày 1 lần, nguồn cung tiền tệ của OUSD liên tục được cập nhật theo thời gian thực khi lợi tức được tạo ra. + diff --git a/vi/core-concepts/elastic-supply/README.md b/vi/core-concepts/elastic-supply/README.md new file mode 100644 index 000000000..94f37e537 --- /dev/null +++ b/vi/core-concepts/elastic-supply/README.md @@ -0,0 +1,21 @@ +# Cung linh hoạt + +**Cung linh hoạt. Giá ổn định.** + +OUSD có cơ chế hoạt động khác với hầu hết các token khác. Instead of the price increasing as the value of the assets under management increase (as with Compound cTokens or Yearn yTokens), the value of one OUSD remains constant at approximately $1. Instead, the contracts constantly adjust the monetary supply and automatically updates the balance in every token holder’s wallet to reflect the yield that has been earned by the protocol. + +{% hint style="info" %} +Hãy coi đó là tiền lãi tích lũy trong tài khoản ngân hàng của bạn. Đơn vị tài khoản và giá trị của đô la Mỹ không thay đổi. Bạn chỉ nhận được nhiều đô la Mỹ hơn theo thời gian khi bạn kiếm được tiền lãi. +{% endhint %} + +![](../../.gitbook/assets/ousd\_docs\_graphics\_4.png) + +This mechanism was inspired by the novel approach taken by [Ampleforth](https://www.ampleforth.org), but there are some key differences that are worth highlighting: + +1. OUSD được hỗ trợ 100% bởi các stablecoin khác và không gặp phải thách thức tương tự khi phải duy trì tỷ giá cố định với đồng đô la. Given the ease of minting and redeeming OUSD, we can count on arbitrageurs to ensure the peg is maintained. +2. Số lượng OUSD sẽ luốn tăng lên vì số lượng OUSD được mint gắn liền với lợi nhuận thực tế thu được từ các chiến lược. Tiền gốc của bạn được bảo vệ miễn là không có vấn đề gì xảy ra với các giao thức cho vay / AMM và stablecoin cơ bản. Số dư OUSD của bạn sẽ không bao giờ giảm, nhưng giá trị có thể giảm nếu hệ thống xảy ra lỗi. +3. Unlike Ampleforth, which only rebases once a day, the monetary supply of OUSD is constantly being updated in real-time as yield is generated. Rebase được kích hoạt thường xuyên khi người dùng tương tác với các hợp đồng OUSD. Chainlink Keepers ensure at least one rebase occurs every day. + +**Kích hoạt rebase thủ công** + +Bất kỳ ai cũng có thể kích hoạt rebase tại bất kỳ thời điểm nào bằng cách [gọi hàm rebase trên vault](https://etherscan.io/address/originvault.eth#writeProxyContract). Bạn có thể thực hiện việc này trên Etherscan bằng cách kết nối ví web3. diff --git a/vi/core-concepts/elastic-supply/rebasing-and-smart-contracts.md b/vi/core-concepts/elastic-supply/rebasing-and-smart-contracts.md new file mode 100644 index 000000000..fe34a5d89 --- /dev/null +++ b/vi/core-concepts/elastic-supply/rebasing-and-smart-contracts.md @@ -0,0 +1,22 @@ +# Rebasing & Hợp đồng thông minh + +Nếu bạn đang sử dụng ví đa chữ ký hoặc hợp đồng thông minh khác muốn tham gia rebasing OUSD thì bạn phải gọi hàm`rebaseOptIn ()` OUSD. Điều này chỉ áp dụng với hợp đồng thông minh vì ví EOA tiêu chuẩn được đăng ký tự động. + +{% hint style="info" %} +Ví nhiều đa chữ ký hoặc các hợp đồng thông minh khác phải gọi `rebaseOptIn ()`để kiếm được lợi nhuận. +{% endhint %} + +Theo mặc định, OUSD được giữ trên các hợp đồng thông minh sẽ không nhận được lợi nhuận trừ khi hợp đồng thông minh được opts-in. Điều này làm tăng khả năng kết hợp của OUSD trong DeFi vì nhiều giao thức không được thiết kế để xử lý trường hợp số dư thay đổi. Đối với các giao thức DeFi khác, OUSD hoạt động giống như bất kỳ ERC-20 bình thường trừ khi bạn yêu cầu nó thay đổi. This is a particularly useful attribute for automated market makers (AMM’s) like Uniswap which break when the number of tokens they are holding changes unexpectedly. + +![Ứng dụng Gnosis Safe OUSD sẽ gợi ý bạn tham gia để kiếm lợi nhuận](../../.gitbook/assets/ousd-app-in-gnosis-safe.png) + +Hợp đồng thông minh phải được opt-in để nhận được lợi nhuận thông qua cơ chế rebase. Điều này giúp khắc phục sự cố mở rộng nguồn cung trên AMM trong khi cho phép ví đa chữ ký và các hợp đồng thông minh khác có cơ hội tham gia và kiếm được lợi nhuận. + +{% hint style="warning" %} +Nếu bạn đang triển khai một hợp đồng và định gọi lệnh `rebaseOptIn ()`để kiếm lợi nhuận, bạn không thể gọi nó từ phương thức khởi tạo của hợp đồng. Hợp đồng phải được triển khai trước khi được gọi. +{% endhint %} + +[Gnosis Safe](https://gnosis-safe.io) users are encouraged to use the Origin Dollar app which will prompt you to opt in to receiving yield. If you are using the "Old" [Gnosis Wallet](https://github.com/gnosis/MultiSigWallet) or another contract-based wallet, you will need the [proxy contract address for OUSD](../../smart-contracts/registry.md) and the corresponding [ABI](https://api.etherscan.io/api?module=contract\&action=getabi\&address=0x1ae95dd4eeae7ed03da79856c2d44ffa3318f805). Sau khi thêm địa chỉ hợp đồng, bạn sẽ có thể gọi hàm `rebaseOptIn ()` để chọn tham gia kiếm lợi nhuận thông qua rebase hoặc`rebaseOptOut ()` để tắt tính năng này. + + + diff --git a/vi/core-concepts/fund-management.md b/vi/core-concepts/fund-management.md new file mode 100644 index 000000000..84f471d5a --- /dev/null +++ b/vi/core-concepts/fund-management.md @@ -0,0 +1,23 @@ +# Quản lý quỹ + +The OUSD smart contract aggregates all users' stablecoin deposits into a single pool of assets that are then deployed into earning strategies based on preset allocations. In contrast to Yearn Vaults, TokenSets, or Zapper opportunities, users do not select individual strategies. All deposited stablecoins and consequently all OUSD tokens are fungible. + +The weighting of how assets are distributed between the supported strategies is decided by OGN holders using weekly snapshot voting. These votes happen offchain and do not cost any gas. The results of the weekly poll will then be executed onchain by members of the [Strategist multi-sig](https://etherscan.io/address/0xF14BBdf064E3F67f51cd9BD646aE3716aD938FDC) (known as "Strategists"). + +Ultimately, we believe it should be up to the community to decide what the right balance of risk/reward is appropriate for OUSD. We encourage the community to favor high-yield strategies while still maintaining diversification across multiple strategies to remove single points of failure and minimize risk. + +**How strategy allocation voting works:** + +* New snapshot proposals will open for voting on the [OGN governance portal ](http://vote.originprotocol.com)at midnight Tuesday UTC (7pm eastern Monday). The poll will be open for 48 hours, ending at midnight Thursday UTC (7pm eastern on Wednesday). +* During this time, those interested can discuss allocation changes in a thread in the #governance channel on [Origin's Discord](https://www.originprotocol.com/discord). +* Each proposal will use "weighted voting", with options for each coin/strategy combination and an option to keep the existing allocation unchanged. OGN holders can spread their votes among different listed strategies or the existing allocation. +* After the voting time has ended, Strategists will submit, verify, and execute transactions to change OUSD to the determined allocation percentages for the week. If more than 50% of the weighted votes are cast for the existing allocation, Strategists will take no action. +* Allocations will be executed for strategies that use all stablecoins first (like Convex), then each stablecoin will be allocated to the remaining strategies according to the ratio of votes for that stablecoin / strategy combination. +* If the Strategists deem any of the allocations unsafe to the funds behind OUSD, they may choose to not execute those. In addition, Strategists may decline to execute minor adjustments where the gas costs would be greater than the expected benefits. +* Like all governance proposals, Strategist allocations must meet the minimum quorum requirements (currently 1M OGN) to be considered valid. +* From a security standpoint, it is important to know that while Strategists have the ability to move funds between approved strategies or instantly pause rebasing in the case of an emergency, Strategists do not have the power to add new strategies or withdraw funds without going through the timelock. Community members can use the Strategy Validator tools to more easily [create](https://analytics.ousd.com/strategist/creator) and [decode](https://analytics.ousd.com/strategist) which actions are being performed by the Strategists. +* When voting, please remember it is inefficient to move in and out of the Convex strategy frequently and some funds need to always remain outside of Convex in order to accommodate withdrawals. + + + +**** diff --git a/vi/core-concepts/fund-management/README.md b/vi/core-concepts/fund-management/README.md new file mode 100644 index 000000000..89e798b9e --- /dev/null +++ b/vi/core-concepts/fund-management/README.md @@ -0,0 +1,6 @@ +# Quản lý quỹ + +Hợp đồng thông minh OUSD tổng hợp tất cả các khoản stablecoin của người dùng vào bể tài sản đầu tư. Quỹ này sau đó được phân bổ trên một hoặc nhiều [chiến lược thu nhập](earning-strategies.md) tại bất kỳ thời điểm. Vault tìm kiếm các chiến lược năng suất cao nhưng cũng tìm cách duy trì sự đa dạng hóa trên nhiều chiến lược. Đa dạng hóa giúp loại bỏ lỗi cục bộ và giảm thiểu rủi ro. + +Khác với Yearn Vaults, TokenSets hoặc Zapper, người dùng không cần lựa chọn các chiến lược đơn lẻ. Tất cả các stablecoin đã ký gửi và do đó, tất cả các token OUSD đều là token có thể thay thế được. + diff --git a/vi/core-concepts/fund-management/diversification.md b/vi/core-concepts/fund-management/diversification.md new file mode 100644 index 000000000..55e7296fa --- /dev/null +++ b/vi/core-concepts/fund-management/diversification.md @@ -0,0 +1,8 @@ +# Đa dạng hóa + +Phiên bản ban đầu của hợp đồng thông minh OUSD Vault cung cấp cho mỗi chiến lược hợp lệ một trọng số đơn giản từ 0% đến 100% để thực hiện phân bổ tài sản đơn giản. Các trọng số này sẽ được thay đổi thường xuyên thông qua các bản cập nhật của Origin trong ngắn hạn và dài hạn sẽ theo cơ chế quản trị phi tập trung. + +Đa dạng hóa trên nhiều [nền tảng](../supported-strategies/) DeFi sẽ làm giảm rủi ro cho hợp đồng thông minh và các rủi ro hệ thống khác. Hợp đồng thông minh sẽ tính toán các APY hiện tại và dự kiến nhằm nỗ lực mang lại lợi nhuận cạnh tranh cho người nắm giữ OUSD. Theo thời gian, hợp đồng Vault sẽ được nâng cấp để chuyển đổi một cách thông minh và tự động giữa các chiến lược mà không cần bất kỳ sự can thiệp thủ công nào. Ví dụ: Vault sẽ tự động luân chuyển vốn giữa các chiến lược cho vay khác nhau để tối ưu hóa lợi tức. + +Tuy nhiên, chúng tôi vẫn kỳ vọng rằng các thông số rủi ro hoặc quyết định về việc liệu các chiến lược nhất định có nên được đưa vào hay không sẽ sẽ được thực hiện thông qua cơ chế phiếu bầu quản trị. + diff --git a/vi/core-concepts/fund-management/earning-strategies.md b/vi/core-concepts/fund-management/earning-strategies.md new file mode 100644 index 000000000..af8e150e6 --- /dev/null +++ b/vi/core-concepts/fund-management/earning-strategies.md @@ -0,0 +1,6 @@ +# Chiến lược tạo lợi nhuận + +Các chiến lược kiếm sẽ chuyển vốn tới nhiều nền tảng DeFi khác nhau. Vault sẽ xác định chiến lược nào đang hoạt động và ước tính lợi nhuận thu về của nguồn vốn gửi đi. + +Ngoài ra, các chiến lược sẽ được nâng cấp theo thời gian. Ví dụ: khi khởi chạy ban đầu, [chiến lược Compound](../supported-strategies/compound.md) sẽ được sử dụng. Theo thời gian, chiến lược này có thể được thay thế bằng chiến lược Compound v2 hoặc v3. + diff --git a/vi/core-concepts/price-oracles.md b/vi/core-concepts/price-oracles.md new file mode 100644 index 000000000..1b08c685f --- /dev/null +++ b/vi/core-concepts/price-oracles.md @@ -0,0 +1,38 @@ +- - - +description: OUSD uses Chainlink to secure the protocol from pricing attacks +- - - + +# Price Oracles + +### Stablecoin Pricing + +OUSD is designed to stay pegged at 1 USD and be 1:1 backed with its underlying stablecoins. This is trickier than it sounds because these underlying stablecoins are constantly deviating from their own desired 1 USD pegs. While the majority of daily fluctuations are minor, there have been major swings in price that have occurred in the past and are likely to occur again in the future. + +| Coin | **Low** | **High** | **Delta** | **Source** | +| ---- | ---------------------------------------------------- | ---------------------------------------------------- | --------- | --------------------------------------------------------------------------- | +| USDC |

$0.929222

Mar 13, 2020

|

$1.11

Oct 15, 2018

| $0.180778 | [CoinMarketCap](https://coinmarketcap.com/currencies/usd-coin/) | +| USDC |

$0.924188

Aug 02, 2020

|

$1.17

May 08, 2019

| $0.245812 | [CoinGecko](https://www.coingecko.com/en/coins/usd-coin) | +| DAI |

$0.945505

May 10, 2020

|

$1.11

Mar 13, 2020

| $0.164495 | [CoinMarketCap](https://coinmarketcap.com/currencies/multi-collateral-dai/) | +| DAI |

$0.903243

Nov 25, 2019

|

$1.22

Mar 13, 2020

| $0.316757 | [CoinGecko](https://www.coingecko.com/en/coins/dai) | +| USDT |

$0.849809

Feb 02, 2017

|

$1.21

May 27, 2017

| $0.360191 | [CoinGecko](https://www.coingecko.com/en/coins/tether) | +| USDT |

$0.572521

Mar 02, 2015

|

$1.32

Jul 24, 2018

| $0.747479 | [CoinMarketCap](https://coinmarketcap.com/currencies/tether/) | + +The rebasing function treats 1 stablecoin as 1 OUSD for simplicity and to protect OUSD balances from being affected by the daily fluctuations in the price of the underlying stablecoins. Since the rebase function only counts coins, OUSD balances should only increase. + +In order to mint and redeem the appropriate number of OUSD on entry and exit, the smart contracts need to accurately price the USDT, USDC, and DAI that is entering and exiting the system. + +As an added precaution, OUSD never pays more than a dollar for a stablecoin, nor sells a stablecoin for less than a dollar. Oracles giving wrong prices will not result in a reduction of the number of stablecoins held. Gains that are collected as a result of stablecoins slipping from their peg are redistributed to the remaining holders of OUSD in the form of additional yield. + +As a decentralized protocol, OUSD must rely on non-centralized sources for these prices. OUSD uses Chainlink oracles for pricing data for DAI, USDC and USDT. You can read more about [our decision to work with Chainlink](https://blog.originprotocol.com/how-origin-uses-chainlink-oracles-to-secure-ousd-bff5601e840e) on our blog. Here are the Chainlink oracles we are currently using for stablecoin pricing: + +{% embed url="https://data.chain.link/usdt-usd" %} + +{% embed url="https://data.chain.link/usdc-usd" %} + +{% embed url="https://data.chain.link/dai-usd" %} + +### Reward Token Oracles & Front Running Protection + +When reward tokens from OUSD strategies are sold for additional yield, Chainlink oracles are checked to ensure that the sale price slippage has not exceeded normal bounds. These oracles are listed on our [registry](../smart-contracts/registry.md) page under the "Oracles" tab. + +The same is also true for OGN buybacks from OUSD yield.\ \ When minting and redeeming OUSD, a miniumun required amount can be passed into the contract call to ensure that the entire transaction fails if not enough OUSD or stablecoins would be returned to the user due to changing prices. diff --git a/vi/core-concepts/price-oracles/README.md b/vi/core-concepts/price-oracles/README.md new file mode 100644 index 000000000..f93b9caab --- /dev/null +++ b/vi/core-concepts/price-oracles/README.md @@ -0,0 +1,126 @@ +# Ước tính giá + +OUSD được thiết kế để duy trì ở mức 1 USD và được hỗ trợ 1:1 bằng các stablecoin. Trên thực tế, việc duy trì tỉ lệ này phức tạp hơn nhiều vì giá của các stablecoin thường sẽ chênh lệch so với mức 1$. Thường thì những biến động trên khá nhỏ, tuy nhiên, không ngoại trừ trường hợp có thể có biến động lớn xảy ra như đã từng gặp trong quá khứ. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CoinThấp + Cao + Chênh lệch + Nguồn +
USDC +

0,929222$

+

13/03/2020

+
+

1,11$

+

15/10/2018

+
0,180778$CoinMarketCap +
USDC +

0,924188$

+

02/08/2020

+
+

1,17$

+

08/05/2019

+
0,245812$CoinGecko +
DAI +

0,945505$

+

10/05/2020

+
+

1,11$

+

13/03/2020

+
0,164495$CoinMarketCap +
DAI +

0,903243$

+

25/11/2019

+
+

1,22$

+

13/03/2020

+
0,316757$CoinGecko +
USDT +

0,849809$

+

02/02/2017

+
+

1,21$

+

27/05/2017

+
0,360191$CoinGecko +
USDT +

0,572521$

+

02/03/2015

+
+

1,32$

+

24/07/2018

+
0,747479$CoinMarketCap +
+ +Chức năng rebase coi 1 stablecoin là 1 OUSD để đơn giản hóa và để bảo vệ số dư OUSD khỏi bị ảnh hưởng bởi những biến động hàng ngày về giá của các stablecoin cơ bản. Vì chức năng rebase chỉ tính số đồng, số dư OUSD chỉ nên tăng lên. + +Để mint và redeem số lượng OUSD thích hợp, các hợp đồng thông minh cần định giá chính xác USDT, USDC và DAI đang được nạp vào và rút ra khỏi hệ thống. Là một giao thức phi tập trung, OUSD phải dựa vào các nguồn phi tập trung để xác định các mức giá. + +{% hint style="info" %} +Giá của OUSD được đối chiếu trên nhiều chuỗi và sử dụng tỉ giá có lợi nhất cho kho tiền khi mint hoặc redeem. +{% endhint %} + +Để ngăn chặn các cuộc tấn công và khuyến khích các nhà đầu tư dài hạn thay vì các nhà đầu cơ ngắn hạn, hợp đồng OUSD so sánh các nguồn cấp giá từ nhiều nguồn và sẽ sử dụng tỷ giá hối đoái nào có lợi cho toàn bộ tài sản có trong kho tiền. Cơ chế này bảo vệ quỹ của bể khỏi tình trạng kinh doanh ăn chênh lệch giá và ngăn chặn cá nhân lợi dụng bất kỳ sơ hở tạm thời nào gây ảnh hưởng tới tài sản trong kho tiền. + +Điều này bảo vệ các khoản tiền được giữ trong kho tiền đồng thời khuyến khích mọi người nắm giữ lâu dài. Mức giá an toàn nhất phụ thuộc vào giao dịch mua bán trực tiếp, mức giá của Origin đối chiếu cả `priceUSDMint ()` và `priceUSDRedeem ()`. + +OUSD sử dụng oracle Chainlink cho DAI, USDC và USDT. + +{% embed url="https://feeds.chain.link/eth-usd" caption="" %} + +Địa chỉ hợp đồng thông minh cụ thể cho mỗi oracle đang được sử dụng được liệt kê tại [trang đăng ký](../../smart-contracts/registry.md). + +Việc có các oracle mới bổ sung vào giao thức theo thời gian là hoàn toàn có thể. Các oracle hiện đang hỗ trợ cũng có thể bị loại bỏ nếu phị phát hiện thiếu tin cậy. + diff --git a/vi/core-concepts/price-oracles/untitled.md b/vi/core-concepts/price-oracles/untitled.md new file mode 100644 index 000000000..1d83ce174 --- /dev/null +++ b/vi/core-concepts/price-oracles/untitled.md @@ -0,0 +1,25 @@ +# Không có tiêu đề + +## Getting Super Powers + +Becoming a super hero is a fairly straight forward process: + +``` +$ give me super-powers +``` + +{% hint style="info" %} + Super-powers are granted randomly so please submit an issue if you're not happy with yours. +{% endhint %} + +Once you're strong enough, save the world: + +{% code title="hello.sh" %} +```bash +# Ain't no code for that yet, sorry +echo 'You got to trust me on this, I saved the world' +``` +{% endcode %} + + + diff --git a/vi/core-concepts/supported-assets/README.md b/vi/core-concepts/supported-assets/README.md new file mode 100644 index 000000000..56390ccf6 --- /dev/null +++ b/vi/core-concepts/supported-assets/README.md @@ -0,0 +1,20 @@ +# Supported Stablecoins + +**Supported Stablecoins** + +It is important to understand that OUSD is only as strong as the stablecoins that are backing it. Any loss to the underlying assets will cause a similar loss to the value of OUSD. + +Currently, OUSD supports the following stablecoins: + +{% page-ref page="usdt.md" %} + +{% page-ref page="usdc.md" %} + +{% page-ref page="dai.md" %} + +None of these stablecoins are perfect, but we selected them because of their widespread usage. While these stablecoins have lost their USD peg on multiple occasions, they have demonstrated resiliency in eventually getting back to their 1 USD targets. + +It is important to note that all these stablecoins introduce non-trivial counter-party risk. Tether, in particular, has had well-documented banking troubles and regulatory challenges. In addition, both USDT and USDC have backdoors that grant their issuers the power to freeze money in their holder's wallets. While DAI does not have any direct backdoors, it's assets can also be negatively impacted since USDC is accepted as collateral for minting DAI. + +Despite these concerns, there are already billions of dollars betting on the security of these stablecoins. It is possible that additional stablecoins will be added to the protocol over time. Support may also be removed if any of these stablecoins prove to be too unreliable or put OUSD holders funds in jeopardy. + diff --git a/vi/core-concepts/supported-assets/dai.md b/vi/core-concepts/supported-assets/dai.md new file mode 100644 index 000000000..4be5c3788 --- /dev/null +++ b/vi/core-concepts/supported-assets/dai.md @@ -0,0 +1,20 @@ +# DAI + +![](../../.gitbook/assets/dai.png) + +Dai is a fiat-pegged stablecoin launched as a ERC-20 token on the Ethereum blockchain in December 2017. A major upgrade from single-collateral Dai \(SAI\) to multi-collateral Dai \(DAI\) was completed in November 2019. Dai is pegged to the US dollar. + +Dai is minted by users locking up crypto assets such as ETH or USDC as collateral in a collateralized debt position \(CDP\) called a vault. Previously, only ETH was accepted as collateral. The reserves and status of each vault can be viewed on the blockchain in real-time. The health of these vaults and the Dai stablecoin are closely monitored. + +Dai is the world's third-largest stablecoin with over $400 million in circulation. In addition, cDAI and aDAI, synthetic versions of Dai on the lending platforms Compound and Aave, combine for over $600 million in circulation. + +| Key Facts | | +|:------------- |:------------------------------------------------------------------------------------------------------------------- | +| Issued by | MakerDAO | +| Name | Dai | +| Symbol | DAI | +| Address | [0x6b175474e89094c44da98b954eedeac495271d0f](https://etherscan.io/token/0x6b175474e89094c44da98b954eedeac495271d0f) | +| Decimals | 18 | +| Official site | [https://makerdao.com/](https://makerdao.com/) | +| Holders | Over 140k addresses | + diff --git a/vi/core-concepts/supported-assets/usdc.md b/vi/core-concepts/supported-assets/usdc.md new file mode 100644 index 000000000..2647d7c83 --- /dev/null +++ b/vi/core-concepts/supported-assets/usdc.md @@ -0,0 +1,22 @@ +# USDC + +![](../../.gitbook/assets/usdc-coin-bd351fb779%20%281%29.png) + +USD Coin \(USDC\) is a fiat-pegged stablecoin launched as a ERC-20 token on the Ethereum blockchain in October 2018. USDC is pegged to the US dollar and can easily be redeemed for US dollars. + +Each USDC is backed by a 1:1 ratio with the equivalent amount of fiat currency held in custodial accounts by members of Centre, a consortium founded by Circle and Coinbase. Members of Centre are regulated financial institutions based in the US. Monthly audits of reserves are published by Grant Thornton LLP. + +USDC is the world's second-largest stablecoin after USDT and has quickly grown to over $1 billion in circulation. However, USDC remains far behind USDT's $12+ billion in circulation. + +| Key Facts | | +|:------------- |:------------------------------------------------------------------------------------------------------------------- | +| Issued by | Centre | +| Name | USD Coin | +| Symbol | USDC | +| Address | [0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48](https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48) | +| Decimals | 6 | +| Official site | [https://www.centre.io/usdc](https://www.centre.io/usdc) | +| Holders | Over 200k addresses | + + + diff --git a/vi/core-concepts/supported-assets/usdt.md b/vi/core-concepts/supported-assets/usdt.md new file mode 100644 index 000000000..4ae2afe89 --- /dev/null +++ b/vi/core-concepts/supported-assets/usdt.md @@ -0,0 +1,22 @@ +# USDT + +![](../../.gitbook/assets/image%20%281%29.png) + +Tether \(USDT\) is a fiat-pegged stablecoin that was initially built on top of Bitcoin via the Omni Layer Protocol. In September 2017, Tether announced they would be launching additional ERC-20 tokens for United States dollars on the Ethereum blockchain. + +Each Tether issued into circulation is said to be backed by a one-to-one ratio with the equivalent amount of fiat currency held in a custodial account by Tether Limited, a Hong Kong-based company with close ties to the cryptocurrency exchange, Bitfinex. + +Despite the controversy ****around ****the company's failure to provide a promised audit showing adequate reserves backing tether, USDT is still the world's largest stablecoin by market cap and currently the fourth-largest cryptocurrency after BTC, ETH and XRP. + +| Key Facts | | +|:------------- |:---------------------------------------------------------------------------------------------------------------- | +| Issued by | Tether Limited | +| Name | Tether | +| Symbol | USDT | +| Address | [0xdac17f958d2ee523a2206206994597c13d831](https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7) | +| Decimals | 6 | +| Official site | [https://tether.to/ ](https://tether.to/%20) | +| Holders | Over 1.8M addresses | + + + diff --git a/vi/core-concepts/supported-defi-platforms/README.md b/vi/core-concepts/supported-defi-platforms/README.md new file mode 100644 index 000000000..15e76a633 --- /dev/null +++ b/vi/core-concepts/supported-defi-platforms/README.md @@ -0,0 +1,30 @@ +# Nền tảng DeFi được hỗ trợ + +**Nền tảng DeFi được hỗ trợ** + +OUSD tạo ra lợi nhuận bằng cách gửi stablecoin vào các nền tảng cho vay và các nhóm thanh khoản của nhà tạo lập thị trường. Điều quan trọng cần lưu ý là rằng những nền tảng này ẩn chứa rủi ro công nghệ dẫn tới tiền có thể bị mất nếu xảy ra sự kiện liên quan đến lỗ hổng lớn trong bảo mật. Chúng tôi đang chọn làm việc với các nền tảng đã được kiểm toán hợp đồng thông minh và chúng tôi cảm thấy an toàn nhất. + +Hiện tại, đội ngũ có kế hoạch kiếm lợi nhuận từ các nền tảng sau: + +{% page-ref page="compound.md" %} + +Dự kiến tích hợp thêm các nền tảng sau: + +{% page-ref page="aave.md" %} + +{% page-ref page="dydx.md" %} + +{% page-ref page="uniswap.md" %} + +{% page-ref page="curve.md" %} + +{% page-ref page="balancer.md" %} + +{% page-ref page="yearn.finance.md" %} + +Mặc dù DeFi đã phát triển rất nhanh và hiện đã có hàng tỷ đô la giá trị được gửi trên các nền tảng này, một số dự án trong số này vẫn đang trong giai đoạn beta và mang tính thử nghiệm cao. Vẫn có khả năng hợp đồng thông minh của nền tảng này vẫn còn lỗ hổng. Trong quá khứ, các lỗ hổng trên các ứng dụng Ethereum cũng đã từng gây ra thiệt hại hàng lên tớii hàng triệu đô la. + +Chúng tôi giám sát chặt chẽ các sự kiện bảo mật trên các nền tảng mà chúng tôi hỗ trợ và ngay lập tức bảo vệ quỹ của chủ sở hữu OUSD khi nhận thấy bất kỳ rủi ro nào. + + + diff --git a/vi/core-concepts/supported-defi-platforms/aave.md b/vi/core-concepts/supported-defi-platforms/aave.md new file mode 100644 index 000000000..7e3f98b71 --- /dev/null +++ b/vi/core-concepts/supported-defi-platforms/aave.md @@ -0,0 +1,25 @@ +# Aave + +{% hint style="info" %} +Sắp ra mắt. Aave hiện vẫn chưa được tích hợp. +{% endhint %} + +Aave là một giao thức và nền tảng cho vay xây dựng trên Ethereum và được ra mắt vào tháng 1 năm 2020 bởi những người tạo ra ETHLend. Người dùng trên Aave có thể kiếm lãi kép hoặc vay một tài sản khác dựa trên tài sản thế chấp. Mỗi tài sản được hỗ trợ được tổng hợp trong nhóm thanh khoản riêng của nó và người dùng có thể chọn giữa lãi suất thay đổi dựa trên cung và cầu hoặc lãi suất cố định. + +Số dư tài sản đảm bảo được đại diện bằng ERC-20 aTokens theo tỷ lệ 1: 1 so với tài sản cơ bản mà chúng đại diện. Tiền lãi được cộng gộp tự động và được trả cho người cho vay bằng aTokens, có nghĩa là số dư aToken của người cho vay sẽ tăng dần theo thời gian. Người dùng có thể mượn tài sản dựa trên số aTokens của họ. aTokens có thể chuyển nhượng tự do và có thể được sử dụng trên nhiều giao thức DeFi khác. aTokens có thể được đổi lấy tài sản thế chấp của họ bất kỳ lúc nào. + +Aave hỗ trợ các khoản vay nhanh, là các khoản vay không cần thế chấp trong đó người dùng vay và hoàn trả số dư của khoản vay trong một giao dịch duy nhất, có nghĩa là người dùng khoản vay nhanh không cần phải bỏ bất kỳ khoản vốn ban đầu nào. Các khoản vay nhanh là một sản phẩm phức tạp nhắm vào các nhà phát triển và có thể được sử dụng để phân bổ trên nhiều giao thức DeFi. + +Aave hiện được quản lý bởi token quản trị LEND, token ERC-20 trước đây là token tiện ích của ETHLend. Aave đã công bố chuyển đổi sang quản trị phi tập trung hoàn toàn bao gồm cả hoán đổi token trong đó người dùng trao đổi LEND lấy AAVE, token quản trị ERC-20 mới với phần thưởng từ staking. Một số AAVE sẽ được phân phối cho người dùng nền tảng trong một chiến dịch khai thác thanh khoản. + +Tổng giá trị của Aave bị khóa (TVL) đã nhanh chóng tăng lên hơn 1,2 tỷ đô la, khiến nó trở thành một trong những giao thức DeFi lớn nhất. Vốn hóa thị trường của LEND đạt hơn 700 triệu đô la. + +Aave đã trải qua các cuộc kiểm toán bảo mật được thực hiện bởi OpenZeppelin, Trail of Bits và Consensys Diligence. Aave vẫn đang duy trì chương trình tặng tưởng cho người phát hiện ra lỗi của hệ thống. + +| Tài nguyên | | +|:-------------------------------- |:------------------------------------------------------------------------------ | +| Website | [https://aave.com/](https://aave.com/) | +| Tài liệu dành cho nhà phát triển | [http://docs.aave.com/](https://compound.finance/docs) | +| GitHub | [https://github.com/aave/aave-protocol](https://github.com/aave/aave-protocol) | +| Discord | [https://discordapp.com/invite/AnSqnvV](https://discordapp.com/invite/AnSqnvV) | + diff --git a/vi/core-concepts/supported-defi-platforms/balancer.md b/vi/core-concepts/supported-defi-platforms/balancer.md new file mode 100644 index 000000000..251bf726a --- /dev/null +++ b/vi/core-concepts/supported-defi-platforms/balancer.md @@ -0,0 +1,27 @@ +# Balancer + +{% hint style="info" %} +Sắp ra mắt. Balancer hiện vẫn chưa được tích hợp. +{% endhint %} + +Balancer là một giao thức thanh khoản và sàn phi tập trung trên Ethereum, ra mắt vào tháng 3 năm 2020. Người dùng có thể chuyển đổi giữa các đồng ERC-20 hoặc gửi token vào các bể thanh khoản để nhận phí. + +Balancer là một Trình tạo lập thị trường tự động (AMM) cho phép các xây dựng bể thanh khoản lên cho 8 tài sản khác nhau với trọng số tùy chỉnh. Nhóm thanh khoản trên Balancer có thể được xem tương tự như Exchange Traded Funds (ETF) hay danh mục đầu tư theo tỉ lệ các tài sản cụ thể. Nếu giao dịch làm cho bể này thay đổi tỉ lệ mục tiêu của nó, tỷ giá hối đoái giữa các tài sản trong bể sẽ thay đổi. Các nhà kinh doanh chênh lệch giá có thể thực hiện giao dịch nhằm tận dụng lợi thế này và từ đó cân bằng lại nhóm trở lại tỉ lệ phân phối mục tiêu của nó. Tính thanh khoản cũng có thể được chia sẻ giữa các bể, không giống như các AMM khác. + +Balancer hỗ trợ các bể riêng, trong đó chỉ chủ sở hữu của bể mới có thể đóng góp tính thanh khoản, các bể được chia sẻ được hoàn toàn công khai và các bể thông minh, là các bể chia sẻ được kiểm soát bởi một hợp đồng thông minh, giúp nó hoạt động 1 cách tự động và logic. Những người cung cấp thanh khoản sẽ được cấp token của bể Balancer (BPT) đại diện cho phần của họ trong một nhóm và hưởng tỉ lệ phí nhất định. Những token này có thể chuyển nhượng tự do và có thể được đổi lấy tài sản được cung cấp và phí tích lũy. + +Các nhà phát hành token tìm cách cải thiện tính thanh khoản của token bằng cách đưa ra các ưu đãi những người cung cấp thanh khoản trong các chiến dịch khai thác thanh khoản. Các nhà phát hành token mới cũng đã đưa token của họ vào các bể của Balancer. + +Yearn được quản lý bởi BAL, token quản trị ERC-20. Người nắm giữ BAL có thể bỏ phiếu về các thay đổi giao thức. BAL liên tục được trao cho những người cung cấp thanh khoản và một phần lớn trong tổng nguồn cung BAL được phân bổ cho nhóm và các nhà đầu tư theo lịch trả token. + +Khối lượng giao dịch trên Balancer thường trên 25 triệu đô la hàng ngày. Balancer có Tổng giá trị bị khóa (TVL) hơn 250 triệu đô la bởi các nhà cung cấp thanh khoản tại thời điểm viết bài. + +Balancer được kiểm toán bảo mật bởi Trail of Bits và đang chạy 1 chương trình tặng thưởng cho người phát hiện ra lỗi. Tuy nhiên, Balancer đã bị khai thác rất nhiều vào tháng 6 năm 2020. + +| Tài nguyên | | +|:-------------------------------- |:-------------------------------------------------------------------- | +| Website | [https://balancer.finance/](https://balancer.finance/) | +| Tài liệu dành cho nhà phát triển | [https://docs.balancer.finance/](https://docs.balancer.finance/) | +| GitHub | [https://github.com/balancer-labs](https://github.com/balancer-labs) | +| Discord | [https://discord.gg/ARJWaeF](https://discord.gg/ARJWaeF) | + diff --git a/vi/core-concepts/supported-defi-platforms/compound.md b/vi/core-concepts/supported-defi-platforms/compound.md new file mode 100644 index 000000000..d40abc58b --- /dev/null +++ b/vi/core-concepts/supported-defi-platforms/compound.md @@ -0,0 +1,19 @@ +# Compound + +Compound là một giao thức và nền tảng cho vay được xây dựng trên Ethereum và ra mắt vào tháng 9 năm 2018. Người dùng trên Coumpound có thể kiếm lãi kép hoặc vay một tài sản khác dựa trên tài sản thế chấp. Mỗi tài sản được hỗ trợ được tổng hợp trong nhóm thanh khoản của riêng nó và lãi suất được điều chỉnh tự động dựa trên cung và cầu. + +Số dư tài sản thế chấp được đại diện bởi ERC-20 cTokens, tự động tích lũy lãi suất và tăng giá trị theo thời gian so với tài sản cơ bản mà chúng đại diện. Người dùng có thể mượn tài sản dựa trên số aTokens của họ. cToken có thể chuyển nhượng tự do và có thể được sử dụng trên nhiều giao thức DeFi khác. cTokens có thể được đổi lấy tài sản thế chấp của họ bất kỳ lúc nào. + +Compound được quản lý bởi COMP, token quản trị ERC-20. Người nắm giữ COMP có thể đề xuất và bỏ phiếu về các thay đổi giao thức hoặc ủy quyền phiếu bầu của họ cho người khác. Token COMP tặng tưởng theo tỷ lệ cho người dùng giao thức hàng ngày, được chia đều giữa người đi vay và người cho vay. Một phần lớn nguồn cung token COMP được giữ lại bởi nhóm Compound, các nhà đầu tư và cố vấn. + +Tổng giá trị bị khoá trên Compound (TVL) đã nhanh chóng tăng lên gần 800 triệu đô la, khiến nó trở thành một trong những giao thức DeFi lớn nhất. Vốn hóa thị trường của COMP đạt hơn 500 triệu đô la. + +Compound đã trải qua nhiều lần kiểm toán bảo mật thực hiện bởi OpenZeppelin và Trail of Bits. Giao thức Compound đã được CertiK chính thức xác minh và đã trải qua thử nghiệm kiểm tra sức chịu đựng bởi Gauntlet. Compound vẫn đang duy trì chương trình tặng tưởng cho người phát hiện ra lỗi của hệ thống. + +| Tài nguyên | | +|:-------------------------------- |:-------------------------------------------------------------------------------------------------------------- | +| Website | [https://compound.finance/](https://compound.finance/) | +| Tài liệu dành cho nhà phát triển | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/compound-finance/compound-protocol](https://github.com/compound-finance/compound-protocol) | +| Discord | [https://discord.com/invite/cU7vmVW](https://discord.com/invite/cU7vmVW) | + diff --git a/vi/core-concepts/supported-defi-platforms/curve.md b/vi/core-concepts/supported-defi-platforms/curve.md new file mode 100644 index 000000000..36def1157 --- /dev/null +++ b/vi/core-concepts/supported-defi-platforms/curve.md @@ -0,0 +1,25 @@ +# Curve + +{% hint style="info" %} +Sắp ra mắt. Curve hiện vẫn chưa được tích hợp. +{% endhint %} + +Curve là một giao thức cung cấp thanh khoản và sàn phi tập trung trên Ethereum cho stablecoin và BTC, ra mắt vào tháng 1 năm 2020. Người dùng có thể hoán đổi giữa các stablecoin ERC-20 phổ biến hoặc giữa các token ERC-20 đại diện của bitcoin. Các nhà cung cấp thanh khoản tạo điều kiện để giao dịch được diễn ra và hưởng phí. + +Curve là Trình tạo thị trường tự động (AMM) nơi mỗi thị trường có một nhóm thanh khoản liên quan với hai hoặc nhiều tài sản phải có cùng giá trị, như USDT, USDC, DAI và TUSD, tất cả đều là stablecoin được neo bằng đô la Mỹ. Tỷ giá hối đoái giữa mỗi stablecoin và trọng lượng tương đối của chúng được xác định bởi một thuật toán dựa trên cung và cầu. Những người kinh doanh chênh lệch giá góp phần cân bằng các tỷ giá hối đoái giữa các đồng này. + +Một số bể thanh khoản của Curve kiếm thêm phí cho những người cung cấp thanh khoản bên cạnh phí trao đổi từ các nhà giao dịch. Curve cung cấp các bể stablecoin được tích hợp với Compound, yearn.finance và Synthetix. Các tài sản trong mỗi nhóm thanh khoản được cung cấp cho các nền tảng đó để tạo ra lợi nhuận bổ sung được chuyển cho các nhà cung cấp thanh khoản của mỗi nhóm. Token đại diện cho người cung cấp thanh khoản (LP) được trao cho những người tham gia nhóm và có thể được đổi lấy tính số tiền bỏ ra ban đầu, phí và lợi nhuận tích lũy. Token LP cũng có thể được chuyển để sử dụng trong các giao thức khác. + +Curve được quản lý bởi CRV, token quản trị ERC-20. Người nắm giữ CRV có thể bỏ phiếu về các thay đổi giao thức. Chủ sở hữu CRV có thể stake của họ để có thêm quyền biểu quyết tỉ lệ thuận với thời gian stake. CRV liên tục được trao cho những người cung cấp thanh khoản và một phần lớn trong tổng nguồn cung CRV được phân bổ cho nhóm và các nhà đầu tư theo lịch trả token. + +Khối lượng giao dịch trên Curve thường trên 50 triệu đô la hàng ngày. Curve có Tổng giá trị bị khóa (TVL) hơn 1 triệu đô la bởi các nhà cung cấp thanh khoản tại thời điểm viết bài. + +Curve được kiểm toán bảo mật bởi Trail of Bits và đang chạy 1 chương trình tặng thưởng cho người phát hiện ra lỗi. + +| Tài nguyên | | +|:-------------------------------- |:------------------------------------------------------------------------ | +| Website | [https://www.curve.fi/](https://uniswap.org/) | +| Tài liệu dành cho nhà phát triển | [https://www.curve.fi/devdocs](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/curvefi](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/9uEHakc](https://discord.com/invite/EwFs3Pp) | + diff --git a/vi/core-concepts/supported-defi-platforms/dydx.md b/vi/core-concepts/supported-defi-platforms/dydx.md new file mode 100644 index 000000000..e66d8a8cf --- /dev/null +++ b/vi/core-concepts/supported-defi-platforms/dydx.md @@ -0,0 +1,27 @@ +# dYdX + +{% hint style="info" %} +Sắp ra mắt. DyDx hiện vẫn chưa được tích hợp. +{% endhint %} + +dyDx là một giao thức và nền tảng cho vay được xây dựng trên Ethereum và ra mắt vào tháng 5 năm 2019. Người dùng có thể giao dịch tài sản trên sàn giao dịch phi tập trung, không giám sát của dYdX hoặc tham gia vay và cho vay. Giao thức cho vay cho phép giao dịch ký quỹ và giao dịch kỳ hạn. Lãi suất được điều chỉnh dựa trên cung cầu và chỉ cho vay ngắn hạn. + +Tính thanh khoản của các tài sản có sẵn để vay và cho vay được gộp lại với nhau theo loại tài sản. Tiền lãi trả cho người cho vay được tích lũy tự động và người đi vay phải ký quỹ để vay. + +dYdX hỗ trợ các khoản vay nhanh, là các khoản vay không cần thế chấp trong đó người dùng vay và hoàn trả số dư của khoản vay trong một giao dịch duy nhất, có nghĩa là người dùng khoản vay nhanh không cần phải bỏ bất kỳ khoản vốn ban đầu nào. Các khoản vay nhanh là một sản phẩm phức tạp nhắm vào các nhà phát triển và có thể được sử dụng để phân bổ trên nhiều giao thức DeFi. + +dYdX có tổng giá trị khoảng 40 triệu đô la bị khóa (TVL) tại thời điểm viết bài này. dYdX không có token riêng. + +dYdX trải qua kiểm toán bảo mật của OpenZeppelin và Bramah Systems. + +| Tài nguyên | | +|:-------------------------------- |:-------------------------------------------------------------------- | +| Website | [https://dydx.exchange/](https://dydx.exchange/) | +| Tài liệu dành cho nhà phát triển | [https://docs.dydx.exchange/](https://docs.dydx.exchange/) | +| GitHub | [https://github.com/dydxprotocol/](https://github.com/dydxprotocol/) | +| Discord | [https://discord.gg/yah42Rb](https://discord.gg/yah42Rb) | + + + + + diff --git a/vi/core-concepts/supported-defi-platforms/uniswap.md b/vi/core-concepts/supported-defi-platforms/uniswap.md new file mode 100644 index 000000000..988ba7c35 --- /dev/null +++ b/vi/core-concepts/supported-defi-platforms/uniswap.md @@ -0,0 +1,27 @@ +# Uniswap + +{% hint style="info" %} +Sắp ra mắt. Uniswap hiện vẫn chưa được tích hợp. +{% endhint %} + +Uniswap là một giao thức thanh khoản và sàn phi tập trung trên Ethereum, ra mắt vào tháng 11 năm 2018. Uniswap v2 đã ra mắt vào tháng 5 năm 2020. Người dùng có thể chuyển đổi giữa các đồng ERC-20 hoặc gửi token vào các bể thanh khoản để nhận phí. + +Thị trường trên Uniswap hoạt động như một nhóm thanh khoản hơn là theo cơ chế đặt lệnh mua bán như các sàn giao dịch bình thường. Loại sàn giao dịch như thế này được gọi là Nhà tạo lập thị trường tự động (AMM). Tỷ giá hối đoái giữa hai tài sản được xác định theo công thức nhân không đổi và di chuyển dọc theo đường giá tùy thuộc vào giá trị tương đối của mỗi tài sản trong bể. Điều này khuyến khích những người kinh doanh chênh lệch giá tham gia vào các bể thanh khoản để cân bằng lại trọng số tương đối và bình thường hóa tỷ giá hối đoái. + +Các nhà giao dịch có thể bị trượt giá nếu không có đủ thanh khoản trong một bể nhất định và có thể không được bảo vệ khỏi sự bất lợi của việc tỉ giá hối đoái sụt giảm. Các nhà cung cấp thanh khoản có thể bị thiệt hại vĩnh viễn khi tỷ giá hối đoái của bể không khớp với thực tế và các nhà kinh doanh chênh lệch giá thực hiện các giao dịch dọc theo đường cong định giá. + +Những người tham gia bể sẽ nhận đượctoken Uniswap Liquidity Provider (LP) tương ứng với phần thanh khoản mà họ cung cấp trong nhóm đó. Các token LP này có thể chuyển nhượng tự do. Người tham gia có thể thoát khỏi các bể bất kỳ lúc nào bằng cách đổi các token này cho các tài sản được cung cấp và phí tích lũy. + +Các nhà phát hành token tìm cách cải thiện tính thanh khoản của token bằng cách đưa ra các ưu đãi những người cung cấp thanh khoản trong các chiến dịch khai thác thanh khoản. Các nhà phát hành token mới cũng đã đưa token của họ vào các bể của Uniswap. + +Khối lượng giao dịch trên Uniswap hiện vượt xa nhiều sàn giao dịch truyền thống và thường xuyên vượt quá 200 triệu đô la mỗi ngày. Uniswap có hơn 170 triệu đô la Tổng giá trị bị khóa (TVL) bởi các nhà cung cấp thanh khoản. Uniswap không có nền tảng blockchain hoặc token quản trị riêng. + +Các hợp đồng thông minh của Uniswap đã được dapp.org kiểm toán và chính thức xác nhận. Uniswap vẫn đang duy trì chương trình tặng tưởng cho người phát hiện ra lỗi của hệ thống. + +| Tài nguyên | | +|:-------------------------------- |:------------------------------------------------------------------------ | +| Website | [https://uniswap.org/](https://uniswap.org/) | +| Tài liệu dành cho nhà phát triển | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/vi/core-concepts/supported-defi-platforms/yearn.finance.md b/vi/core-concepts/supported-defi-platforms/yearn.finance.md new file mode 100644 index 000000000..18a7a7e15 --- /dev/null +++ b/vi/core-concepts/supported-defi-platforms/yearn.finance.md @@ -0,0 +1,25 @@ +# Yearn.finance + +{% hint style="info" %} +Sắp ra mắt. Yearn.finance hiện vẫn chưa được tích hợp. +{% endhint %} + +Yearn.finance, trước đây là iEarn.finance, là một nền tảng tổng hợp lợi nhuận được xây dựng trên Ethereum và ra mắt vào tháng 1 năm 2020 bởi Andre Cronje. Yearn quản lý chiến lược canh tác năng suất (yield farming) và tái cân bằng bằng cách sử dụng kết hợp tự động hóa và con người đưa ra quyết định thay mặt cho những người dùng đã gửi vốn. + +Yearn có hai sản phẩm tổng hợp lợi nhuận, Earn và Vaults. Earn cho phép người dùng gửi stablecoin hoặc BTC vào các bể thanh khoản trên Curve để kiếm phí và phần thưởng token quản trị. Những tài sản này cũng được cho vay trên các nền tảng cung cấp phần thưởng token và lợi nhuận cao. + +Vault cung cấp trải nghiệm được quản lý và tự động hơn. Người dùng gửi các tài sản như LINK, token thanh khoản Curve hoặc stablecoin và sau đó Vault sẽ gộp tất cả các tài sản này lại với nhau và triển khai chiến lược canh tác thu nhập cao nhất mà cộng đồng và Andre Cronje cho là an toàn. Các token quản trị kiếm được dưới dạng phần thưởng được bán bớt thành tài sản giống tài sản ban đầu được ký gửi và kết hợp với các khoản phí khác rồi tự động được chuyển vào Vault để tạo ra lợi tức kép. Các chiến lược có thể được thay đổi thường xuyên và việc gộp các tài sản lại với nhau giúp tiết kiệm chi phí gas cho người dùng. + +Yearn được quản lý bởi YFI, token quản trị ERC-20. Người nắm giữ YFI có thể bỏ phiếu cho các thay đổi giao thức sau khi đồng ý khóa YFI của họ trong 3 ngày. YFI cũng có thể dùng để stake để nhận lãi xuất qua 1 cổng quản trị. Lợi nhuận này đến từ phí tính cho người dùng trên các sản phẩm của Yearn. YFI được phân phối hoàn toàn những người cung cấp thanh khoản trên Curve and Balancer. Không có token nào được phân bổ cho các thành viên trong nhóm hoặc nhà đầu tư. + +Tổng giá trị của Yearn bị khóa (TVL) đã nhanh chóng tăng lên hơn 800 triệu đô la, khiến nó trở thành một trong những giao thức DeFi lớn nhất. Vốn hóa thị trường của YFI đạt hơn 400 triệu đô la. + +Yearn đã trải qua nhiều lần kiểm toán bảo mật và hợp đồng thông minh bởi CertiK, Quantstamp, HackMD và CryptoManiacs. Yearn nổi tiếng với việc tung ra sản phẩm thử nghiệm rất nhanh và cảnh báo người dùng rằng sản phẩm của họ đang trong giai đoạn thử nghiệm. + +| Tài nguyên | | +|:-------------------------------- |:-------------------------------------------------------------------- | +| Website | [https://yearn.finance/](https://yearn.finance/) | +| Tài liệu dành cho nhà phát triển | [https://docs.yearn.finance/](https://docs.yearn.finance/) | +| GitHub | [https://github.com/iearn-finance](https://github.com/iearn-finance) | +| Discord | [https://discord.gg/uTmHe8r](https://discord.gg/uTmHe8r) | + diff --git a/vi/core-concepts/supported-platforms/README.md b/vi/core-concepts/supported-platforms/README.md new file mode 100644 index 000000000..3f5ca6c2c --- /dev/null +++ b/vi/core-concepts/supported-platforms/README.md @@ -0,0 +1,32 @@ +# Nền tảng DeFi được hỗ trợ + +**Nền tảng DeFi được hỗ trợ** + +OUSD tạo ra lợi nhuận bằng cách gửi stablecoin vào các nền tảng cho vay và các nhóm thanh khoản của nhà tạo lập thị trường. Điều quan trọng cần lưu ý là rằng những nền tảng này ẩn chứa rủi ro công nghệ dẫn tới tiền có thể bị mất nếu xảy ra sự kiện liên quan đến lỗ hổng lớn trong bảo mật. Chúng tôi đang chọn làm việc với các nền tảng đã được kiểm toán hợp đồng thông minh và chúng tôi cảm thấy an toàn nhất. + +Hiện tại, đội ngũ có kế hoạch kiếm lợi nhuận từ các nền tảng sau: + +{% page-ref page="compound.md" %} + +Dự kiến tích hợp thêm các nền tảng sau: + +{% page-ref page="yearn.finance.md" %} + +{% page-ref page="compound.md" %} + +{% page-ref page="aave.md" %} + +{% page-ref page="dydx.md" %} + +{% page-ref page="uniswap.md" %} + +{% page-ref page="curve.md" %} + +{% page-ref page="balancer.md" %} + +Mặc dù DeFi đã phát triển rất nhanh và hiện đã có hàng tỷ đô la giá trị được gửi trên các nền tảng này, một số dự án trong số này vẫn đang trong giai đoạn beta và mang tính thử nghiệm cao. Vẫn có khả năng hợp đồng thông minh của nền tảng này vẫn còn lỗ hổng. Trong quá khứ, các lỗ hổng trên các ứng dụng Ethereum cũng đã từng gây ra thiệt hại hàng lên tớii hàng triệu đô la. + +Chúng tôi giám sát chặt chẽ các sự kiện bảo mật trên các nền tảng mà chúng tôi hỗ trợ và ngay lập tức bảo vệ quỹ của chủ sở hữu OUSD khi nhận thấy bất kỳ rủi ro nào. + + + diff --git a/vi/core-concepts/supported-platforms/aave.md b/vi/core-concepts/supported-platforms/aave.md new file mode 100644 index 000000000..7e3f98b71 --- /dev/null +++ b/vi/core-concepts/supported-platforms/aave.md @@ -0,0 +1,25 @@ +# Aave + +{% hint style="info" %} +Sắp ra mắt. Aave hiện vẫn chưa được tích hợp. +{% endhint %} + +Aave là một giao thức và nền tảng cho vay xây dựng trên Ethereum và được ra mắt vào tháng 1 năm 2020 bởi những người tạo ra ETHLend. Người dùng trên Aave có thể kiếm lãi kép hoặc vay một tài sản khác dựa trên tài sản thế chấp. Mỗi tài sản được hỗ trợ được tổng hợp trong nhóm thanh khoản riêng của nó và người dùng có thể chọn giữa lãi suất thay đổi dựa trên cung và cầu hoặc lãi suất cố định. + +Số dư tài sản đảm bảo được đại diện bằng ERC-20 aTokens theo tỷ lệ 1: 1 so với tài sản cơ bản mà chúng đại diện. Tiền lãi được cộng gộp tự động và được trả cho người cho vay bằng aTokens, có nghĩa là số dư aToken của người cho vay sẽ tăng dần theo thời gian. Người dùng có thể mượn tài sản dựa trên số aTokens của họ. aTokens có thể chuyển nhượng tự do và có thể được sử dụng trên nhiều giao thức DeFi khác. aTokens có thể được đổi lấy tài sản thế chấp của họ bất kỳ lúc nào. + +Aave hỗ trợ các khoản vay nhanh, là các khoản vay không cần thế chấp trong đó người dùng vay và hoàn trả số dư của khoản vay trong một giao dịch duy nhất, có nghĩa là người dùng khoản vay nhanh không cần phải bỏ bất kỳ khoản vốn ban đầu nào. Các khoản vay nhanh là một sản phẩm phức tạp nhắm vào các nhà phát triển và có thể được sử dụng để phân bổ trên nhiều giao thức DeFi. + +Aave hiện được quản lý bởi token quản trị LEND, token ERC-20 trước đây là token tiện ích của ETHLend. Aave đã công bố chuyển đổi sang quản trị phi tập trung hoàn toàn bao gồm cả hoán đổi token trong đó người dùng trao đổi LEND lấy AAVE, token quản trị ERC-20 mới với phần thưởng từ staking. Một số AAVE sẽ được phân phối cho người dùng nền tảng trong một chiến dịch khai thác thanh khoản. + +Tổng giá trị của Aave bị khóa (TVL) đã nhanh chóng tăng lên hơn 1,2 tỷ đô la, khiến nó trở thành một trong những giao thức DeFi lớn nhất. Vốn hóa thị trường của LEND đạt hơn 700 triệu đô la. + +Aave đã trải qua các cuộc kiểm toán bảo mật được thực hiện bởi OpenZeppelin, Trail of Bits và Consensys Diligence. Aave vẫn đang duy trì chương trình tặng tưởng cho người phát hiện ra lỗi của hệ thống. + +| Tài nguyên | | +|:-------------------------------- |:------------------------------------------------------------------------------ | +| Website | [https://aave.com/](https://aave.com/) | +| Tài liệu dành cho nhà phát triển | [http://docs.aave.com/](https://compound.finance/docs) | +| GitHub | [https://github.com/aave/aave-protocol](https://github.com/aave/aave-protocol) | +| Discord | [https://discordapp.com/invite/AnSqnvV](https://discordapp.com/invite/AnSqnvV) | + diff --git a/vi/core-concepts/supported-platforms/balancer.md b/vi/core-concepts/supported-platforms/balancer.md new file mode 100644 index 000000000..251bf726a --- /dev/null +++ b/vi/core-concepts/supported-platforms/balancer.md @@ -0,0 +1,27 @@ +# Balancer + +{% hint style="info" %} +Sắp ra mắt. Balancer hiện vẫn chưa được tích hợp. +{% endhint %} + +Balancer là một giao thức thanh khoản và sàn phi tập trung trên Ethereum, ra mắt vào tháng 3 năm 2020. Người dùng có thể chuyển đổi giữa các đồng ERC-20 hoặc gửi token vào các bể thanh khoản để nhận phí. + +Balancer là một Trình tạo lập thị trường tự động (AMM) cho phép các xây dựng bể thanh khoản lên cho 8 tài sản khác nhau với trọng số tùy chỉnh. Nhóm thanh khoản trên Balancer có thể được xem tương tự như Exchange Traded Funds (ETF) hay danh mục đầu tư theo tỉ lệ các tài sản cụ thể. Nếu giao dịch làm cho bể này thay đổi tỉ lệ mục tiêu của nó, tỷ giá hối đoái giữa các tài sản trong bể sẽ thay đổi. Các nhà kinh doanh chênh lệch giá có thể thực hiện giao dịch nhằm tận dụng lợi thế này và từ đó cân bằng lại nhóm trở lại tỉ lệ phân phối mục tiêu của nó. Tính thanh khoản cũng có thể được chia sẻ giữa các bể, không giống như các AMM khác. + +Balancer hỗ trợ các bể riêng, trong đó chỉ chủ sở hữu của bể mới có thể đóng góp tính thanh khoản, các bể được chia sẻ được hoàn toàn công khai và các bể thông minh, là các bể chia sẻ được kiểm soát bởi một hợp đồng thông minh, giúp nó hoạt động 1 cách tự động và logic. Những người cung cấp thanh khoản sẽ được cấp token của bể Balancer (BPT) đại diện cho phần của họ trong một nhóm và hưởng tỉ lệ phí nhất định. Những token này có thể chuyển nhượng tự do và có thể được đổi lấy tài sản được cung cấp và phí tích lũy. + +Các nhà phát hành token tìm cách cải thiện tính thanh khoản của token bằng cách đưa ra các ưu đãi những người cung cấp thanh khoản trong các chiến dịch khai thác thanh khoản. Các nhà phát hành token mới cũng đã đưa token của họ vào các bể của Balancer. + +Yearn được quản lý bởi BAL, token quản trị ERC-20. Người nắm giữ BAL có thể bỏ phiếu về các thay đổi giao thức. BAL liên tục được trao cho những người cung cấp thanh khoản và một phần lớn trong tổng nguồn cung BAL được phân bổ cho nhóm và các nhà đầu tư theo lịch trả token. + +Khối lượng giao dịch trên Balancer thường trên 25 triệu đô la hàng ngày. Balancer có Tổng giá trị bị khóa (TVL) hơn 250 triệu đô la bởi các nhà cung cấp thanh khoản tại thời điểm viết bài. + +Balancer được kiểm toán bảo mật bởi Trail of Bits và đang chạy 1 chương trình tặng thưởng cho người phát hiện ra lỗi. Tuy nhiên, Balancer đã bị khai thác rất nhiều vào tháng 6 năm 2020. + +| Tài nguyên | | +|:-------------------------------- |:-------------------------------------------------------------------- | +| Website | [https://balancer.finance/](https://balancer.finance/) | +| Tài liệu dành cho nhà phát triển | [https://docs.balancer.finance/](https://docs.balancer.finance/) | +| GitHub | [https://github.com/balancer-labs](https://github.com/balancer-labs) | +| Discord | [https://discord.gg/ARJWaeF](https://discord.gg/ARJWaeF) | + diff --git a/vi/core-concepts/supported-platforms/compound.md b/vi/core-concepts/supported-platforms/compound.md new file mode 100644 index 000000000..d40abc58b --- /dev/null +++ b/vi/core-concepts/supported-platforms/compound.md @@ -0,0 +1,19 @@ +# Compound + +Compound là một giao thức và nền tảng cho vay được xây dựng trên Ethereum và ra mắt vào tháng 9 năm 2018. Người dùng trên Coumpound có thể kiếm lãi kép hoặc vay một tài sản khác dựa trên tài sản thế chấp. Mỗi tài sản được hỗ trợ được tổng hợp trong nhóm thanh khoản của riêng nó và lãi suất được điều chỉnh tự động dựa trên cung và cầu. + +Số dư tài sản thế chấp được đại diện bởi ERC-20 cTokens, tự động tích lũy lãi suất và tăng giá trị theo thời gian so với tài sản cơ bản mà chúng đại diện. Người dùng có thể mượn tài sản dựa trên số aTokens của họ. cToken có thể chuyển nhượng tự do và có thể được sử dụng trên nhiều giao thức DeFi khác. cTokens có thể được đổi lấy tài sản thế chấp của họ bất kỳ lúc nào. + +Compound được quản lý bởi COMP, token quản trị ERC-20. Người nắm giữ COMP có thể đề xuất và bỏ phiếu về các thay đổi giao thức hoặc ủy quyền phiếu bầu của họ cho người khác. Token COMP tặng tưởng theo tỷ lệ cho người dùng giao thức hàng ngày, được chia đều giữa người đi vay và người cho vay. Một phần lớn nguồn cung token COMP được giữ lại bởi nhóm Compound, các nhà đầu tư và cố vấn. + +Tổng giá trị bị khoá trên Compound (TVL) đã nhanh chóng tăng lên gần 800 triệu đô la, khiến nó trở thành một trong những giao thức DeFi lớn nhất. Vốn hóa thị trường của COMP đạt hơn 500 triệu đô la. + +Compound đã trải qua nhiều lần kiểm toán bảo mật thực hiện bởi OpenZeppelin và Trail of Bits. Giao thức Compound đã được CertiK chính thức xác minh và đã trải qua thử nghiệm kiểm tra sức chịu đựng bởi Gauntlet. Compound vẫn đang duy trì chương trình tặng tưởng cho người phát hiện ra lỗi của hệ thống. + +| Tài nguyên | | +|:-------------------------------- |:-------------------------------------------------------------------------------------------------------------- | +| Website | [https://compound.finance/](https://compound.finance/) | +| Tài liệu dành cho nhà phát triển | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/compound-finance/compound-protocol](https://github.com/compound-finance/compound-protocol) | +| Discord | [https://discord.com/invite/cU7vmVW](https://discord.com/invite/cU7vmVW) | + diff --git a/vi/core-concepts/supported-platforms/curve.md b/vi/core-concepts/supported-platforms/curve.md new file mode 100644 index 000000000..36def1157 --- /dev/null +++ b/vi/core-concepts/supported-platforms/curve.md @@ -0,0 +1,25 @@ +# Curve + +{% hint style="info" %} +Sắp ra mắt. Curve hiện vẫn chưa được tích hợp. +{% endhint %} + +Curve là một giao thức cung cấp thanh khoản và sàn phi tập trung trên Ethereum cho stablecoin và BTC, ra mắt vào tháng 1 năm 2020. Người dùng có thể hoán đổi giữa các stablecoin ERC-20 phổ biến hoặc giữa các token ERC-20 đại diện của bitcoin. Các nhà cung cấp thanh khoản tạo điều kiện để giao dịch được diễn ra và hưởng phí. + +Curve là Trình tạo thị trường tự động (AMM) nơi mỗi thị trường có một nhóm thanh khoản liên quan với hai hoặc nhiều tài sản phải có cùng giá trị, như USDT, USDC, DAI và TUSD, tất cả đều là stablecoin được neo bằng đô la Mỹ. Tỷ giá hối đoái giữa mỗi stablecoin và trọng lượng tương đối của chúng được xác định bởi một thuật toán dựa trên cung và cầu. Những người kinh doanh chênh lệch giá góp phần cân bằng các tỷ giá hối đoái giữa các đồng này. + +Một số bể thanh khoản của Curve kiếm thêm phí cho những người cung cấp thanh khoản bên cạnh phí trao đổi từ các nhà giao dịch. Curve cung cấp các bể stablecoin được tích hợp với Compound, yearn.finance và Synthetix. Các tài sản trong mỗi nhóm thanh khoản được cung cấp cho các nền tảng đó để tạo ra lợi nhuận bổ sung được chuyển cho các nhà cung cấp thanh khoản của mỗi nhóm. Token đại diện cho người cung cấp thanh khoản (LP) được trao cho những người tham gia nhóm và có thể được đổi lấy tính số tiền bỏ ra ban đầu, phí và lợi nhuận tích lũy. Token LP cũng có thể được chuyển để sử dụng trong các giao thức khác. + +Curve được quản lý bởi CRV, token quản trị ERC-20. Người nắm giữ CRV có thể bỏ phiếu về các thay đổi giao thức. Chủ sở hữu CRV có thể stake của họ để có thêm quyền biểu quyết tỉ lệ thuận với thời gian stake. CRV liên tục được trao cho những người cung cấp thanh khoản và một phần lớn trong tổng nguồn cung CRV được phân bổ cho nhóm và các nhà đầu tư theo lịch trả token. + +Khối lượng giao dịch trên Curve thường trên 50 triệu đô la hàng ngày. Curve có Tổng giá trị bị khóa (TVL) hơn 1 triệu đô la bởi các nhà cung cấp thanh khoản tại thời điểm viết bài. + +Curve được kiểm toán bảo mật bởi Trail of Bits và đang chạy 1 chương trình tặng thưởng cho người phát hiện ra lỗi. + +| Tài nguyên | | +|:-------------------------------- |:------------------------------------------------------------------------ | +| Website | [https://www.curve.fi/](https://uniswap.org/) | +| Tài liệu dành cho nhà phát triển | [https://www.curve.fi/devdocs](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/curvefi](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/9uEHakc](https://discord.com/invite/EwFs3Pp) | + diff --git a/vi/core-concepts/supported-platforms/dydx.md b/vi/core-concepts/supported-platforms/dydx.md new file mode 100644 index 000000000..e66d8a8cf --- /dev/null +++ b/vi/core-concepts/supported-platforms/dydx.md @@ -0,0 +1,27 @@ +# dYdX + +{% hint style="info" %} +Sắp ra mắt. DyDx hiện vẫn chưa được tích hợp. +{% endhint %} + +dyDx là một giao thức và nền tảng cho vay được xây dựng trên Ethereum và ra mắt vào tháng 5 năm 2019. Người dùng có thể giao dịch tài sản trên sàn giao dịch phi tập trung, không giám sát của dYdX hoặc tham gia vay và cho vay. Giao thức cho vay cho phép giao dịch ký quỹ và giao dịch kỳ hạn. Lãi suất được điều chỉnh dựa trên cung cầu và chỉ cho vay ngắn hạn. + +Tính thanh khoản của các tài sản có sẵn để vay và cho vay được gộp lại với nhau theo loại tài sản. Tiền lãi trả cho người cho vay được tích lũy tự động và người đi vay phải ký quỹ để vay. + +dYdX hỗ trợ các khoản vay nhanh, là các khoản vay không cần thế chấp trong đó người dùng vay và hoàn trả số dư của khoản vay trong một giao dịch duy nhất, có nghĩa là người dùng khoản vay nhanh không cần phải bỏ bất kỳ khoản vốn ban đầu nào. Các khoản vay nhanh là một sản phẩm phức tạp nhắm vào các nhà phát triển và có thể được sử dụng để phân bổ trên nhiều giao thức DeFi. + +dYdX có tổng giá trị khoảng 40 triệu đô la bị khóa (TVL) tại thời điểm viết bài này. dYdX không có token riêng. + +dYdX trải qua kiểm toán bảo mật của OpenZeppelin và Bramah Systems. + +| Tài nguyên | | +|:-------------------------------- |:-------------------------------------------------------------------- | +| Website | [https://dydx.exchange/](https://dydx.exchange/) | +| Tài liệu dành cho nhà phát triển | [https://docs.dydx.exchange/](https://docs.dydx.exchange/) | +| GitHub | [https://github.com/dydxprotocol/](https://github.com/dydxprotocol/) | +| Discord | [https://discord.gg/yah42Rb](https://discord.gg/yah42Rb) | + + + + + diff --git a/vi/core-concepts/supported-platforms/uniswap.md b/vi/core-concepts/supported-platforms/uniswap.md new file mode 100644 index 000000000..988ba7c35 --- /dev/null +++ b/vi/core-concepts/supported-platforms/uniswap.md @@ -0,0 +1,27 @@ +# Uniswap + +{% hint style="info" %} +Sắp ra mắt. Uniswap hiện vẫn chưa được tích hợp. +{% endhint %} + +Uniswap là một giao thức thanh khoản và sàn phi tập trung trên Ethereum, ra mắt vào tháng 11 năm 2018. Uniswap v2 đã ra mắt vào tháng 5 năm 2020. Người dùng có thể chuyển đổi giữa các đồng ERC-20 hoặc gửi token vào các bể thanh khoản để nhận phí. + +Thị trường trên Uniswap hoạt động như một nhóm thanh khoản hơn là theo cơ chế đặt lệnh mua bán như các sàn giao dịch bình thường. Loại sàn giao dịch như thế này được gọi là Nhà tạo lập thị trường tự động (AMM). Tỷ giá hối đoái giữa hai tài sản được xác định theo công thức nhân không đổi và di chuyển dọc theo đường giá tùy thuộc vào giá trị tương đối của mỗi tài sản trong bể. Điều này khuyến khích những người kinh doanh chênh lệch giá tham gia vào các bể thanh khoản để cân bằng lại trọng số tương đối và bình thường hóa tỷ giá hối đoái. + +Các nhà giao dịch có thể bị trượt giá nếu không có đủ thanh khoản trong một bể nhất định và có thể không được bảo vệ khỏi sự bất lợi của việc tỉ giá hối đoái sụt giảm. Các nhà cung cấp thanh khoản có thể bị thiệt hại vĩnh viễn khi tỷ giá hối đoái của bể không khớp với thực tế và các nhà kinh doanh chênh lệch giá thực hiện các giao dịch dọc theo đường cong định giá. + +Những người tham gia bể sẽ nhận đượctoken Uniswap Liquidity Provider (LP) tương ứng với phần thanh khoản mà họ cung cấp trong nhóm đó. Các token LP này có thể chuyển nhượng tự do. Người tham gia có thể thoát khỏi các bể bất kỳ lúc nào bằng cách đổi các token này cho các tài sản được cung cấp và phí tích lũy. + +Các nhà phát hành token tìm cách cải thiện tính thanh khoản của token bằng cách đưa ra các ưu đãi những người cung cấp thanh khoản trong các chiến dịch khai thác thanh khoản. Các nhà phát hành token mới cũng đã đưa token của họ vào các bể của Uniswap. + +Khối lượng giao dịch trên Uniswap hiện vượt xa nhiều sàn giao dịch truyền thống và thường xuyên vượt quá 200 triệu đô la mỗi ngày. Uniswap có hơn 170 triệu đô la Tổng giá trị bị khóa (TVL) bởi các nhà cung cấp thanh khoản. Uniswap không có nền tảng blockchain hoặc token quản trị riêng. + +Các hợp đồng thông minh của Uniswap đã được dapp.org kiểm toán và chính thức xác nhận. Uniswap vẫn đang duy trì chương trình tặng tưởng cho người phát hiện ra lỗi của hệ thống. + +| Tài nguyên | | +|:-------------------------------- |:------------------------------------------------------------------------ | +| Website | [https://uniswap.org/](https://uniswap.org/) | +| Tài liệu dành cho nhà phát triển | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/vi/core-concepts/supported-platforms/yearn.finance.md b/vi/core-concepts/supported-platforms/yearn.finance.md new file mode 100644 index 000000000..18a7a7e15 --- /dev/null +++ b/vi/core-concepts/supported-platforms/yearn.finance.md @@ -0,0 +1,25 @@ +# Yearn.finance + +{% hint style="info" %} +Sắp ra mắt. Yearn.finance hiện vẫn chưa được tích hợp. +{% endhint %} + +Yearn.finance, trước đây là iEarn.finance, là một nền tảng tổng hợp lợi nhuận được xây dựng trên Ethereum và ra mắt vào tháng 1 năm 2020 bởi Andre Cronje. Yearn quản lý chiến lược canh tác năng suất (yield farming) và tái cân bằng bằng cách sử dụng kết hợp tự động hóa và con người đưa ra quyết định thay mặt cho những người dùng đã gửi vốn. + +Yearn có hai sản phẩm tổng hợp lợi nhuận, Earn và Vaults. Earn cho phép người dùng gửi stablecoin hoặc BTC vào các bể thanh khoản trên Curve để kiếm phí và phần thưởng token quản trị. Những tài sản này cũng được cho vay trên các nền tảng cung cấp phần thưởng token và lợi nhuận cao. + +Vault cung cấp trải nghiệm được quản lý và tự động hơn. Người dùng gửi các tài sản như LINK, token thanh khoản Curve hoặc stablecoin và sau đó Vault sẽ gộp tất cả các tài sản này lại với nhau và triển khai chiến lược canh tác thu nhập cao nhất mà cộng đồng và Andre Cronje cho là an toàn. Các token quản trị kiếm được dưới dạng phần thưởng được bán bớt thành tài sản giống tài sản ban đầu được ký gửi và kết hợp với các khoản phí khác rồi tự động được chuyển vào Vault để tạo ra lợi tức kép. Các chiến lược có thể được thay đổi thường xuyên và việc gộp các tài sản lại với nhau giúp tiết kiệm chi phí gas cho người dùng. + +Yearn được quản lý bởi YFI, token quản trị ERC-20. Người nắm giữ YFI có thể bỏ phiếu cho các thay đổi giao thức sau khi đồng ý khóa YFI của họ trong 3 ngày. YFI cũng có thể dùng để stake để nhận lãi xuất qua 1 cổng quản trị. Lợi nhuận này đến từ phí tính cho người dùng trên các sản phẩm của Yearn. YFI được phân phối hoàn toàn những người cung cấp thanh khoản trên Curve and Balancer. Không có token nào được phân bổ cho các thành viên trong nhóm hoặc nhà đầu tư. + +Tổng giá trị của Yearn bị khóa (TVL) đã nhanh chóng tăng lên hơn 800 triệu đô la, khiến nó trở thành một trong những giao thức DeFi lớn nhất. Vốn hóa thị trường của YFI đạt hơn 400 triệu đô la. + +Yearn đã trải qua nhiều lần kiểm toán bảo mật và hợp đồng thông minh bởi CertiK, Quantstamp, HackMD và CryptoManiacs. Yearn nổi tiếng với việc tung ra sản phẩm thử nghiệm rất nhanh và cảnh báo người dùng rằng sản phẩm của họ đang trong giai đoạn thử nghiệm. + +| Tài nguyên | | +|:-------------------------------- |:-------------------------------------------------------------------- | +| Website | [https://yearn.finance/](https://yearn.finance/) | +| Tài liệu dành cho nhà phát triển | [https://docs.yearn.finance/](https://docs.yearn.finance/) | +| GitHub | [https://github.com/iearn-finance](https://github.com/iearn-finance) | +| Discord | [https://discord.gg/uTmHe8r](https://discord.gg/uTmHe8r) | + diff --git a/vi/core-concepts/supported-stablecoins/README.md b/vi/core-concepts/supported-stablecoins/README.md new file mode 100644 index 000000000..802f2caee --- /dev/null +++ b/vi/core-concepts/supported-stablecoins/README.md @@ -0,0 +1,25 @@ +# Stablecoin được hỗ trợ + +**Stablecoin được hỗ trợ** + +Điều quan trọng cần lưu ý là OUSD chỉ mạnh ngang các đồng stablecoin đang hỗ trợ nó. Bất kỳ tổn thất nào đối với các tài sản cơ bản (tài sản hỗ trợ) sẽ gây ra tổn thất tương tự đối với giá trị của OUSD. + +Hiện tại, OUSD hỗ trợ các loại stablecoin sau: + +{% content-ref url="usdt.md" %} +[usdt.md](usdt.md) +{% endcontent-ref %} + +{% content-ref url="usdc.md" %} +[usdc.md](usdc.md) +{% endcontent-ref %} + +{% content-ref url="dai.md" %} +[dai.md](dai.md) +{% endcontent-ref %} + +None of these stablecoins are perfect, but we selected them because of their widespread usage. While these stablecoins have lost their USD peg on multiple occasions, they have demonstrated resiliency in eventually getting back to their 1 USD targets. + +It is important to note that all these stablecoins introduce non-trivial counter-party risk. Tether, in particular, has had well-documented banking troubles and regulatory challenges. In addition, both USDT and USDC have backdoors that grant their issuers the power to freeze money in their holder's wallets. While DAI does not have any direct backdoors, its assets can also be negatively impacted since USDC and USDT are accepted as collateral for minting DAI. + +Despite these concerns, there are already billions of dollars betting on the security of these stablecoins. It is possible that additional stablecoins will be added to the protocol over time. Support may also be removed if any of these stablecoins prove to be too unreliable or put OUSD holder's funds in jeopardy. diff --git a/vi/core-concepts/supported-stablecoins/dai.md b/vi/core-concepts/supported-stablecoins/dai.md new file mode 100644 index 000000000..01088a278 --- /dev/null +++ b/vi/core-concepts/supported-stablecoins/dai.md @@ -0,0 +1,19 @@ +# DAI + +![](../../.gitbook/assets/dai.png) + +DAI là một loại tiền ổn định có giá trị tương đương với USD được ra mắt dưới dạng token ERC-20 trên mạng Ethereum vào năm 2017. A major upgrade from single-collateral Dai (SAI) to multi-collateral Dai (DAI) was completed in November 2019. Dai được neo với đồng đô la Mỹ. + +Dai is minted by users locking up crypto assets such as ETH or USDC as collateral in a collateralized debt position (CDP) called a vault. Trước đây, DAI chỉ chấp nhận tài sản thế chấp duy nhất là ETH. Tài sản đảm bảo và trạng thái của mỗi vault có thể được xem trực tiếp trên blockchain. Tình trạng của các vault này và các stablecoin Dai được giám sát chặt chẽ. + +Dai là stablecoin lớn thứ ba thế giới với hơn 400 triệu đô la được lưu hành. Ngoài ra, cDAI và aDAI, phiên bản tổng hợp của Dai trên nền tảng cho vay Compound và Aave, với tổng giá trị lưu hành trên 600 triệu đô la. + +| Thông tin chính | | +| --------------- | ------------------------------------------------------------------------------------------------------------------- | +| Phát hành bởi | MakerDAO | +| Tên | Dai | +| Ký hiệu | DAI | +| Địa chỉ | [0x6b175474e89094c44da98b954eedeac495271d0f](https://etherscan.io/token/0x6b175474e89094c44da98b954eedeac495271d0f) | +| Decimal | 18 | +| Website | [https://makerdao.com/](https://makerdao.com) | +| Người nắm giữ | Hơn 380k địa chỉ | diff --git a/vi/core-concepts/supported-stablecoins/usdc.md b/vi/core-concepts/supported-stablecoins/usdc.md new file mode 100644 index 000000000..504f1a3bb --- /dev/null +++ b/vi/core-concepts/supported-stablecoins/usdc.md @@ -0,0 +1,20 @@ +# USDC + +![](../../.gitbook/assets/usdc-coin-bd351fb779 (1).png) + +USD Coin (USDC) is a fiat-pegged stablecoin launched as a ERC-20 token on the Ethereum blockchain in October 2018. USDC có thể dễ dàng đổi sang đô la Mỹ. + +Mỗi USDC được hỗ trợ theo tỷ lệ 1: 1, một số tiền pháp định số lượng tiền pháp định tương đương với số USDC đang lưu hành được lưu trữ tại tài khoản ký thác bởi các thành viên của Center, một tập đoàn do Circle và Coinbase thành lập. Thành viên của Centre là các tổ chức tài chính hợp pháp có trụ sở tại Hoa Kỳ. Grant Thornton LLP công bố kiểm toán hàng tháng về về các khoản dự trữ. + +USDC là stablecoin lớn thứ hai thế giới sau USDT và nhanh chóng tăng số token trong lưu thông vượt khỏi 1 tỷ đô. Tuy nhiên, con số này vẫn thấp hơn nhiều so với USDT (thấp hơn 12 tỉ Đô). + +| Thông tin chính | | +| --------------- | ------------------------------------------------------------------------------------------------------------------- | +| Phát hành bởi | Centre | +| Tên | USD Coin | +| Ký hiệu | USDC | +| Địa chỉ | [0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48](https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48) | +| Decimal | 6 | +| Website | [https://www.centre.io/usdc](https://www.centre.io/usdc) | +| Người nắm giữ | Hơn 1 triệu địa chỉ | + diff --git a/vi/core-concepts/supported-stablecoins/usdt.md b/vi/core-concepts/supported-stablecoins/usdt.md new file mode 100644 index 000000000..824663433 --- /dev/null +++ b/vi/core-concepts/supported-stablecoins/usdt.md @@ -0,0 +1,20 @@ +# USDT + +![](../../.gitbook/assets/image (1).png) + +Tether (USDT) is a fiat-pegged stablecoin that was initially built on top of Bitcoin via the Omni Layer Protocol. Vào tháng 9 năm 2017, Tether cho ra mắt USDT Erc-20 được xây dựng trên mạng Ethereum. + +Mỗi Tether được phát hành vào lưu thông được hỗ trợ theo tỷ lệ 1-1 với số lượng tiền tệ fiat tương đương được giữ trong tài khoản ký thác của Tether Limited, một công ty có trụ sở tại Hồng Kông có quan hệ chặt chẽ với sàn giao dịch Bitfinex. + +Despite the controversy **** around **** the company's failure to provide a promised audit showing adequate reserves backing tether, USDT is still the world's largest stablecoin by market cap and currently the fourth-largest cryptocurrency after BTC, ETH and XRP. + +| Thông tin chính | | +| --------------- | ---------------------------------------------------------------------------------------------------------------- | +| Phát hành bởi | Tether Limited | +| Tên | Tether | +| Ký hiệu | USDT | +| Địa chỉ | [0xdac17f958d2ee523a2206206994597c13d831](https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7) | +| Decimal | 6 | +| Website | [https://tether.to/ ](https://tether.to) | +| Người nắm giữ | Hơn 3,4 triệu địa chỉ | + diff --git a/vi/core-concepts/supported-strategies/README.md b/vi/core-concepts/supported-strategies/README.md new file mode 100644 index 000000000..cb326aa52 --- /dev/null +++ b/vi/core-concepts/supported-strategies/README.md @@ -0,0 +1,27 @@ +# Các chiến lược được hỗ trợ + +**Nền tảng DeFi được hỗ trợ** + +OUSD tạo ra lợi nhuận bằng cách gửi stablecoin vào các nền tảng cho vay và các nhóm thanh khoản của nhà tạo lập thị trường. Điều quan trọng cần lưu ý là rằng những nền tảng này ẩn chứa rủi ro công nghệ dẫn tới tiền có thể bị mất nếu xảy ra sự kiện liên quan đến lỗ hổng lớn trong bảo mật. Chúng tôi đang chọn làm việc với các nền tảng đã được kiểm toán hợp đồng thông minh và chúng tôi cảm thấy an toàn nhất. + +Currently, OUSD earns yield from the following platform(s): + +{% content-ref url="compound.md" %} +[compound.md](compound.md) +{% endcontent-ref %} + +{% content-ref url="aave.md" %} +[aave.md](aave.md) +{% endcontent-ref %} + +{% content-ref url="curve.md" %} +[curve.md](curve.md) +{% endcontent-ref %} + +{% content-ref url="convex.md" %} +[convex.md](convex.md) +{% endcontent-ref %} + +Although DeFi has grown very quickly and there are now billions of dollars worth of value deposited on these platforms, several of these projects are still in beta and are highly experimental. There may be hidden vulnerabilities in the smart contracts that power these platforms, and there have been multi-million dollar losses caused by vulnerabilities in Ethereum applications in the past. + +We closely monitor security events on the platforms we support and will immediately move to secure OUSD holder funds if we identify any threats. diff --git a/vi/core-concepts/supported-strategies/aave.md b/vi/core-concepts/supported-strategies/aave.md new file mode 100644 index 000000000..e43aefdc5 --- /dev/null +++ b/vi/core-concepts/supported-strategies/aave.md @@ -0,0 +1,20 @@ +# Aave + +Aave là một giao thức và nền tảng cho vay xây dựng trên Ethereum và được ra mắt vào tháng 1 năm 2020 bởi những người tạo ra ETHLend. Người dùng trên Aave có thể kiếm lãi kép hoặc vay một tài sản khác dựa trên tài sản thế chấp. Mỗi tài sản được hỗ trợ được tổng hợp trong nhóm thanh khoản riêng của nó và người dùng có thể chọn giữa lãi suất thay đổi dựa trên cung và cầu hoặc lãi suất cố định. + +Số dư tài sản đảm bảo được đại diện bằng ERC-20 aTokens theo tỷ lệ 1: 1 so với tài sản cơ bản mà chúng đại diện. Tiền lãi được cộng gộp tự động và được trả cho người cho vay bằng aTokens, có nghĩa là số dư aToken của người cho vay sẽ tăng dần theo thời gian. Người dùng có thể mượn tài sản dựa trên số aTokens của họ. aTokens có thể chuyển nhượng tự do và có thể được sử dụng trên nhiều giao thức DeFi khác. aTokens có thể được đổi lấy tài sản thế chấp của họ bất kỳ lúc nào. + +Aave hỗ trợ các khoản vay nhanh, là các khoản vay không cần thế chấp trong đó người dùng vay và hoàn trả số dư của khoản vay trong một giao dịch duy nhất, có nghĩa là người dùng khoản vay nhanh không cần phải bỏ bất kỳ khoản vốn ban đầu nào. Các khoản vay nhanh là một sản phẩm phức tạp nhắm vào các nhà phát triển và có thể được sử dụng để phân bổ trên nhiều giao thức DeFi. + +Token quản trị của Aave trước đây được gọi là LEND, là token tiện ích cho ETHLend. Người nắm giữ LEND có thể đổi LEND lấy AAVE - token quản trị ERC-20 mới và phần thưởng staking. Một số AAVE đã được phân phối cho người dùng nền tảng trong một chiến dịch khai thác thanh khoản. + +Aave's total value locked (TVL) has quickly grown to over $15.5 billion, making it the largest DeFi protocol at the time of writing. Vốn hóa thị trường của LEND đạt hơn 5.3 tỉ đô la. + +Aave đã trải qua các cuộc kiểm toán bảo mật được thực hiện bởi OpenZeppelin, Trail of Bits và Consensys Diligence. Aave vẫn đang duy trì chương trình tặng tưởng cho người phát hiện ra lỗi của hệ thống. + +| Tài nguyên | | +| -------------------------------- | ------------------------------------------------------------------------------ | +| Website | [https://aave.com/](https://aave.com) | +| Tài liệu dành cho nhà phát triển | [http://docs.aave.com/](http://docs.aave.com) | +| GitHub | [https://github.com/aave/aave-protocol](https://github.com/aave/aave-protocol) | +| Discord | [https://aave.com/discord](https://aave.com/discord) | diff --git a/vi/core-concepts/supported-strategies/balancer.md b/vi/core-concepts/supported-strategies/balancer.md new file mode 100644 index 000000000..251bf726a --- /dev/null +++ b/vi/core-concepts/supported-strategies/balancer.md @@ -0,0 +1,27 @@ +# Balancer + +{% hint style="info" %} +Sắp ra mắt. Balancer hiện vẫn chưa được tích hợp. +{% endhint %} + +Balancer là một giao thức thanh khoản và sàn phi tập trung trên Ethereum, ra mắt vào tháng 3 năm 2020. Người dùng có thể chuyển đổi giữa các đồng ERC-20 hoặc gửi token vào các bể thanh khoản để nhận phí. + +Balancer là một Trình tạo lập thị trường tự động (AMM) cho phép các xây dựng bể thanh khoản lên cho 8 tài sản khác nhau với trọng số tùy chỉnh. Nhóm thanh khoản trên Balancer có thể được xem tương tự như Exchange Traded Funds (ETF) hay danh mục đầu tư theo tỉ lệ các tài sản cụ thể. Nếu giao dịch làm cho bể này thay đổi tỉ lệ mục tiêu của nó, tỷ giá hối đoái giữa các tài sản trong bể sẽ thay đổi. Các nhà kinh doanh chênh lệch giá có thể thực hiện giao dịch nhằm tận dụng lợi thế này và từ đó cân bằng lại nhóm trở lại tỉ lệ phân phối mục tiêu của nó. Tính thanh khoản cũng có thể được chia sẻ giữa các bể, không giống như các AMM khác. + +Balancer hỗ trợ các bể riêng, trong đó chỉ chủ sở hữu của bể mới có thể đóng góp tính thanh khoản, các bể được chia sẻ được hoàn toàn công khai và các bể thông minh, là các bể chia sẻ được kiểm soát bởi một hợp đồng thông minh, giúp nó hoạt động 1 cách tự động và logic. Những người cung cấp thanh khoản sẽ được cấp token của bể Balancer (BPT) đại diện cho phần của họ trong một nhóm và hưởng tỉ lệ phí nhất định. Những token này có thể chuyển nhượng tự do và có thể được đổi lấy tài sản được cung cấp và phí tích lũy. + +Các nhà phát hành token tìm cách cải thiện tính thanh khoản của token bằng cách đưa ra các ưu đãi những người cung cấp thanh khoản trong các chiến dịch khai thác thanh khoản. Các nhà phát hành token mới cũng đã đưa token của họ vào các bể của Balancer. + +Yearn được quản lý bởi BAL, token quản trị ERC-20. Người nắm giữ BAL có thể bỏ phiếu về các thay đổi giao thức. BAL liên tục được trao cho những người cung cấp thanh khoản và một phần lớn trong tổng nguồn cung BAL được phân bổ cho nhóm và các nhà đầu tư theo lịch trả token. + +Khối lượng giao dịch trên Balancer thường trên 25 triệu đô la hàng ngày. Balancer có Tổng giá trị bị khóa (TVL) hơn 250 triệu đô la bởi các nhà cung cấp thanh khoản tại thời điểm viết bài. + +Balancer được kiểm toán bảo mật bởi Trail of Bits và đang chạy 1 chương trình tặng thưởng cho người phát hiện ra lỗi. Tuy nhiên, Balancer đã bị khai thác rất nhiều vào tháng 6 năm 2020. + +| Tài nguyên | | +|:-------------------------------- |:-------------------------------------------------------------------- | +| Website | [https://balancer.finance/](https://balancer.finance/) | +| Tài liệu dành cho nhà phát triển | [https://docs.balancer.finance/](https://docs.balancer.finance/) | +| GitHub | [https://github.com/balancer-labs](https://github.com/balancer-labs) | +| Discord | [https://discord.gg/ARJWaeF](https://discord.gg/ARJWaeF) | + diff --git a/vi/core-concepts/supported-strategies/compound.md b/vi/core-concepts/supported-strategies/compound.md new file mode 100644 index 000000000..8380b7310 --- /dev/null +++ b/vi/core-concepts/supported-strategies/compound.md @@ -0,0 +1,18 @@ +# Compound + +Compound là một giao thức và nền tảng cho vay được xây dựng trên Ethereum và ra mắt vào tháng 9 năm 2018. Người dùng trên Coumpound có thể kiếm lãi kép hoặc vay một tài sản khác dựa trên tài sản thế chấp. Mỗi tài sản được hỗ trợ được tổng hợp trong nhóm thanh khoản của riêng nó và lãi suất được điều chỉnh tự động dựa trên cung và cầu. + +Số dư tài sản thế chấp được đại diện bởi ERC-20 cTokens, tự động tích lũy lãi suất và tăng giá trị theo thời gian so với tài sản cơ bản mà chúng đại diện. Người dùng có thể mượn tài sản dựa trên số cTokens của họ. cToken có thể chuyển nhượng tự do và có thể được sử dụng trên nhiều giao thức DeFi khác. cTokens có thể được đổi lấy tài sản thế chấp của họ bất kỳ lúc nào. + +Compound được quản lý bởi COMP, token quản trị ERC-20. Người nắm giữ COMP có thể đề xuất và bỏ phiếu về các thay đổi giao thức hoặc ủy quyền phiếu bầu của họ cho người khác. Token thưởng COMP được trả theo tỷ lệ cho người dùng giao thức hàng ngày, được chia đều giữa người đi vay và người cho vay. Một phần lớn nguồn cung token COMP được giữ lại bởi nhóm Compound, các nhà đầu tư và cố vấn. + +Compound's total value locked (TVL) has quickly grown to over $10 billion, making it one of the largest DeFi protocols. Vốn hóa thị trường của COMP đạt hơn 2.5 tỉ đô la. + +Compound đã trải qua nhiều lần kiểm toán bảo mật thực hiện bởi OpenZeppelin và Trail of Bits. Giao thức Compound đã được CertiK chính thức xác minh và đã trải qua thử nghiệm kiểm tra sức chịu đựng bởi Gauntlet. Compound vẫn đang duy trì chương trình tặng tưởng cho người phát hiện ra lỗi của hệ thống. + +| Tài nguyên | | +| -------------------------------- | -------------------------------------------------------------------------------------------------------------- | +| Website | [https://compound.finance/](https://compound.finance) | +| Tài liệu dành cho nhà phát triển | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/compound-finance/compound-protocol](https://github.com/compound-finance/compound-protocol) | +| Discord | [https://discord.com/invite/cU7vmVW](https://discord.com/invite/cU7vmVW) | diff --git a/vi/core-concepts/supported-strategies/convex.md b/vi/core-concepts/supported-strategies/convex.md new file mode 100644 index 000000000..771280a68 --- /dev/null +++ b/vi/core-concepts/supported-strategies/convex.md @@ -0,0 +1,18 @@ +# Convex + +Convex is an aggregation platform for Curve that launched in May 2021. Convex allows liquidity providers on Curve to earn boosted CRV rewards without having to vote-lock CRV. Convex vote-locks CRV on behalf of users and distributes boosted CRV rewards to them. Convex passes on trading fees earned on Curve to users as well. + +Convex also rewards users with their own ERC-20 governance token, CVX. Convex supports both CRV and CVX staking for additional rewards. Vote-locking CVX is required to participate in Convex governance. + +Convex is one of the few protocols whitelisted to participate in Curve governance and controls a huge amount of vote-locked CRV, making them one of the biggest players in Curve governance. A large proportion of liquidity provided on Curve is now done through Convex. Convex has a Total Value Locked (TVL) of over $15.4 billion in deposits at the time of writing. + +Convex has been audited by MixBytes. + +| | | +| -------------- | ---------------------------------------------------------------- | +| Resources | | +| Official site | [https://www.convexfinance.com](https://www.convexfinance.com) | +| Developer docs | [https://docs.convexfinance.com](https://docs.convexfinance.com) | +| GitHub | [https://github.com/convex-eth](https://github.com/convex-eth) | +| Discord | [https://discord.gg/uAwvZfs9qU](https://discord.gg/uAwvZfs9qU) | + diff --git a/vi/core-concepts/supported-strategies/curve.md b/vi/core-concepts/supported-strategies/curve.md new file mode 100644 index 000000000..134186697 --- /dev/null +++ b/vi/core-concepts/supported-strategies/curve.md @@ -0,0 +1,20 @@ +# Curve + +Curve là một giao thức cung cấp thanh khoản và sàn phi tập trung trên Ethereum cho stablecoin và BTC, ra mắt vào tháng 1 năm 2020. Người dùng có thể hoán đổi giữa các stablecoin ERC-20 phổ biến hoặc giữa các token ERC-20 đại diện của bitcoin. Các nhà cung cấp thanh khoản tạo điều kiện để giao dịch được diễn ra và hưởng phí. + +Curve is an Automated Market Maker (AMM) where each market has an associated liquidity pool with two or more assets that should have the same value, like USDT, USDC, DAI and TUSD, which are all US dollar pegged stablecoins. Tỷ giá hối đoái giữa mỗi stablecoin và trọng lượng tương đối của chúng được xác định bởi một thuật toán dựa trên cung và cầu. Những người kinh doanh chênh lệch giá góp phần cân bằng các tỷ giá hối đoái giữa các đồng này. + +Một số pool thanh khoản của Curve kiếm thêm phí cho những người cung cấp thanh khoản bên cạnh phí trao đổi từ các nhà giao dịch. Curve cung cấp các pool stablecoin được tích hợp với Compound, yearn.finance và Synthetix. Các tài sản trong mỗi nhóm thanh khoản được cung cấp cho các nền tảng đó để tạo ra lợi nhuận bổ sung được chuyển cho các nhà cung cấp thanh khoản của mỗi nhóm. Liquidity Provider (LP) tokens are given to pool participants and can be redeemed for their initial liquidity supplied plus accrued fees and yield. Token LP cũng có thể được chuyển để sử dụng trong các giao thức khác. + +Curve được quản lý bởi CRV, token quản trị ERC-20. Người nắm giữ CRV có thể bỏ phiếu về các thay đổi giao thức. CRV holders can stake or "vote-lock" their tokens for additional voting power proportional to time staked. Vote-locking CRV also significantly boosts liquidity provider rewards. CRV is continuously awarded to liquidity providers and a large portion of the total supply of CRV was allocated to the team and investors on a continuous vesting schedule. + +Curve has a Total Value Locked (TVL) of over $20.4 billion by liquidity providers at the time of writing. Hàng trăm triệu đô khối lượng giao dịch được tạo ra trên Curve mỗi ngày. + +Curve được kiểm toán bảo mật bởi Trail of Bits và đang chạy 1 chương trình tặng thưởng cho người phát hiện ra lỗi. + +| Tài nguyên | | +| -------------------------------- | ------------------------------------------------------------------------ | +| Website | [https://www.curve.fi/](https://www.curve.fi) | +| Tài liệu dành cho nhà phát triển | [https://www.curve.fi/devdocs](https://www.curve.fi/devdocs) | +| GitHub | [https://github.com/curvefi](https://github.com/curvefi) | +| Discord | [https://discord.com/invite/9uEHakc](https://discord.com/invite/9uEHakc) | diff --git a/vi/core-concepts/supported-strategies/dydx.md b/vi/core-concepts/supported-strategies/dydx.md new file mode 100644 index 000000000..e66d8a8cf --- /dev/null +++ b/vi/core-concepts/supported-strategies/dydx.md @@ -0,0 +1,27 @@ +# dYdX + +{% hint style="info" %} +Sắp ra mắt. DyDx hiện vẫn chưa được tích hợp. +{% endhint %} + +dyDx là một giao thức và nền tảng cho vay được xây dựng trên Ethereum và ra mắt vào tháng 5 năm 2019. Người dùng có thể giao dịch tài sản trên sàn giao dịch phi tập trung, không giám sát của dYdX hoặc tham gia vay và cho vay. Giao thức cho vay cho phép giao dịch ký quỹ và giao dịch kỳ hạn. Lãi suất được điều chỉnh dựa trên cung cầu và chỉ cho vay ngắn hạn. + +Tính thanh khoản của các tài sản có sẵn để vay và cho vay được gộp lại với nhau theo loại tài sản. Tiền lãi trả cho người cho vay được tích lũy tự động và người đi vay phải ký quỹ để vay. + +dYdX hỗ trợ các khoản vay nhanh, là các khoản vay không cần thế chấp trong đó người dùng vay và hoàn trả số dư của khoản vay trong một giao dịch duy nhất, có nghĩa là người dùng khoản vay nhanh không cần phải bỏ bất kỳ khoản vốn ban đầu nào. Các khoản vay nhanh là một sản phẩm phức tạp nhắm vào các nhà phát triển và có thể được sử dụng để phân bổ trên nhiều giao thức DeFi. + +dYdX có tổng giá trị khoảng 40 triệu đô la bị khóa (TVL) tại thời điểm viết bài này. dYdX không có token riêng. + +dYdX trải qua kiểm toán bảo mật của OpenZeppelin và Bramah Systems. + +| Tài nguyên | | +|:-------------------------------- |:-------------------------------------------------------------------- | +| Website | [https://dydx.exchange/](https://dydx.exchange/) | +| Tài liệu dành cho nhà phát triển | [https://docs.dydx.exchange/](https://docs.dydx.exchange/) | +| GitHub | [https://github.com/dydxprotocol/](https://github.com/dydxprotocol/) | +| Discord | [https://discord.gg/yah42Rb](https://discord.gg/yah42Rb) | + + + + + diff --git a/vi/core-concepts/supported-strategies/uniswap.md b/vi/core-concepts/supported-strategies/uniswap.md new file mode 100644 index 000000000..988ba7c35 --- /dev/null +++ b/vi/core-concepts/supported-strategies/uniswap.md @@ -0,0 +1,27 @@ +# Uniswap + +{% hint style="info" %} +Sắp ra mắt. Uniswap hiện vẫn chưa được tích hợp. +{% endhint %} + +Uniswap là một giao thức thanh khoản và sàn phi tập trung trên Ethereum, ra mắt vào tháng 11 năm 2018. Uniswap v2 đã ra mắt vào tháng 5 năm 2020. Người dùng có thể chuyển đổi giữa các đồng ERC-20 hoặc gửi token vào các bể thanh khoản để nhận phí. + +Thị trường trên Uniswap hoạt động như một nhóm thanh khoản hơn là theo cơ chế đặt lệnh mua bán như các sàn giao dịch bình thường. Loại sàn giao dịch như thế này được gọi là Nhà tạo lập thị trường tự động (AMM). Tỷ giá hối đoái giữa hai tài sản được xác định theo công thức nhân không đổi và di chuyển dọc theo đường giá tùy thuộc vào giá trị tương đối của mỗi tài sản trong bể. Điều này khuyến khích những người kinh doanh chênh lệch giá tham gia vào các bể thanh khoản để cân bằng lại trọng số tương đối và bình thường hóa tỷ giá hối đoái. + +Các nhà giao dịch có thể bị trượt giá nếu không có đủ thanh khoản trong một bể nhất định và có thể không được bảo vệ khỏi sự bất lợi của việc tỉ giá hối đoái sụt giảm. Các nhà cung cấp thanh khoản có thể bị thiệt hại vĩnh viễn khi tỷ giá hối đoái của bể không khớp với thực tế và các nhà kinh doanh chênh lệch giá thực hiện các giao dịch dọc theo đường cong định giá. + +Những người tham gia bể sẽ nhận đượctoken Uniswap Liquidity Provider (LP) tương ứng với phần thanh khoản mà họ cung cấp trong nhóm đó. Các token LP này có thể chuyển nhượng tự do. Người tham gia có thể thoát khỏi các bể bất kỳ lúc nào bằng cách đổi các token này cho các tài sản được cung cấp và phí tích lũy. + +Các nhà phát hành token tìm cách cải thiện tính thanh khoản của token bằng cách đưa ra các ưu đãi những người cung cấp thanh khoản trong các chiến dịch khai thác thanh khoản. Các nhà phát hành token mới cũng đã đưa token của họ vào các bể của Uniswap. + +Khối lượng giao dịch trên Uniswap hiện vượt xa nhiều sàn giao dịch truyền thống và thường xuyên vượt quá 200 triệu đô la mỗi ngày. Uniswap có hơn 170 triệu đô la Tổng giá trị bị khóa (TVL) bởi các nhà cung cấp thanh khoản. Uniswap không có nền tảng blockchain hoặc token quản trị riêng. + +Các hợp đồng thông minh của Uniswap đã được dapp.org kiểm toán và chính thức xác nhận. Uniswap vẫn đang duy trì chương trình tặng tưởng cho người phát hiện ra lỗi của hệ thống. + +| Tài nguyên | | +|:-------------------------------- |:------------------------------------------------------------------------ | +| Website | [https://uniswap.org/](https://uniswap.org/) | +| Tài liệu dành cho nhà phát triển | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/vi/core-concepts/supported-strategies/yearn.finance.md b/vi/core-concepts/supported-strategies/yearn.finance.md new file mode 100644 index 000000000..18a7a7e15 --- /dev/null +++ b/vi/core-concepts/supported-strategies/yearn.finance.md @@ -0,0 +1,25 @@ +# Yearn.finance + +{% hint style="info" %} +Sắp ra mắt. Yearn.finance hiện vẫn chưa được tích hợp. +{% endhint %} + +Yearn.finance, trước đây là iEarn.finance, là một nền tảng tổng hợp lợi nhuận được xây dựng trên Ethereum và ra mắt vào tháng 1 năm 2020 bởi Andre Cronje. Yearn quản lý chiến lược canh tác năng suất (yield farming) và tái cân bằng bằng cách sử dụng kết hợp tự động hóa và con người đưa ra quyết định thay mặt cho những người dùng đã gửi vốn. + +Yearn có hai sản phẩm tổng hợp lợi nhuận, Earn và Vaults. Earn cho phép người dùng gửi stablecoin hoặc BTC vào các bể thanh khoản trên Curve để kiếm phí và phần thưởng token quản trị. Những tài sản này cũng được cho vay trên các nền tảng cung cấp phần thưởng token và lợi nhuận cao. + +Vault cung cấp trải nghiệm được quản lý và tự động hơn. Người dùng gửi các tài sản như LINK, token thanh khoản Curve hoặc stablecoin và sau đó Vault sẽ gộp tất cả các tài sản này lại với nhau và triển khai chiến lược canh tác thu nhập cao nhất mà cộng đồng và Andre Cronje cho là an toàn. Các token quản trị kiếm được dưới dạng phần thưởng được bán bớt thành tài sản giống tài sản ban đầu được ký gửi và kết hợp với các khoản phí khác rồi tự động được chuyển vào Vault để tạo ra lợi tức kép. Các chiến lược có thể được thay đổi thường xuyên và việc gộp các tài sản lại với nhau giúp tiết kiệm chi phí gas cho người dùng. + +Yearn được quản lý bởi YFI, token quản trị ERC-20. Người nắm giữ YFI có thể bỏ phiếu cho các thay đổi giao thức sau khi đồng ý khóa YFI của họ trong 3 ngày. YFI cũng có thể dùng để stake để nhận lãi xuất qua 1 cổng quản trị. Lợi nhuận này đến từ phí tính cho người dùng trên các sản phẩm của Yearn. YFI được phân phối hoàn toàn những người cung cấp thanh khoản trên Curve and Balancer. Không có token nào được phân bổ cho các thành viên trong nhóm hoặc nhà đầu tư. + +Tổng giá trị của Yearn bị khóa (TVL) đã nhanh chóng tăng lên hơn 800 triệu đô la, khiến nó trở thành một trong những giao thức DeFi lớn nhất. Vốn hóa thị trường của YFI đạt hơn 400 triệu đô la. + +Yearn đã trải qua nhiều lần kiểm toán bảo mật và hợp đồng thông minh bởi CertiK, Quantstamp, HackMD và CryptoManiacs. Yearn nổi tiếng với việc tung ra sản phẩm thử nghiệm rất nhanh và cảnh báo người dùng rằng sản phẩm của họ đang trong giai đoạn thử nghiệm. + +| Tài nguyên | | +|:-------------------------------- |:-------------------------------------------------------------------- | +| Website | [https://yearn.finance/](https://yearn.finance/) | +| Tài liệu dành cho nhà phát triển | [https://docs.yearn.finance/](https://docs.yearn.finance/) | +| GitHub | [https://github.com/iearn-finance](https://github.com/iearn-finance) | +| Discord | [https://discord.gg/uTmHe8r](https://discord.gg/uTmHe8r) | + diff --git a/vi/core-concepts/wrapped-ousd.md b/vi/core-concepts/wrapped-ousd.md new file mode 100644 index 000000000..bea00ee4b --- /dev/null +++ b/vi/core-concepts/wrapped-ousd.md @@ -0,0 +1,31 @@ +# Wrapped OUSD + +Wrapped OUSD provides a non-rebasing version of OUSD that still earns yield. This makes it easier to use OUSD as a building block for other contracts and it may provide tax benefits in some jurisdictions. + +![Two flavors, up only](https://cdn-images-1.medium.com/max/1600/1\*cqRG-8-64XYx9QChoMxk3g.png) + +### How wrapped OUSD works + +When you wrap OUSD, you get back a fixed number of wOUSD tokens. This number will not go up - you will have the same number of wOUSD tokens tomorrow as you have today. However, the number of OUSD tokens that you can unwrap will go up over time. + +For example, if you wrap 10,000 OUSD, you might receive 9,423 wOUSD. If you hold for a while, you will still have 9,423 wOUSD, but when you unwrap the wOUSD, you receive 11,500 OUSD. + +Both OUSD and wOUSD earn at the same rate and can be transferred just like any other ERC-20 token. wOUSD is one of the first implementations of [EIP-4626](https://eips.ethereum.org/EIPS/eip-4626), which is an extension on ERC-20 that provides basic functionality for depositing and withdrawing tokens and reading balances on a tokenized vault. wOUSD was independently [audited by Solidified](https://github.com/OriginProtocol/security/blob/3dc8c1dec2f6fbf4f7d0bdf92408f79262624647/audits/Solidified%20-%20OGV,%20wOUSD,%20and%20ERC721a%20-%20May%202022.pdf) in May 2022 and is ready for production use. + +### Wrapping + +If you don’t already have OUSD, you can buy it from Gate.io, KuCoin, Curve, Uniswap, or [get it directly from the OUSD DApp](https://www.youtube.com/watch?v=UabjvL-7iu4). + +Once you have OUSD in your wallet, visit [ousd.com/wrap](https://ousd.com/wrap) and follow these steps: + +1. Connect your wallet +2. Enter the amount of OUSD that you want to wrap +3. Submit the allowance for the wOUSD contract to use your OUSD +4. Submit the transaction to wrap your OUSD + +![ousd.com/wrap](https://cdn-images-1.medium.com/max/1600/1\*57fSZSSlzebhpIl8R4UqUQ.png) + +### Unwrapping + +Unwrapping your OUSD does not require any approvals since you already hold the wOUSD in your wallet. There's also no minimum term or lock-up period. You can use the same form shown above and just click the arrow to flip it to unwrap mode. This form calls the `redeem` function to unwrap a spcific amount of wOUSD. You can also [use Etherscan](https://etherscan.io/address/0xd2af830e8cbdfed6cc11bab697bb25496ed6fa62#writeProxyContract) to call the `withdraw` function if you prefer to specify the amount of OUSD that you want to be taken out. + diff --git a/vi/core-concepts/yield-generation/README.md b/vi/core-concepts/yield-generation/README.md new file mode 100644 index 000000000..983680d9c --- /dev/null +++ b/vi/core-concepts/yield-generation/README.md @@ -0,0 +1,30 @@ +# Nguồn tạo lợi nhuận + +**Canh tác năng suất tự động** + +While the Cambrian explosion of new lending and automated market maker pools has fueled total value locked (TVL), it has also made it increasingly challenging for yield farmers to manually allocate capital in efficient and optimal ways. + +[Yearn](https://yearn.finance) has demonstrated that smart contracts can automate the rebalancing of funds across various strategies to optimally earn lending interest, market-making fees, and rewards tokens. Theo thời gian, các chiến lược mới sẽ được triển khai nhằm tối đa hóa lợi nhuận, giảm thiểu rủi ro và tính phụ thuộc. + +![Tìm kiếm lợi nhuận tự động trên giao thức OUSD](../../.gitbook/assets/ousd_earnings_graphic.png) + +OUSD sử dụng các chiến lược cấp cao sau đây để tạo ra lợi nhuận: + +{% content-ref url="lending.md" %} +[lending.md](lending.md) +{% endcontent-ref %} + +{% content-ref url="market-making.md" %} +[market-making.md](market-making.md) +{% endcontent-ref %} + +{% content-ref url="rewards.md" %} +[rewards.md](rewards.md) +{% endcontent-ref %} + +OUSD is able to generate higher yields than competing protocols due to a combination of important design decisions that amplify the rewards that are returned to OUSD holders: + +* Phí khi rút Ousd sẽ được gửi về pool như 1 phần thưởng cho cho những người nắm giữ lâu dài +* Oracle giá ưu tiên nhóm hơn cá nhân, một lần nữa thưởng cho những người nắm giữ lâu dài +* Hợp đồng thông minh phải chọn opt-in theo cách thủ công để kiếm được lợi nhuận. Điều này cho phép giao thức tạo ra nhiều lợi nhuận nhất có thể. +* Các chiến lược thông minh cân bằng rủi ro và lãi suất thay vì sử dụng các chiến lược 1 cách ngẫu nhiên. diff --git a/vi/core-concepts/yield-generation/lending.md b/vi/core-concepts/yield-generation/lending.md new file mode 100644 index 000000000..0dfb76e84 --- /dev/null +++ b/vi/core-concepts/yield-generation/lending.md @@ -0,0 +1,26 @@ +# Cho vay + +**Thay thế dịch vụ ngân hàng** + +Các nền tảng cho vay DeFi cho phép người dùng cho vay và mượn tài sản tiền điện tử mà không cần bất kỳ người trung gian nào. Cả người cho vay và người đi vay đều nhận được nhiều giá trị hơn từ tiền điện tử của họ. Người cho vay kiếm được tiền lãi, trong khi người đi vay gửi tiền điện tử làm tài sản thế chấp để vay mà không phải đau đầu với hệ thống thủ tục của ngân hàng truyền thống. Các nền tảng cho vay DeFi hiện mang lại lợi nhuận cao hơn nhiều cho người cho gửi tiền so với các nền tảng cho vay thông thường trên thị trường truyền thống. + +OUSD tích hợp với nền tảng cho vay DeFi cung cấp các khoản vay thế chấp vượt mức. Thế chấp vượt mức, kết hợp với các quy tắc thông minh xung quanh việc thanh lý, cung cấp mức độ an toàn hợp lý cho người cho vay. Aave cũng đảm bảo an toàn cho các nhóm cho vay của họ bằng token AAVE tương ứng, khiến rủi ro được giảm thêm 1 mức nữa. + +OUSD tích hợp với các nhà cung cấp dịch vụ cho vay hàng đầu đã được sử dụng rộng rãi, các hợp đồng thông minh đã được kiểm toán và đã cho vay thành công hàng trăm triệu đô la mà không gặp vấn đề gì. Chúng tôi hiện được tích hợp với các nền tảng cho vay sau: + +{% content-ref url="../supported-strategies/compound.md" %} +[compound.md](../supported-strategies/compound.md) +{% endcontent-ref %} + +{% content-ref url="../supported-strategies/aave.md" %} +[aave.md](../supported-strategies/aave.md) +{% endcontent-ref %} + + + + + + + + + diff --git a/vi/core-concepts/yield-generation/market-making.md b/vi/core-concepts/yield-generation/market-making.md new file mode 100644 index 000000000..c035e05b6 --- /dev/null +++ b/vi/core-concepts/yield-generation/market-making.md @@ -0,0 +1,22 @@ +# Tạo lập thị trường + +**Sở hữu cổ phần của bạn trong các sàn giao dịch phi tập trung** + +Automated market makers (AMMs) have quickly risen as the preferred form of decentralized exchange on the Ethereum network. Điều này một phần là do khó khăn trong việc hỗ trợ đặt lệnh giao dịch trên các DEX xây dựng trên Ethereum 1.0 vẫn có thể cạnh tranh được với trải nghiệm tức thời và trượt giá thấp trên các sàn giao dịch tập trung. Hơn nữa, các nhà tạo lập thị trường tự động như như Uniswap tương đối thân thiện với người dùng với mức phí gas khá thân thiện. + +AMMs can only enable new markets when liquidity providers supply liquidity (e.g. multiple tokens for given trading pairs or pools). Đổi lại việc cung cấp thanh khoản, người cung cấp thanh khoản được thưởng phí giao dịch khi những người dùng khác khi họ swap token. Ví dụ: khi các nhà giao dịch swap 2 token trên Uniswap v3, họ hiện đang bị tính phí từ 0,05% đến 1% ngoài phí gas. Các khoản phí này được phân phối theo tỷ lệ cho các nhà cung cấp thanh khoản dựa trên phần trăm tổng thanh khoản mà họ đã cung cấp. + +{% hint style="info" %} +[Tổn thất vĩnh viễn](https://medium.com/@pintail/uniswap-a-good-deal-for-liquidity-providers-104c0b6816f2) là một yếu tố rủi ro quan trọng được chú trọng, nhưng mối lo ngại này phần lớn được giảm bớt do OUSD chỉ cung cấp thanh khoản cho các stablecoin có giá trị tương đương. +{% endhint %} + +The OUSD protocol routes USDT, USDC, and DAI to highly-performing liquidity pools as determined by trading volume and rewards tokens (e.g. Curve rewards CRV tokens to liquidity providers). Lợi tức sau đó được chuyển cho người nắm giữ OUSD. + +Chúng tôi hiện tích hợp với trình tạo lập thị trường tự động sau: + +{% content-ref url="../supported-strategies/curve.md" %} +[curve.md](../supported-strategies/curve.md) +{% endcontent-ref %} + + + diff --git a/vi/core-concepts/yield-generation/rewards.md b/vi/core-concepts/yield-generation/rewards.md new file mode 100644 index 000000000..39b968698 --- /dev/null +++ b/vi/core-concepts/yield-generation/rewards.md @@ -0,0 +1,12 @@ +# Phần thưởng + +**Collecting Rewards** + +Ngoài việc thu lãi từ cho vay và phí từ tạo lập thị trường, chúng tôi dự định sẽ tự động thu về và chuyển đổi phần tiền lãi thu được từ nhiều giao thức DeFi. Ví dụ: Compound tặng token COMP, Curve tặng token CRV. Những phần thưởng tiền thưởng này sẽ thường xuyên được chuyển đổi thành stablecoin, tiếp tục đưa đi tìm kiếm lợi nhuận và sau đó phân phối cho những người nắm giữ OUSD dưới dạng lợi nhuận bổ sung. + +{% hint style="info" %} +Mặc dù vault lưu trữ an toàn mọi phần thưởng ngoài dự kiến mà nó nhận được, nhưng các chiến lược tùy chỉnh sẽ cần được xây dựng và triển khai để quyết định thời điểm và cách thức giao thức chuyển đổi chúng thành stablecoin. +{% endhint %} + +Ngày nay, phần thưởng là một yếu tố quan trọng đối với người canh tác năng suất vì chúng đại diện cho tỷ lệ lớn lợi nhuận của họ. Chúng tôi dự đoán rằng giao thức OUSD sẽ được nâng cấp theo thời gian để tận dụng lợi nhuận hấp dẫn nhất hiện có từ DeFi. Giao thức sẽ ảnh hưởng đến giá trị thu được từ rất nhiều chiến dịch đang có sẵn trên thị trường khi quyết định cách tốt nhất để phân bổ vốn vào các chiến lược cho phụ hợp. + diff --git a/vi/faq.md b/vi/faq.md new file mode 100644 index 000000000..0e8614bab --- /dev/null +++ b/vi/faq.md @@ -0,0 +1,33 @@ +# Câu hỏi thường gặp + +**Tôi có thể mua OUSD ở đâu?** + +Ghé thăm [làm thế nào để bắt đầu](https://docs.ousd.com/getting-started) để tham khảo các lựa chọn. + +**Chi phí để mint và redeem OUSD là bao nhiêu?** + +Tương tự với các giao dịch trên Ethereum, người dùng sẽ cần Ether để tương tác với hợp đồng thông minh OUSD. Chúng tôi đã thực hiện các biện pháp tối ưu phí gas, nhưng các chi phí này có thể thay đổi tuỳ theo mạng Ethereum. + +Bất cứ khi nào bạn mint hoặc redeem OUSD, sẽ có 1 tỉ giá hối đoái được áp dụng giữa OUSD và các stablecoin được nạp vào hoặc rút ra. Đọc thêm tại [Price Oracles](https://docs.ousd.com/core-concepts/price-oracles). + +To encourage long-term holding of OUSD and to protect the protocol from attackers, an exit fee of 0.25% is charged on all redeems. You can read more about this in [How It Works](https://docs.ousd.com/how-it-works). + +**Số dư của tôi sẽ bắt đầu tăng từ lúc nào kể từ khi bắt đầu nắm giữ OUSD?** + +Số lượng OUSD trong ví của bạn sẽ tăng lên sau mỗi đợt rebase. Đọc thêm tại [Elastic supply](https://docs.ousd.com/core-concepts/elastic-supply). OUSD hiện đang được rebase nhiều lần trong ngày. + +**Tại sao số dư OUSD không tăng lên khi được giữ trên Uniswap, SushiSwap, v. v?** + +Theo mặc định, các đợt rebase sẽ không tác động tới OUSD đang nằm trong các hợp đồng thông minh. Các hợp đồng này có thể chọn tham gia nhận thêm OUSD nếu chúng có khả năng xử lý các token có tổng cung thay đổi. Bạn có thể đọc thêm về cơ chế tại tại [Rebasing & Hợp đồng thông minh](https://docs.ousd.com/core-concepts/elastic-supply/rebasing-and-smart-contracts). + +**Làm thế nào để APY có thể cao như vậy?** + +Bạn có thể đọc về các chiến lược khác nhau của chúng tôi ở mục [Tạo ra lợi nhuận](https://docs.ousd.com/core-concepts/yield-generation). We currently get most of the yield from harvesting rewards tokens (namely COMP and CRV). Ngoài ra, một số OUSD được nắm giữ trong các hợp đồng không tích hợp rebase trong khi tài sản hỗ trợ của chúng vẫn tạo ra lãi suất và phân bổ cho những người nắm giữ OUSD còn lại. + +**Tại sao số dư của tôi tăng với tốc độ chậm hơn APY được quảng cáo?** + +Số dư OUSD tăng khi rebase diễn ra. Số tiền tăng thêm ở mỗi lần rebase sẽ khác nhau tuỳ theo số tiền mà vault đã kiếm được kể từ lần rebase cuối cùng. Hầu hết các đợt rebase mang lại lãi suất nhỏ thu được từ các chiến lương cho vay, 1 số đợt cho lãi suất đột biết nhờ thanh lý token thưởng hoặc thanh lý token của các khoản phí. Kết quả là, lãi suất thay đổi liên tục trong 1 thời gian ngắn. + +**Thông tin về vụ hack thì sao? OUSD có hiện an toàn không?** + +Vào 7/11/2020, OUSD đã bị hack 7 triệu USD do 1 lỗ hổng trước đó. Bạn có thể đọc thêm [chi tiết về vụ hack](https://medium.com/originprotocol/urgent-ousd-has-hacked-and-there-has-been-a-loss-of-funds-7b8c4a7d534c) trên blog của chúng tôi cũng như kế hoạch bồi thường [](https://medium.com/originprotocol/origin-dollar-ousd-detailed-compensation-plan-faa73f87442e) cho những người dùng bị ảnh hưởng. Origin Dollar đã được khởi chạy lại vào tháng 12 sau khi hoàn thành nhiều đợt kiểm toán và nâng cấp bảo mật. Bạn có thể tìm hiểu thêm về các bước thực hiện để bảo mật giao thức trong [thông báo khởi chạy lại](https://medium.com/originprotocol/origin-dollar-ousd-is-back-b8ee0c601dad)của chúng tôi. diff --git a/vi/getting-started.md b/vi/getting-started.md new file mode 100644 index 000000000..2d1aab63b --- /dev/null +++ b/vi/getting-started.md @@ -0,0 +1,82 @@ +# Các bước cơ bản + +Tài liệu này được xây dựng nhằm giải thích cách thức hoạt động của OUSD, cung cấp thông tin về lợi ích cũng như rủi ro tiềm ẩn đồng thời hướng dẫn cho các nhà phát triển muốn đóng góp cho mã nguồn mở của chúng tôi hoặc tích hợp OUSD vào các sản phẩm của họ. Dưới đây là một số thông tin bạn có thể tham khảo để bắt đầu. + +**Mua OUSD** + +{% hint style="info" %} +Origin Dollar + + sẽ định tuyến giao dịch của bạn một cách thông minh, giúp bạn mua OUSD với mức giá tốt nhất.

+ +{% endhint %} + +The [Origin Dollar DApp](https://ousd.com/swap) allows anyone to buy or sell OUSD using a web-3 enabled cryptocurrency wallet like [Metamask](https://www.metamask.io), [Ledger](https://www.ledger.com), or [Gnosis Safe](https://gnosis-safe.io). Đây là cách cơ bản để có được OUSD, đặc biệt là trong trường hợp bạn muốn hạn chế rủi ro di chuyển số lượng tiền lớn trên các sàn giao dịch. DApp sẽ tự động lựa chọn mua OUSD trong vault hoặc giúp bạn mua trên bất kỳ AMM nào hiện đang cung cấp tỷ giá tốt nhất. + +**Sàn giao dịch phi tập trung** + +OUSD hiện có sẵn trên các sàn giao dịch phi tập trung sau. Danh sách dưới đây chỉ nhằm mục đích tham khảo. Chúng tôi khuyên bạn nên sử dụng [Origin Dollar DApp](https://ousd.com/swap) để nhận được mức tỉ giá tốt nhất. + +* [Mua OUSD trên 1inch](https://app.1inch.io/#/1/swap/USDT/OUSD) +* [Mua OUSD trên Virgox](https://curve.fi/factory/9) +* [Mua OUSD trên Uniswap V3](https://app.uniswap.org/#/swap?inputCurrency=0xdac17f958d2ee523a2206206994597c13d831ec7\&outputCurrency=0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86) +* [Mua OUSD trên Uniswap V2](https://app.uniswap.org/#/swap?inputCurrency=0xdac17f958d2ee523a2206206994597c13d831ec7\&outputCurrency=0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86\&use=v2) +* [Mua OUSD trên Sushiswap](https://exchange.sushiswapclassic.org/#/swap?inputCurrency=0xdac17f958d2ee523a2206206994597c13d831ec7\&outputCurrency=0x2a8e1e676ec238d8a992307b495b45b3feaa5e86) + +**Sàn giao dịch tập trung** + +OUSD hiện có sẵn trên các sàn giao dịch tập trung sau. Vui lòng kiểm tra yêu cầu cần thực hiện để nhận lãi từ OUSD của mỗi sàn trước khi dùng. Mỗi sàn sẽ yêu cầu các bước bổ sung khác nhau. + +* Mua OUSD trên Virgox + * [OUSD/USDT](https://trade.kucoin.com/OUSD-USDT) + * [OUSD/BTC](https://trade.kucoin.com/OUSD-BTC) +* Buy OUSD on Gate.io + * [OUSD/USDT](https://www.gate.io/trade/OUSD\_USDT) +* Buy OUSD on Virgox + * [OUSD/USDT](https://virgox.com/exchange/141) +* [Buy OUSD on Dharma App](https://www.dharma.io) (US only) + +Chúng tôi đang tiếp tục nỗ lực để niêm yết OUSD trên các sàn giao dịch tập khác. + +**Thêm OUSD vào Ví của bạn** + +{% hint style="success" %} + +The main ERC20 address for Origin Dollar (OUSD) is: \ +**0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** + +{% endhint %} + +Nếu OUSD không tự động hiển thị trên ví thì bạn có thể thêm theo cách thủ công thông qua địa chỉ ở trên. Nếu bạn đang có kế hoạch [giữ OUSD trong ví đa chữ ký](core-concepts/elastic-supply/rebasing-and-smart-contracts.md), hãy nhớ chọn opt-in để nhận được lợi nhuận. Chúng tôi muốn OUSD được hỗ trợ bởi nhiều ví hơn nữa và muốn OUSD được đưa vào tất cả danh sách của token nổi tiếng trong tương lai. We would greatly appreciate any help you can offer in this area. + +**Tích hợp OUSD** + +OUSD là token ERC-20 không tiêu chuẩn, hầu hết các ứng dụng muốn hỗ trợ sử dụng OUSD sẽ cần phải thực hiện thao tác tích hợp. Đặc biệt, điều quan trọng là các nhà phát triển phải hiểu cách thức hoạt động của nguồn cung lịch hoạt bởi nó có thể gây nên một số hậu quả không mong muốn nếu không nắm rõ cơ chế. + +If you are a wallet provider or crypto exchange that is interested in supporting OUSD, please refer to the following guides: + +{% content-ref url="core-concepts/elastic-supply/rebasing-and-smart-contracts.md" %} + +[rebasing-and-smart-contracts.md](core-concepts/elastic-supply/rebasing-and-smart-contracts.md) + +{% endcontent-ref %} + +{% content-ref url="smart-contracts/architecture.md" %} + +[architecture.md](smart-contracts/architecture.md) + +{% endcontent-ref %} + +{% content-ref url="smart-contracts/api/" %} + +[api](smart-contracts/api/) + +{% endcontent-ref %} + +**Developer Analytics** + +Our internal developer dashboard is available at [analytics.ousd.com](https://analytics.ousd.com). The dashboard shows the current circulating supply, the assets under management in the vault, and the current allocations between each of the stablecoins and strategies. + +**Getting Help** + +Please join the Origin Dollar #engineering room in Origin's [Discord](https://www.originprotocol.com/discord) server. Our team and members of our community look forward to helping you build. Your questions help us improve, so please don't hesitate to ask if you can't find what you are looking for here. diff --git a/vi/governance/admin-privileges.md b/vi/governance/admin-privileges.md new file mode 100644 index 000000000..086c92715 --- /dev/null +++ b/vi/governance/admin-privileges.md @@ -0,0 +1,32 @@ +# Đặc quyền của quản trị viên + +Các hợp đồng thông minh OUSD được thiết kế để có thể nâng cấp chủ sở hữu. Nhóm Origin sử dụng hai hợp đồng ví đa chữ ký Gnosis khác nhau để thực hiện các thay đổi đối với giao thức. Ví đa chữ ký này đã được [kiểm toán bởi OpenZeppelin](https://blog.openzeppelin.com/gnosis-multisig-wallet-audit-d702ff0e2b1e/), [ConsenSys Dilligence](https://blog.gnosis.pm/the-gnosis-multisig-wallet-and-our-commitment-to-security-ce9aca0d17f6), đội ngũ Origin, và các bên thứ 3 khác. + +{% hint style="info" %} +Việc trì hoãn thời gian thực thi thay đổi hợp đồng thông minh cho phép người dùng có thời gian rút khỏi giao thức khi nhận thấy bất kỳ thay đổi đáng nghi ngờ nào của người sở hữu hoặc chỉ đơn giản là bạn không thích các thay đổi được đề xuất. +{% endhint %} + +### Admin + +Bất kỳ sự thay đổi về code của giao thức nào cũng cần có sự đồng ý của 5 trong tổng số 8 chữ ký hợp đồng. OUSD chỉ có thể được nâng cấp từ khi có sự đồng ý của 5 trên 8 ví đa chữ ký này. Điểm mấu chốt của hình thức đa chữ ký này là quyền quyết định sẽ không chỉ thuộc về sáng lập viên của Origin. In addition, the OUSD contracts are owned by a [timelock](../smart-contracts/api/timelock.md) which places a 48 hour time delay before any changes to the protocol can be made. + +### Strategist + +Some functionality, such as rebalancing funds between strategies or pausing deposits, can be triggered without the timelock and with far fewer signers. Điều này cho phép nhóm Origin phản ứng nhanh hơn với các điều kiện thị trường hoặc các mối đe dọa bảo mật. These signers, known as Strategists, have the ability to execute a limited number of functions __ with only 2 of 9 signers. + +The strategist multisig can do the following actions on the vault: + +* reallocate - move funds between strategies +* setVaultBuffer - adjust the amount of funds held outside strategies for cheaper redeems. +* setAssetDefaultStrategy - which strategy mints and redeems pull from for a particular strategy +* withdrawAllFromStrategy - remove funds from a single strategy and send them to the vault +* withdrawAllFromStrategies - remove funds from all active strategies and send them to the vault +* pauseRebase - pause all rebases +* pauseCapital - pause all mints and redeems +* unpauseCapital - allow all mints and redeems + +### Future + +Having these admin privileges is necessary in the early days to ensure that the protocol is secure and optimized for earning yields while minimizing risks. We expect to release multiple iterations of our smart contracts in the first several months of the protocol's existence. + +Once several upgrade cycles have been completed, we intend to transfer ownership from our company control to a decentralized governance contract, thereby allowing the community to vote and participate in future protocol updates. diff --git a/vi/governance/contributing.md b/vi/governance/contributing.md new file mode 100644 index 000000000..5d3164e1f --- /dev/null +++ b/vi/governance/contributing.md @@ -0,0 +1,103 @@ +# Đóng góp + +**100% Mã nguồn mở** + +OUSD là dự án mã nguồn mở hoàn toàn và chúng tôi hoan nghênh mọi đóng góp của toàn thể cộng đồng. Bạn có thể hỗ trợ đội ngũ chúng tôi bằng việc báo cáo sự cố bảo mật, đóng góp lập trình hay giúp chúng tôi cải thiện cộng đồng của mình. + +{% content-ref url="broken-reference" %} +[Broken link](broken-reference) +{% endcontent-ref %} + +We work in public and our company Discord is open to all. If you have questions or need help getting started, our [Discord OUSD channels](https://discord.gg/jyxpUSe) are the best place to get assistance from our team and community. + +{% content-ref url="broken-reference" %} +[Broken link](broken-reference) +{% endcontent-ref %} + +**Developer Analytics** + +Our internal developer dashboard is available at [analytics.ousd.com](https://analytics.ousd.com). The dashboard shows the current circulating supply, the assets under management in the vault, and the current allocations between each of the stablecoins and strategies. Various other developer tools can be found at [ousd.com/dashboard](https://ousd.com/dashboard). + +#### Quá trình phát triển + +Our branching strategy is similar to [GitFlow](http://nvie.com/posts/a-successful-git-branching-model/), but we do all of our development in the `master` branch and have a `stable` branch for code that has been released. + +Your development flow should look like: + +1. Tìm một vấn đề thú vị và trao đổi với chúng tôi! Vui lòng ghé kênh `#engineering` [Discord](https://discord.gg/jyxpUSe) và cho chúng tôi biết bạn muốn làm gì. +2. Nhắn tin cho [thành viên của team](https://github.com/orgs/OriginProtocol/teams/core/members) trên Discord và yêu cầu được thêm vào nhóm [cộng tác viên](https://github.com/orgs/OriginProtocol/teams/contributors) của chúng tôi. Nếu không, bạn sẽ cần phải folk kho giữ liệu code (repo) liên quan và đẩy các nhánh tính năng vào folk riêng của bạn. +3. Thêm nhận xét về vấn đề hoặc tự phân bổ cho bản thân tránh tình trạng nhiều cộng tác viên cùng xử lý 1 nhiệm vụ. +4. Bắt đầu với nhánh `chính` và kiểm tra nhánh tính năng mới trừ khi bạn đang đóng góp vào một tính năng hiện có. +5. Viết code. +6. Kéo các cam kết mới nhất từ `nhánh chính` và xác nhận rằng mã lập trình của bạn hoạt động tốt với với bất kỳ công việc nào đã được tích hợp kể từ khi bạn bắt đầu. +7. Push your branch to the upstream repository (i.e. https://github.com/OriginProtocol/\[repo]) so that other contributors can easily work off of it if necessary. +8. Vui lòng yêu cầu đánh giá trong bài PR bằng cách nhấp vào biểu tượng bánh răng bên cạnh “Người đánh giá” ở cột bên phải. + +For critical smart contract code to be merged it must pass the following checklist: + +* Code được kiểm tra bởi 2 người đánh giá +* Vươt qua bài kiểm tra unit +* Vượt qua Slither không bị cảnh báo +* Vượt qua kiểm tra Echidna + +The `master` branch is locked so that only members of the [core team](https://github.com/orgs/OriginProtocol/teams/core) are able to merge your pull requests. Pull requests that are peer-reviewed by other trusted contributors will be fast-tracked and merged faster! Check in the `#engineering` Discord channel for appropriate reviewers. + +#### Kiểu lập trình + +We use a variety of programming languages in our repositories. When contributing, please follow existing coding conventions and refer to the CONTRIBUTING.md file in the repository, if one exists. + +For JavaScript, we use [NPM’s style](https://docs.npmjs.com/misc/coding-style), which is automatically enforced via [prettier](https://prettier.io). + +For Solidity, we use two-space indents. + +#### Thiết kế giao thức + +When considering protocol or implementation design proposals, we are looking for: + +* Mô tả vấn đề mà bản đề xuất này sẽ giải quyết +* Thảo luận về những đánh đổi liên quan +* Xem xét các giải pháp hiện có khác +* Links to relevant literature (RFCs, papers, etc) +* Thảo luận về giải pháp đề xuất + +Please note that protocol design is hard and meticulous work. You may need to review existing literature and think through generalized use cases. + +#### Hỗ trợ cộng đồng + +We want to keep the Origin community awesome, growing and collaborative. We need your help to keep it that way. To help with this we’ve come up with some general guidelines for the community as a whole: + +* Thái độ tốt: Lịch sự, tôn trọng với các thành viên trong cộng đồng: không phân biệt vùng miền, chủng tộc, giới tính hoặc các hành vi tương tự. Chúng tôi thích những người tử tế hơn những người xấu tính! +* Thái độ hoan nghênh: Làm cho mọi người trong cộng đồng của chúng tôi cảm thấy được chào đón không phân biệt tiểu sử và mức độ đóng góp của họ, làm mọi cách có thể để khuyến khích sự gắn kết của cộng đồng. +* Tuân thủ pháp luật: Về cơ bản, không để bất kỳ ai gặp rắc rối. Chỉ chia sẻ nội dung mà bạn sở hữu, không chia sẻ thông tin riêng tư hoặc thông tin nhạy cảm và không vi phạm pháp luật. +* Duy trì đúng chủ đề: Đảm bảo rằng nội dung được đăng lên các kênh 1 cách phù hợp, tránh gây thảo luận lạc đề. Hãy nhớ khi bạn cập nhật một vấn đề hoặc trả lời email mà bạn có khả năng gửi cho một số lượng lớn người nhận. Vui lòng kiểm tra thật kỹ trước khi thực hiện. Cần lưu ý rằng không ai thích bị làm phiền cả. + +#### Báo cáo lỗi + +If you find bugs, mistakes or inconsistencies in Origin’s code or documents, please let us know by filing a GitHub issue. No issue is too small. Help us fix our tpyos! + +#### Vấn đề bảo mật + +OUSD is still in early development, which means there may be problems with the protocol or in our implementations. We take security vulnerabilities very seriously. If you discover a security issue, please bring it to our attention right away! + +If you find a security vulnerability please send your report privately to [security@originprotocol.com](mailto:security@originprotocol.com) or send an encrypted message to [@joshfraser on Keybase](https://keybase.io/joshfraser). Please DO NOT file a public issue. Be sure to review our guidelines for responsible disclosure and eligibility for bug bounties. + +{% content-ref url="../security-and-risks/bug-bounties.md" %} +[bug-bounties.md](../security-and-risks/bug-bounties.md) +{% endcontent-ref %} + +#### **Phát triển cộng đồng** + +Origin is just as much about community as it is about our technology. + +We need constant help in improving our documentation, building new tools to interface with our platform, spreading the word to new users, helping new users getting setup and much more. + +Please get in touch if you would like to help out. Our `discussion` channel on [Discord](https://www.originprotocol.com/discord) is a great place to share ideas and volunteer to help. + +#### Vị trí Toàn thời gian + +Origin occasionally hires developers for part-time or full-time positions. + +We have a strong preference for hiring people who have already started contributing to the project. If you want a full-time position on our team, your best shot is to engage with our team and start contributing code. It is very unlikely that we would offer you a full-time position on our engineering team unless you’ve had at least a few pull requests merged. + +If you are interested, check out [the Origin Protocol job listings](https://angel.co/originprotocol/jobs). If you’d like to help in other ways, please propose your ideas in [our Discord channel](https://www.originprotocol.com/discord). + diff --git a/vi/governance/governance.md b/vi/governance/governance.md new file mode 100644 index 000000000..eea11a787 --- /dev/null +++ b/vi/governance/governance.md @@ -0,0 +1,26 @@ +# Principles + +**Progressive Decentralization** + +OUSD is designed to be a decentralized protocol governed by many stakeholders all over the world. We believe that the minters and holders of OUSD should collectively determine important protocol decisions as soon as possible. + +That being said, in the very early days, it is imperative that the core engineering team can act quickly and decisively to build the foundational parts of the protocol. + +Decentralization will progress across four phases rapidly over the next few months. It is our intent to relinquish control and governance to the community as soon as possible. + +![](../.gitbook/assets/ousd_docs_graphics_2%20%283%29.png) + +**Timelock** + +Prior to full decentralized governance, we will implement a [timelock](../smart-contracts/api/timelock-1.md) in front of all admin function calls, giving OUSD users time \(48 hours\) to withdraw their funds if they have objections to our proposed upgrades. This timelock will be added shortly after launch. + +**New and Existing Stakeholders** + +OUSD is a new project founded by Origin Protocol [team](www.originprotocol.com/team) and will be supported by the existing Origin community as well as many new stakeholders that choose to mint, hold, use, and provide liquidity for OUSD. + +In addition, we also want to ensure high participation from our existing Origin Token \(OGN\) holders, community of close to 500,000 members, and buyers/sellers on the Platform. Existing OGN holders will be able to stake their OGN to participate in governance and earn incentives for driving value to OUSD. More details will be provided in the near future. + +The strong connection between OUSD and the rest of the Origin commerce platform will fuel growth in both initiatives. + + + diff --git a/vi/governance/ogn-staking.md b/vi/governance/ogn-staking.md new file mode 100644 index 000000000..8ea497797 --- /dev/null +++ b/vi/governance/ogn-staking.md @@ -0,0 +1,18 @@ +# Stake OGN + +Origin Token (OGN) is intended as the governance token for OUSD and OGN will play an increasingly important role as the Origin Platform becomes more decentralized. Hiện tại, người dùng có thể stake OGN để kiếm thêm OGN. + +{% hint style="info" %} +Truy cập [OUSD DApp](https://www.ousd.com/stake) để stake OGN. +{% endhint %} + +Có 3 lựa chọn staking: + +* Stake 30 ngày: lãi suất hàng năm là 7,5% +* Stake 90 ngày: lãi suất hàng năm là 12,5% +* Stake 365 ngày: lãi suất hàng năm là 25% + +Token sẽ được khoá trong suốt thời gian stake. After each staking period ends, you will be able to claim both your initial OGN (principal) and yield. + +OGN hiện đang giao dịch trên các sàn giao dịch hàng đầu như [Coinbase](https://www.coinbase.com/price/origin-token), [Binance](https://www.binance.com/en/register?ref=NPPYAEAE), [Huobi](https://www.huobi.com/en-us/exchange/ogn_usdt/), [Upbit](https://upbit.com/exchange?code=CRIX.UPBIT.BTC-OGN), [Bittrex Global](https://global.bittrex.com/Market/Index?MarketName=BTC-OGN), và [nhiều sàn khác](https://coinmarketcap.com/currencies/origin-protocol/markets/). Truy cập trang web Origin để [tìm hiểu thêm về OGN](https://www.originprotocol.com/ogn-token) hoặc xem [Bảng điều khiển OGN](https://www.originprotocol.com/dashboard) để theo dõi các chỉ số token quan trọng. + diff --git a/vi/governance/phases.md b/vi/governance/phases.md new file mode 100644 index 000000000..04d7a8b73 --- /dev/null +++ b/vi/governance/phases.md @@ -0,0 +1,6 @@ +# Các giai đoạn + +Tiến độ phi tập trung hoá sẽ trải qua bốn giai đoạn như sau. + +![](../.gitbook/assets/ousd_docs_graphics_2%20%282%29.png) + diff --git a/vi/governance/principles.md b/vi/governance/principles.md new file mode 100644 index 000000000..e83c13a3f --- /dev/null +++ b/vi/governance/principles.md @@ -0,0 +1,30 @@ +# Nguyên tắc + +**Cổng quản trị** + +Chủ sở hữu OGN được khuyến khích tham gia tạo và bỏ phiếu các đề xuất cho giao thức trong [cổng quản trị OGN](https://vote.originprotocol.com). Bất kỳ ai sở hữu ít nhất 1.000 OGN trong ví hoặc stake trong hợp đồng OGN Staking đều có thể tạo một đề xuất mới bằng cách sử dụng Snapshot. Tất cả người nắm giữ OGN đều có thể bỏ phiếu cho các đề xuất. Mong muốn của chúng tôi là biến cộng đồng trở thành 1 phần của dự án, đưa ra các ý tưởng về định hướng sản phẩm, cơ sở mã nguồn mở và có tiếng nói trong các quyết định kinh doanh quan trọng cũng như định hướng chung của dự án. + +OGN holders can also [delegate votes](vote-delegation.md) to another account. + +**Progressive Decentralization** + +OUSD is designed to be a decentralized protocol governed by many stakeholders all over the world. We believe that the holders of OUSD should collectively determine important protocol decisions as soon as possible. + +That being said, in the very early days, it is imperative that the core engineering team can act quickly and decisively to build the foundational parts of the protocol. + +Decentralization will progress across four phases rapidly over the next few months. It is our intent to relinquish control and governance to the community as soon as possible. + +![](../.gitbook/assets/ousd\_docs\_graphics\_2 (2).png) + +**Timelock** + +Prior to full decentralized governance, we will implement a [timelock](../smart-contracts/api/timelock.md) in front of all admin function calls, giving OUSD users time to withdraw their funds if they have objections to our proposed upgrades. + +**New and Existing Stakeholders** + +OUSD is a new project founded by Origin Protocol [team](https://www.originprotocol.com/team) and will be supported by the existing Origin community as well as many new stakeholders that choose to mint, hold, use, and provide liquidity for OUSD. + +In addition, we also want to ensure high participation from our existing Origin Token (OGN) holders and the millions of people in our community. Existing OGN holders are able to [stake their OGN](ogn-staking.md) to participate in governance and earn incentives for driving value to OUSD. + +The strong connection between OUSD and the rest of the Origin commerce platform will fuel growth in both initiatives. + diff --git a/vi/governance/vote-delegation.md b/vi/governance/vote-delegation.md new file mode 100644 index 000000000..9a8149d2f --- /dev/null +++ b/vi/governance/vote-delegation.md @@ -0,0 +1,18 @@ +# Vote Delegation + +OGN holders can forward their voting power on the [Governance Portal](https://vote.originprotocol.com/#/) to another Ethereum address. Choosing this option does not strip the delegator of their voting power. The delegatee receives the extra voting power only on proposals the delegator has not voted on. + +This is convenient when users want someone they trust or even one of Origin's team members to make governance decisions regarding Origin's ecosystem. It is also useful when users have OGN stored more safely in a hardware wallet and don’t want to go through the hassle of connecting it to the computer. A more accessible Ethereum wallet e.g. Metamask can be used to vote by having voting power delegated to it from the hardware wallet.\ + + +**How to Delegate** + +* Go to: [https://snapshot.org/#/delegate](https://snapshot.org/#/delegate). +* Type in the address or ENS name you want to delegate to. +* There is an option to limit the delegation power to only Origin’s products by selecting _Limit delegation to a specific space_ and typing in “origingov.eth”. +* Click confirm to save your delegation.\ + + +![](../.gitbook/assets/Screenshot 2022-03-20 at 10.47.43.png) + +After completing these steps, the OGN voting power is successfully delegated to the address specified. diff --git a/vi/guides/incentivized-harvesting-guide.md b/vi/guides/incentivized-harvesting-guide.md new file mode 100644 index 000000000..a24597e9c --- /dev/null +++ b/vi/guides/incentivized-harvesting-guide.md @@ -0,0 +1,46 @@ +# Incentivized Harvesting Guide + +The OUSD Harvester contract collects reward tokens earned by the OUSD strategies, sells them, and sends them on to increase protocol yield. **Anyone can call the harvest and earn 1% of the resulting USDT** for doing so. This creates a self-incentivizing system that operates at a known cost to the protocol. + +### When to call + +You'll want to call this contract when it is profitable to do so. You gain the 1% harvest USDT given by the contract, and spend the gas cost to send the transaction. + +The simplest way to calculate both of these is to simulate the transaction. You can then look at the resulting transfers to know the income received, and you can look at the gas amount used, the current gas prices, and the current cost of ETH, to find out the cost. + +Alternatively you can precompute the gas used for a given strategy's harvest, look up the pending reward tokens using various online services, then do your calculations without using the blockchain. + +The amount of rewards increases at a fairly steady, predictable rate. The primary variation is in gas prices, which will make a much bigger minute to minute difference on when you should call this. + +When calculating profitability, remember to account for the cost to swap back to ETH from USDT. + +### How to call + +When you call the harvest, **you will want to use some form of MEV protection**. Otherwise bots will see that your transaction is profitable, and execute it ahead of you, leaving you no gain and only gas fees. + +To harvest, you call `harvester.harvestAndSwap(strategyAddress, rewardTo)`. + +The harvester address and strategyAddresses can be found in the strategy tab of the [contract registry](../smart-contracts/registry.md). The `rewardTo` address is the account that will receive the USDT funds as a reward for calling the function - use your own address for it. + +Below is the harvestAndSwap ABI: + +``` +[{ + "inputs": [ + { + "internalType": "address", + "name": "_strategyAddr", + "type": "address" + }, + { + "internalType": "address", + "name": "_rewardTo", + "type": "address" + } + ], + "name": "harvestAndSwap", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" +}] +``` diff --git a/vi/guides/integration-guide-for-exchanges.md b/vi/guides/integration-guide-for-exchanges.md new file mode 100644 index 000000000..13f36ac02 --- /dev/null +++ b/vi/guides/integration-guide-for-exchanges.md @@ -0,0 +1,34 @@ +# Hướng dẫn tích hợp cho các sàn giao dịch + +Các sàn giao dịch tập trung sẽ đóng một vai trò quan trọng trong việc giúp chúng tôi đạt đươc mục tiêu mang OUSD tới gần hơn với người dùng. Chúng tôi sẵn sàng hỗ trợ các sàn muốn tích hợp OUSD. Chúng tôi tin rằng OUSD sẽ là lựa chọn tuyệt vời nếu các sàn giao dịch đang tìm kiếm 1 stablecoin mang lại lợi nhuận cao. + +Những tài liệu này là bước quan trọng để tìm hiểu cơ chế hoạt động của OUSD. Dưới đây là một số câu hỏi quan trọng cho các sàn giao dịch muốn tích hợp OUSD cần xem xét: + +**Do you want to participate in the yield that is generated?** + +Chúng tôi giả định câu trả lời sẽ là có! Tuy nhiên, nếu chỉ đơn giản là. niêm yết OUSD mà không [tích hợp rebase](../core-concepts/elastic-supply/rebasing-and-smart-contracts.md) thì bạn sẽ không đạt được mục đích mong muốn. Đối với các sàn giao dịch muốn niêm yết OUSD, nhưng bị hạn chế về kỹ thuật, bạn có thể muốn khởi chạy phiên bản không rebase trước và sau đó các kỹ sư có thể thực hiện tiếp các bước tích hợp rebase. Để dừng tính năng rebase của OUSD, bạn có thể gọi `rebaseOptOut ()` từ mỗi ví EOA nắm giữ OUSD hoặc không làm gì nếu bạn đang lưu trữ OUSD trên các hợp đồng thông minh. Non-rebasing OUSD behaves just like any other ERC-20 token. + +**Are you storing customer balances on smart contracts (ie. multi-sigs) or EOA wallets?** + +Bất kỳ hợp đồng thông minh nào đang nắm giữ OUSD cần phải opt-in hủ công để nhận được lợi nhuận bằng cách gọi hàm `rebaseOptIn ()`. Sở dĩ bạn phải thực hiện bước này vì bản chất [cung thay đổi](../core-concepts/elastic-supply/) và [tính năng rebase](../core-concepts/elastic-supply/rebasing-and-smart-contracts.md). Nếu sàn giao dịch của bạn đang lưu trữ tiền trong ví đa chữ ký, đừng quên thực hiện opt-in để kiếm lợi nhuận. + +**Bạn có đang lưu số dư của người dùng vào bộ nhớ đệm không?** + +OUSD tự động cập nhật giá trị được trả về bởi hàm `balanceOf ()` trên hợp đồng ERC20 mà đội ngũ chúng tôi xây dựng. Users' balances will update at unpredictable times as new yield is generated by the protocol. Miễn là bạn không lưu giá trị này vào bộ nhớ đệm, người dùng sẽ luôn thấy đúng số lượng OUSD mà họ đang nắm giữ. + +It's important to note that while OUSD is a rebasing token, user balances will only rebase in a positive direction (your balance will never go down). This makes things a lot simpler than integrating with other rebasing coins like AMPL or other algo-stables. + +**Are you comingling user funds?** + +If you are comingling funds, you'll want to be sure that each user gets their pro-rata amount of the yield that is generated by the protocol. Probably the easiest way to do this is to track each user's balance as a percentage of a pool instead of as a fixed amount. + +**Are you planning to provide liquidity?** + +The Origin team is often willing to provide a market maker and initial liquidity for exchanges that wish to integrate OUSD. There are also 9 figures worth of liquidity available on decentralized exchanges like [Curve](https://curve.fi/factory/9). + +If you are interested in using OUSD to power your own staking or earning program, you will probably want to be able to access OUSD on demand. OUSD can always be minted or redeemed using the [Origin Dollar DApp](https://www.ousd.com), or directly from the OUSD [smart contracts](../smart-contracts/registry.md). If you are planning on providing liquidity yourself, you should be aware that the exact amount of OUSD you will receive in exchange for your USDT, USDC, or DAI depends on the current exchange rates as determined by the [oracles.](../core-concepts/price-oracles.md) If you are planning on redeeming OUSD for the underlying stablecoins, you should know there is a 0.25% exit fee and OUSD will return a basket of stable coins in proportion to the backing stablecoins in the pool. We encourage exchanges to leverage existing pools of liquidity to avoid those fees. If possible, mints or redeems should be done in large batches for maximum efficiency. + +#### Do you have other questions? + +The best way to get help from both our engineering and business teams is usually on [Discord](https://www.originprotocol.com/discord). + diff --git a/vi/how-it-works.md b/vi/how-it-works.md new file mode 100644 index 000000000..3ab73e0ae --- /dev/null +++ b/vi/how-it-works.md @@ -0,0 +1,39 @@ +# Cơ chế hoạt động + +#### Được hỗ trợ 100% và ổn định + +Origin Dollar (OUSD) is an ERC-20 compliant token for the Ethereum network. + +OUSD là tiền tệ ổn định được hỗ trợ 1:1 bởi các stablecoin khác như USDT, USDC và DAI. Do đó, 1 OUSD được duy trì gần ổn định với giá trị 1 USD. + +{% hint style="success" %} +1 OUSD = 1 USD +{% endhint %} + +#### Mua OUSD + +Users can convert their existing stablecoins (currently USDT, USDC, and DAI) to OUSD at the official [Origin Dollar DApp](https://www.ousd.com). Received OUSD begins accruing compounding yield immediately. + +Origin DApp sẽ định tuyến các giao dịch của người dùng một cách thông minh, cung cấp cho họ mức giá chuyển đổi tốt nhất giữa OUSD và stablecoin cũng như cân nhắc trượt giá và phí gas. Điều này có nghĩa là DApp đôi khi sẽ khuyến khích người dùng mua OUSD trên thị trường thay vì mint OUSD mới từ vault. The OUSD DApp will choose from multiple sources of liquidity and will suggest the option that gives the user the best possible rate. + +**Bán OUSD** + +Users can convert their OUSD back into other stablecoins at any time using the [Origin Dollar DApp](https://www.ousd.com). Origin DApp sẽ định tuyến các giao dịch của người dùng một cách thông minh, cung cấp cho họ mức giá chuyển đổi tốt nhất giữa OUSD và stablecoin cũng như cân nhắc trượt giá, phí gas và phí khi rời vault. Điều này có nghĩa là DApp thường sẽ giúp người dùng bán OUSD của họ trên AMM thay vì redeem OUSD từ kho tiền và chịu phí thoát của giao thức. + +A 0.25% exit fee is charged upon redemption with the vault. This fee is distributed as additional yield to the remaining participants in the vault (ie. other OUSD holders). Phí này đóng vai trò như một tính năng bảo mật để khiến những kẻ tấn công khó lợi dụng tình trạng oracle bị gián đoạn, ngăn chúng đồng bộ hóa các stablecoin từ vault trong trường hợp định giá sai các tài sản cơ bản. Khoản phí nêu trên còn nhằm mục tiêu để khuyến khích những người nắm giữ dài hạn hơn là đầu cơ ngắn hạn. + +Upon redemption, the vault will determine which stablecoin(s) to return to the user. Hiện tại, vault sẽ trả lại tiền theo tỉ lệ stablecoin trong vault ở thời điểm đó. Việc không cho người dùng có quyền lựa chọn sẽ bảo vệ được toàn bộ kho tiền trong khỏi tình huống 1 đồng stablecoin nào đó sẽ bị mất giá so với đồng Đô La. + +{% hint style="warning" %} +Redemptions on the OUSD vault incur a **0.25% exit fee** and the user doesn't get to pick which stablecoins they receive. Người dùng thường có thể tránh khoản phí này bằng cách bán OUSD cho AMM. +{% endhint %} + +#### Tạo ra **lợi nhuận thụ động** + +OUSD tạo ra lợi nhuận bằng cách chuyển các stablecoin được ký gửi vào hợp đồng thông minh OUSD tới các giao thức DeFi khác như Compound, Aave, Uniswap, Balancer và Curve. Các chiến lược mới sẽ tiếp tục được bổ sung trong tương lai. Tiền lãi thu được, phí giao dịch và token thưởng được tổng hợp lại và chuyển đổi thành stablecoin để tạo ra lợi tức bằng OUSD. Over time, the protocol will move assets in and out of different liquidity pools in order to provide the best yield to the holders of OUSD. + +#### **Cung linh hoạt** + +Lợi nhuận được tạo ra được chuyển cho người nắm giữ OUSD thông qua cơ chế cung tiền linh hoạt. OUSD liên tục điều chỉnh nguồn cung tiền để đáp ứng với lợi suất mà giao thức đã tạo ra. Điều này cho phép giá OUSD được cố định ở mức 1 đô la trong khi số dư trong ví của chủ sở hữu OUSD thay đổi theo thời gian thực, phản ánh lợi nhuận mà giao thức kiếm được. + +Từ đó, Ousd trở thành 1 stablecoin dễ chi tiêu, tự động kiếm được lợi nhuận vượt trội và được nhiều người mong muốn nắm giữ hơn các loại stablecoin hiện có. diff --git a/vi/security-and-risks/asset-risk.md b/vi/security-and-risks/asset-risk.md new file mode 100644 index 000000000..92140f5ed --- /dev/null +++ b/vi/security-and-risks/asset-risk.md @@ -0,0 +1,33 @@ +# Bug Bounties + +**Bug Bounties** + +Bug bounties are granted at the full discretion of Origin Protocol. The rewards range in size from **$100** for minor issues to **$250,000** for major vulnerabilities. Currently, the bounty program only applies to OUSD and not other products from Origin. + +{% hint style="warning" %} +In order to be eligible for a bug bounty, you must follow the rules of Responsible Disclosure outlined below. +{% endhint %} + +**Responsible Disclosure** + +Security is our top priority and we've taken every effort to make sure our code is secure and works as intended. However, it's completely possible that vulnerabilities both large and small may have gone undetected. + +In case you discover a vulnerability, we would like to know about it immediately so we can take steps to address it as quickly as possible. + +If you discover a vulnerability, please do the following: + +* Report your findings to [security@originprotocol.com](mailto:security@originprotcol.com) or contact [Josh Fraser on Keybase](https://keybase.io/joshfraser) +* Do not take advantage of the vulnerability or problem you have discovered +* Do not reveal the problem to others until it has been resolved +* Do not use attacks on physical security, social engineering, distributed denial of service, spam or applications of third parties +* Do provide sufficient information to reproduce the problem, so we will be able to resolve it as quickly as possible. Complex vulnerabilities may require further explanation so we might ask you for additional information. + +In return, we promise: + +* We will respond to your report within 3 business days with our evaluation of the report and an expected resolution date +* If you have followed the instructions above, we will not take any legal action against you in regard to the report +* We will handle your report with strict confidentiality, and not pass on your personal details to third parties without your permission +* If you so wish we will keep you informed of the progress towards resolving the problem +* In the public information concerning the problem reported, we will give your name as the discoverer of the problem \(unless you desire otherwise\) +* As a token of our gratitude for your assistance, we offer a reward for every report of a security problem that was not yet known to us. The amount of the reward will be determined based on the severity of the leak, the quality of the report, and any additional assistance you provide. + diff --git a/vi/security-and-risks/audits.md b/vi/security-and-risks/audits.md new file mode 100644 index 000000000..647fd9ddf --- /dev/null +++ b/vi/security-and-risks/audits.md @@ -0,0 +1,40 @@ +# Kiểm toán + +**OUSD Vault, ERC-20 và Tổng quan hệ thống** + +OUSD đã được kiểm toán bởi nhiều công ty bảo mật uy tín. We have worked with [OpenZeppelin](https://openzeppelin.com), [Trail of Bits](https://www.trailofbits.com), [Solidified](https://solidified.io), and [Certora](https://www.certora.com) to audit all of the code that powers Origin Dollar. Báo cáo kiểm toán các đợt như sau: + +* [Trail of Bits, OUSD Audit, tháng 12/2020](https://github.com/OriginProtocol/security/blob/master/audits/Trail%20of%20Bits%20-%20Origin%20Dollar%20-%20Dec%202020.pdf) +* [Solidified, OUSD Audit, tháng 12/2020](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20Origin%20Dollar%20-%20Dec%202020.pdf) +* [Solidified, OGN staking Audit, tháng 12/2020](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20OGN%20Staking%20-%20Dec%202020.pdf) +* [Certora, Kiểm tra xác minh chính thức của OUSD, tháng 1/2021](https://www.certora.com/pubs/OriginFeb2021.pdf) +* [OpenZeppelin, OUSD Audit, August 2021](https://github.com/OriginProtocol/security/blob/master/audits/OpenZeppelin%20-%20Origin%20Dollar%20-%20October%202021.pdf) +* [Solidified, wOUSD, ERC721a, Governance, Harvester & Dripper Audit, May 2022](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20OGV%2C%20wOUSD%2C%20and%20ERC721a%20-%20May%202022.pdf) + +Both our initial and future governance tokens have been audited as well: + +* [Trail of Bits, OGN Audit, tháng 12/2018](https://github.com/OriginProtocol/security/blob/master/audits/Trail%20of%20Bits%20-%20Origin%20Marketplace%20and%20OGN%20Token%20-%20Nov%202018.pdf) +* [Solidified, OGV Audit, May 2022](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20OGV%2C%20wOUSD%2C%20and%20ERC721a%20-%20May%202022.pdf) + +Ngoài ra, các chiến lược được sử dụng và các yếu tố phụ thuộc mà OUSD sử dụng đã được các biên thức ba kiểm toán kỹ lưỡng. + +{% hint style="info" %} +OUSD chỉ tích hợp các chiến lược đã được kiểm toán cẩn thận, đã được trải nghiệm bởi 1 lượng lớn người dùng. +{% endhint %} + +**Chiến lược Compound và Nguồn cấp dữ liệu giá mở** + +Compound has been audited by [Trail of Bits](https://www.trailofbits.com) and [OpenZeppelin](https://openzeppelin.com) and formally verified by [Certora](https://www.certora.com). Truy cập trang web Compound xem [danh sách các bên đã kiểm toán Compound](https://compound.finance/docs/security#audits) bao gồm code gốc trước trước khi sửa đổi của [khoá thời gian](../smart-contracts/api/timelock.md) mà OUSD đang sử dụng. + +**Chiến lược Aave** + +Aave has been audited by [Trail of Bits](https://www.trailofbits.com), [OpenZeppelin](https://openzeppelin.com), [ConsenSys Diligence](https://consensys.net/diligence/), [Certik](https://certik.io), [MixBytes](https://mixbytes.io), and [PeckShield](https://peckshield.com). They have also been formally verified by [Certora](https://www.certora.com). Truy cập vào trang web Aave để xem [danh sách đầy đủ các bên đã kiểm toán hợp đồng của họ](https://docs.aave.com/developers/security-and-audits). + +**Chiến lược Curve** + +Curve has been audited by [Trail of Bits](https://www.trailofbits.com) and [Quantstamp](https://quantstamp.com). Truy cập vào trang web Curve để xem [danh sách đầy đủ các bên đã kiểm toán hợp đồng của họ](https://www.curve.fi/audits). + +**Chainlink Oracle** + +Chainlink has been audited by [Quantstamp](https://github.com/smartcontractkit/chainlink/tree/bafa91c), [SigmaPrime](https://github.com/smartcontractkit/chainlink/tree/cee356), [Callisto](https://gist.github.com/yuriy77k/c3a70d212a7f9ecda715252e45073158), and [Nick Johnson](https://github.com/smartcontractkit/chainlink/tree/5327f9). + diff --git a/vi/security-and-risks/bug-bounties.md b/vi/security-and-risks/bug-bounties.md new file mode 100644 index 000000000..13ece9b4f --- /dev/null +++ b/vi/security-and-risks/bug-bounties.md @@ -0,0 +1,32 @@ +# Phần thưởng phát hiện lỗi + +**Phần thưởng phát hiện lỗi** + +Tiền thưởng lỗi được sẽ được quyết định bởi Origin Protocol. The rewards range in size from **$100 OUSD** for minor issues to **$250,000 OUSD** for major vulnerabilities. Hiện tại, chương trình tiền thưởng phát hiện lỗi chỉ áp dụng cho OUSD và không áp dụng cho các sản phẩm khác từ Origin. + +{% hint style="warning" %} +Để đủ điều kiện nhận tiền thưởng lỗi, bạn phải tuân theo các quy tắc về khai báo thông tin được nêu dưới đây. +{% endhint %} + +**Trách nhiệm thông báo thông tin ** + +Bảo mật là ưu tiên hàng đầu và chúng tôi đã cố gắng hết sức để đảm bảo mã lập trình được xây dựng một cách an toàn và hoạt động như dự kiến. Tuy nhiên, không ngoại trừ khả năng tồn tại một số lỗ hổng mà chúng tôi không phát hiện ra. + +Trong trường hợp bạn phát hiện ra lỗ hổng bảo mật, chúng tôi muốn biết về lỗ hổng đó ngay lập tức để có thể thực hiện các bước để giải quyết nó nhanh nhất có thể. + +Nếu bạn phát hiện ra một lỗ hổng, vui lòng làm theo các bước sau: + +* Report your findings to [security@originprotocol.com](mailto:security@originprotocol.com) or contact [Josh Fraser on Keybase](https://keybase.io/joshfraser). Here is an example of a [well written disclosure](https://gist.github.com/DanielVF/66f459da88804d1fd917c47576c68523). +* Không lợi dụng lỗ hổng hoặc vấn đề bạn đã phát hiện +* Không tiết lộ vấn đề cho người khác cho đến khi nó đã được giải quyết +* Không sử dụng các cuộc tấn công vào an ninh vật lý, tấn công phi kỹ thuật (đánh cắp thông tin), tấn công từ chối dịch vụ phân tán, spam hoặc tấn công các ứng dụng của bên thứ ba +* Hãy cung cấp đầy đủ thông tin về lỗi để chúng tôi có thể giải quyết nó nhanh nhất có thể. Complex vulnerabilities may require further explanation so we might ask you for additional information. + +Đổi lại, chúng tôi sẽ: + +* Chúng tôi sẽ trả lời báo cáo của bạn trong vòng 3 ngày làm việc dựa trên đánh giá của chúng tôi về báo cáo và ngày giải quyết dự kiến +* Nếu bạn đã làm theo các hướng dẫn ở trên, chúng tôi sẽ không thực hiện bất kỳ hành động nào liên quan về mặt pháp lý nào đối với bạn về báo cáo +* Chúng tôi sẽ xử lý báo cáo của bạn với tính bảo mật nghiêm ngặt và không chuyển thông tin cá nhân của bạn cho bên thứ ba mà không có sự cho phép của bạn +* Nếu bạn muốn, chúng tôi sẽ thông báo cho bạn về tiến trình giải quyết lỗ hổng +* In the public information concerning the problem reported, we will give your name as the discoverer of the problem (unless you desire otherwise) +* Như một lời tri ân vì sự hỗ trợ của bạn, chúng tôi sẽ trao phần thưởng cho mọi báo cáo về sự cố bảo mật mà chúng tôi chưa biết. Số lượng phần thưởng sẽ được xác định dựa trên mức độ nghiêm trọng của lỗ hổng, chất lượng của báo cáo và bất kỳ hỗ trợ bổ sung nào mà bạn cung cấp. diff --git a/vi/security-and-risks/contributing.md b/vi/security-and-risks/contributing.md new file mode 100644 index 000000000..a6264cb33 --- /dev/null +++ b/vi/security-and-risks/contributing.md @@ -0,0 +1,95 @@ +# Đóng góp + +**100% Mã nguồn mở** + +OUSD là dự án mã nguồn mở hoàn toàn và chúng tôi hoan nghênh mọi đóng góp của toàn thể cộng đồng. Bạn có thể hỗ trợ đội ngũ chúng tôi bằng việc báo cáo sự cố bảo mật, đóng góp lập trình hay giúp chúng tôi cải thiện cộng đồng của mình. + +Chúng tôi làm việc một cách công khai và tài khoản Discord luôn chào đón tất cả cá thành viên trong cộng đồng. Nếu bạn có câu hỏi hoặc cần trợ giúp, các kênh Discord OUSD là nơi tốt nhất để nhận hỗ trợ từ nhóm và cộng đồng của chúng tôi. + +**Developer Analytics** + +Our internal developer dashboard is available at [analytics.ousd.com](https://analytics.ousd.com). The dashboard shows the current circulating supply, the assets under management in the vault, and the current allocations between each of the stablecoins and strategies. + +#### Quá trình phát triển + +Our branching strategy is similar to [GitFlow](http://nvie.com/posts/a-successful-git-branching-model/), but we do all of our development in the `master` branch and have a `stable` branch for code that has been released. + +Your development flow should look like: + +1. Tìm một vấn đề thú vị và trao đổi với chúng tôi! Vui lòng ghé kênh `#engineering` [Discord](https://discord.gg/jyxpUSe) và cho chúng tôi biết bạn muốn làm gì. +2. Nhắn tin cho [thành viên của team](https://github.com/orgs/OriginProtocol/teams/core/members) trên Discord và yêu cầu được thêm vào nhóm [cộng tác viên](https://github.com/orgs/OriginProtocol/teams/contributors) của chúng tôi. Nếu không, bạn sẽ cần phải folk kho giữ liệu code (repo) liên quan và đẩy các nhánh tính năng vào folk riêng của bạn. +3. Thêm nhận xét về vấn đề hoặc tự phân bổ cho bản thân tránh tình trạng nhiều cộng tác viên cùng xử lý 1 nhiệm vụ. +4. Bắt đầu với nhánh `chính` và kiểm tra nhánh tính năng mới trừ khi bạn đang đóng góp vào một tính năng hiện có. +5. Sử dụng [kiểu lập trình](https://docs.originprotocol.com/guides/getting_started/contributing.html#contributing-email-coding-style) thích hợp và lập trình mã code tốt. +6. Kéo các cam kết mới nhất từ `nhánh chính` và xác nhận rằng mã lập trình của bạn hoạt động tốt với với bất kỳ công việc nào đã được tích hợp kể từ khi bạn bắt đầu. +7. Đẩy chi nhánh của bạn lên kho lưu trữ ngược dòng (tức là https: //github.com/OriginProtocol/ [repo]) để những người đóng góp khác có thể dễ dàng xử lý nó nếu cần. +8. Vui lòng yêu cầu đánh giá trong bài PR bằng cách nhấp vào biểu tượng bánh răng bên cạnh “Người đánh giá” ở cột bên phải. + +For critical smart contract code to be merged it must pass the following checklist: + +* Code reviewed by 2 reviewers +* Unit tests pass +* Slither tests pass with no warning +* Echidna tests pass + +The `master` branch is locked so that only members of the [core team](https://github.com/orgs/OriginProtocol/teams/core) are able to merge your pull requests. Pull requests that are peer-reviewed by other trusted contributors will be fast-tracked and merged faster! Check in the `#engineering` Discord channel for appropriate reviewers. + +#### Kiểu lập trình + +We use a variety of programming languages in our repositories. When contributing, please follow existing coding conventions and refer to the CONTRIBUTING.md file in the repository, if one exists. + +For JavaScript, we use [NPM’s style](https://docs.npmjs.com/misc/coding-style), which is automatically enforced via [prettier](https://prettier.io/). + +For Solidity, we use two-space indents. + +#### Thiết kế giao thức + +When considering protocol or implementation design proposals, we are looking for: + +* A description of the problem this design proposal solves +* Discussion of the trade-offs involved +* Review of other existing solutions +* Links to relevant literature \(RFCs, papers, etc\) +* Discussion of the proposed solution + +Please note that protocol design is hard and meticulous work. You may need to review existing literature and think through generalized use cases. + +#### Hỗ trợ cộng đồng + +We want to keep the Origin community awesome, growing and collaborative. We need your help to keep it that way. To help with this we’ve come up with some general guidelines for the community as a whole: + +* Be nice: Be courteous, respectful and polite to fellow community members: no regional, racial, gender, or other abuse will be tolerated. We like nice people way better than mean ones! +* Encourage diversity and participation: Make everyone in our community feel welcome, regardless of their background and the extent of their contributions, and do everything possible to encourage participation in our community. +* Keep it legal: Basically, don’t get anybody in trouble. Share only content that you own, do not share private or sensitive information, and don’t break laws. +* Stay on topic: Make sure that you are posting to the correct channel and avoid off-topic discussions. Remember when you update an issue or respond to an email you are potentially sending to a large number of people. Please consider this before you update. Also remember that nobody likes spam. + +#### Báo cáo lỗi + +If you find bugs, mistakes or inconsistencies in Origin’s code or documents, please let us know by filing a GitHub issue. No issue is too small. Help us fix our tpyos! + +#### Vấn đề bảo mật + +OUSD is still in early development, which means there may be problems with the protocol or in our implementations. We take security vulnerabilities very seriously. If you discover a security issue, please bring it to our attention right away! + +If you find a security vulnerability please send your report privately to [security@originprotocol.com](mailto:security@originprotocol.com) or send an encrypted message to [@joshfraser on Keybase](https://keybase.io/joshfraser). Please DO NOT file a public issue. Be sure to review our guidelines for responsible disclosure and eligibility for bug bounties. + +{% page-ref page="bug-bounties.md" %} + +#### **Phát triển cộng đồng** + +Origin is just as much about community as it is about our technology. + +We need constant help in improving our documentation, building new tools to interface with our platform, spreading the word to new users, helping new users getting setup and much more. + +Please get in touch if you would like to help out. Our `general` channel on [Discord](https://www.originprotocol.com/discord) is a great place to share ideas and volunteer to help. + +#### Vị trí Toàn thời gian + +Origin occasionally hires developers for part-time or full-time positions. + +We have a strong preference for hiring people who have already started contributing to the project. If you want a full time position on our team, your best shot is to engage with our team and start contributing code. It is very unlikely that we would offer you a full-time position on our engineering team unless you’ve had at least a few pull requests merged. + +If you are interested, check out [the Origin Protocol job listings](https://angel.co/originprotocol/jobs). If you’d like to help in other ways, please propose your ideas in [our Discord channel](https://www.originprotocol.com/discord). + + + diff --git a/vi/security-and-risks/insurance.md b/vi/security-and-risks/insurance.md new file mode 100644 index 000000000..2b349e1af --- /dev/null +++ b/vi/security-and-risks/insurance.md @@ -0,0 +1,15 @@ +# Bảo hiểm + +OUSD holders can buy smart contract insurance to cover any losses that might result from any bugs or vulnerabilities in the OUSD contracts, including economic exploits (such as flash loans attacks). Ngoài ra, bất kỳ ai muốn đặt cược tài chính vào sự an toàn của các hợp đồng của chúng tôi đều có thể kiếm được lợi nhuận bằng cách cung cấp bảo hiểm. + +DeFi coverage for OUSD is currently available via[ Nexus Mutual](https://nexusmutual.io) and [InsurAce Protocol](https://www.insurace.io). These partnerships allow for more effective risk management by OUSD holders while creating new opportunities for coverage providers to profit. + +Read our [announcement post](https://medium.com/originprotocol/origin-partners-with-nexus-mutual-to-offer-defi-insurance-for-origin-dollar-ousd-6eb3432ee042) to learn how to [buy coverage](https://app.nexusmutual.io/cover/buy/get-quote?address=0xE75D77B1865Ae93c7eaa3040B038D7aA7BC02F70), [provide coverage](https://app.nexusmutual.io/staking), or [participate in shield mining campaigns](https://app.nexusmutual.io/rewards) with Nexus Mutual. You can learn more about InsurAce and how to buy coverage on their [user guide](https://docs.insurace.io/landing-page/documentation-1/user-guide) or [documentation](https://docs.insurace.io/landing-page/). + +**Nexus Mutual Coverage** + +Read our[ announcement post](https://medium.com/originprotocol/origin-partners-with-nexus-mutual-to-offer-defi-insurance-for-origin-dollar-ousd-6eb3432ee042) to learn how to[ buy coverage](https://app.nexusmutual.io/cover/buy/get-quote?address=0x0000000000000000000000000000000000000016),[ provide coverage](https://app.nexusmutual.io/staking), and[ participate in shield mining campaigns](https://app.nexusmutual.io/rewards) with Nexus Mutual. + +**InsurAce Protocol Coverage** + +Read InsurAce Protocol’s [User Guide](https://docs.insurace.io/landing-page/documentation-1/user-guide) to learn how to [buy coverage](https://docs.insurace.io/landing-page/documentation-1/user-guide/dashboard) and participate in [underwriting mining](https://docs.insurace.io/landing-page/documentation-1/user-guide/how-to-stake) for OUSD. diff --git a/vi/security-and-risks/risks.md b/vi/security-and-risks/risks.md new file mode 100644 index 000000000..93ee67ce5 --- /dev/null +++ b/vi/security-and-risks/risks.md @@ -0,0 +1,44 @@ +# Rủi ro + +{% hint style="danger" %} +Bạn chấp nhận rủi ro khi sử dụng Ousd. Hãy sử dụng nguồn vốn mà khi mất đi cũng không ảnh hưởng tới cuộc sống của mình. +{% endhint %} + +Tương tự với bất kỳ sản phẩm DeFi tạo lãi suất nào khác, người dùng cần nắm rõ các rủi ro có thể có khi nắm giữ OUSD. Những rủi ro này có thể được phân thành 3 loại: + +* Rủi ro hợp đồng thông minh +* Rủi ro tiềm ẩn của nền tảng bên thứ ba +* Rủi ro stablecoin + +**Rủi ro hợp đồng thông minh OUSD** + +Các hợp đồng thông minh của Ousd đã được [kiểm toán](audits.md) bởi nhiều công ty bảo mật uy tín. Mặc dù đã được kiểm toán, khả năng tồn tại lỗ hỗ có thể gây ảnh hưởng tới quỹ của người nắm giữ OGN là hoàn toàn có thể. Các hợp đồng liên quan đến toán học và logic phức tạp. Mặc dù chúng tôi đã thực hiện mọi biện pháp phòng ngừa để đảm bảo sự an toàn và bảo mật của hợp đồng thông minh, người dùng vẫn nên hiểu được các rủi ro tiềm ẩn và cân nhắc trước khi sử dụng. Origin Protocol sẽ không chịu trách nhiệm về bất kỳ tổn thất nào về tiền bạc, bất kể ai là người có lỗi. + +**Rủi ro nền tảng của bên thứ ba** + +OUSD được xây dựng dựa trên các nền tảng DeFi như Aave, Compound và Curve khác làm tăng thêm rủi ro hợp đồng thông minh. Chúng tôi lựa chọn làm việc với các nền tảng đang quản lý lên tới hàng tỉ đô và đã nỗ lực tăng cường tính bảo mật giao thức của họ. Tuy nhiên, không có gì đảm bảo rằng các nền tảng Origin đang sử dụng sẽ không xảy ra lỗi và bất kỳ lỗi nào xảy ra với các chiến lược mà Origin sử dụng đều có thể dẫn đến mất mát cho người nắm giữ OUSD. + +**Rủi ro của stablecoin** + +Điều quan trọng cần lưu ý là OUSD chỉ mạnh ngang các đồng stablecoin đang hỗ trợ nó. Bất kỳ tổn thất nào xảy ra với các tài sản cơ bản (tài sản hỗ trợ) sẽ gây ra tổn thất tương tự đối với giá trị của OUSD. Mặc dù OUSD được thiết kế để duy trì tỉ lệ 1: 1 giữa số lượng OUSD và số lượng stablecoin hỗ trợ, điều này không đồng nghĩa với việc cơ chế này sẽ đảm bảo giá trị của các stablecoin này cũng như đồng stablecoin nào sẽ là stablecoin hỗ. + +Điều quan trọng cần lưu ý là tất cả các stablecoin này tiềm ẩn các rủi ro tuy không đang kể đối với các bên liên quan. Đơn cử như Tether đã từng gặp phải răng rối liên quan đến thủ tục ngân hàng và đối mặt với không ít thách thức về việc tuân thủ quy định. Ngoài ra, cả USDT và USDC đều có "cửa sau" cho phép nhà phát hành có quyền đóng băng tiền trong ví của chủ sở hữu. Dai không được hỗ trợ bởi tài sản thế chấp là tiền pháp định, giá trị của nó cũng có thể bị ảnh hưởng vì USDC và USDT được chấp nhận làm tài sản thế chấp để khai thác DAI. + +**Giảm thiểu rủi ro** + +Mặc dù không thể đảm bảo hợp đồng của chúng tôi là an toàn 100%, nhưng chúng tôi đã thực hiện mọi bước có thể để giảm thiểu nguy cơ mất tiền: + +Hợp đồng và các chương trình được [kiểm toán ](audits.md)bởi các kiểm toán viên hàng đầu trong ngành. + +[DeFi insurance](insurance.md) is availble to offer smart contract coverage as an optional add-on service for OUSD holders. + +We have retained [Certora](https://www.certora.com) to formally verify the various security properties of our contracts. Họ đã giúp Origin thiết lập xác minh tự động có thể chạy bất kỳ lúc nào chúng tôi cập nhật code của hợp đồng. Chúng tôi đã tự động kiểm tra các lỗi phổ biến bằng kiểm tra [Slither](https://github.com/crytic/slither) và [Echidna](https://github.com/crytic/echidna). Những biện pháp này sẽ cảnh báo chúng tôi về các vấn đề bảo mật phổ biến ngoài các biện pháp mà chúng tôi tự xây dựng. + +Việc kiểm tra code của hợp đồng thông minh dễ ra cực kỳ nghiêm ngặt. Chúng tôi yêu cầu hai kỹ sư xem xét từng thay đổi theo 1 danh sách tiêu chí chi tiết và chúng tôi ưu tiên đảm bảo bảo mật hơn là phát triển tính năng mới. + +Cuối cùng, chúng tôi chính thức [luân phiên](https://github.com/OriginProtocol/security/blob/master/incidents/ROTATION.md) xem xét [vụ tấn công vào các dự án khác](https://github.com/OriginProtocol/security/tree/master/incidents), tìm hiểu rõ nguyên nhân để tránh trường hợp tương tự xảy ra với Origin. Chúng tôi nhận ra 1 điều là những kẻ tấn công thường khai thác cùng một lỗ hổng cơ bản trên nhiều dự án khác nhau. Bằng cách xem xét các lỗ hổng bảo mật của dự án khác, chúng tôi buộc mình phải cập nhật các mối đe dọa bảo mật mới nhất trong ngành và không ngừng học hỏi từ những sai lầm của họ. + +**Hành động thay lời nói** + +Nhiều thành viên của nhóm Origin bao gồm cả hai sáng lập viện đang nắm giữ một phần đáng kể tài sản cá nhân của họ trong OUSD. Tài khoản tiền mặt của Origin Protocol cũng đang nắm giữ hàng triệu đô la OUSD. Chúng tôi là người tạo ra sản phẩm và sẵn sàng đặt tiền của mình vào rủi ro với code chúng tôi đã viết. + diff --git a/vi/security-and-risks/untitled.md b/vi/security-and-risks/untitled.md new file mode 100644 index 000000000..21b692090 --- /dev/null +++ b/vi/security-and-risks/untitled.md @@ -0,0 +1,20 @@ +# Audits + +{% hint style="danger" %} +The OUSD smart contracts have not yet been audited. We strongly recommend reviewing our smart contracts before depositing significant amounts of capital. +{% endhint %} + +**OUSD** + +Audits have already been scheduled with the respected security firm, [Trail of Bits](https://www.trailofbits.com/), for early October 2020. Their audit results will be publicly released as soon as they are available. + +**Supported Strategies** + +Multiple audits for Compound have already been completed and are available on their website. This includes the original code for the modified [Timelock](../smart-contracts/api/timelock-1.md) that OUSD is using. + +{% page-ref page="untitled.md" %} + + + + + diff --git a/vi/smart-contracts/api/README.md b/vi/smart-contracts/api/README.md new file mode 100644 index 000000000..21f6959d4 --- /dev/null +++ b/vi/smart-contracts/api/README.md @@ -0,0 +1,9 @@ +# API + +Documentation of contracts API used by the protocol: + +* [Vault](vault.md) +* [ERC-20](erc-20-1.md) +* [Khoá thời gian (timelock)](timelock.md) +* [Stategies](strategies.md) + diff --git a/vi/smart-contracts/api/erc-20-1.md b/vi/smart-contracts/api/erc-20-1.md new file mode 100644 index 000000000..bb1af0871 --- /dev/null +++ b/vi/smart-contracts/api/erc-20-1.md @@ -0,0 +1,16 @@ +# ERC-20 + +{% hint style="success" %} +The main ERC20 address for Origin Dollar (OUSD) is: \ **0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +OUSD is an ERC-20 compliant token with one novel property (elastic supply) that is important to understand. + +{% hint style="warning" %} +Các ví và sàn giao dịch muốn tích hợp OUSD không nên lưu số dư OUSD vào bộ nhớ cache vì giá trị này sẽ thay đổi thường xuyên khi lợi nhuận được tích lũy cho chủ sở hữu OUSD. +{% endhint %} + +Sự khác biệt lớn nhất giữa OUSD và token ERC-20 thông thường là hàm `balanceOf ()` của OUSD sẽ trả về một số tiền có thể thay đổi dựa trên tổng giá trị của kho tiền nhân với tỉ lệ số tiền của chủ sở hữu OUSD trên tổng số tiền đang có ở trong kho tiền. Sự khác biệt này là rất quan trọng và cần được lưu ý, đặc biệt đối với các ví và sàn giao dịch muốn tích hợp token OUSD. Giá trị này nên được tìm nạp trong thời gian thực thay vì được lưu vào bộ nhớ cache vì số OUSD thường xuyên biến động. + + + diff --git a/vi/smart-contracts/api/oracle.md b/vi/smart-contracts/api/oracle.md new file mode 100644 index 000000000..9a252e145 --- /dev/null +++ b/vi/smart-contracts/api/oracle.md @@ -0,0 +1,7 @@ +# Oracle + +{% hint style="info" %} +Tài liệu sẽ sớm ra mắt. +{% endhint %} + +OUSD sử dụng Chainlink [oracles](../../core-concepts/price-oracles.md) để bảo vệ giao thức khỏi các cuộc tấn công về giá. Tìm hiểu thêm về [lý do chúng tôi chọn Chainlink](https://blog.originprotocol.com/how-origin-uses-chainlink-oracles-to-secure-ousd-bff5601e840e) trên blog của Origin. diff --git a/vi/smart-contracts/api/ousd.md b/vi/smart-contracts/api/ousd.md new file mode 100644 index 000000000..8fe8b87d5 --- /dev/null +++ b/vi/smart-contracts/api/ousd.md @@ -0,0 +1,8 @@ +# OUSD + +{% hint style="info" %} +Tài liệu sẽ sớm ra mắt. +{% endhint %} + + + diff --git a/vi/smart-contracts/api/strategies.md b/vi/smart-contracts/api/strategies.md new file mode 100644 index 000000000..ba3a1e4c8 --- /dev/null +++ b/vi/smart-contracts/api/strategies.md @@ -0,0 +1,14 @@ +# Các chiến lược + +{% hint style="info" %} +Tài liệu sẽ sớm ra mắt. +{% endhint %} + +Các chiến lược mới có thể được thêm vào hoặc xóa bỏ bất kỳ lúc nào để đáp ứng với tình hình thị trường mới và đa dạng hóa rủi ro. + +Khi Ousd chuyển sang chế độ quản trị phi tập trung, cộng đồng sẽ là người đề xuất các chiến lược mới và bỏ phiếu về mức độ phù hợp của từng chiến lược trong pool. Chúng tôi tin rằng rằng hầu hết người nắm giữ OUSD luôn mong muốn có được cơ hội tiếp cận với nhiều chiến lược lợi nhuận cao đồng thời đảm bảo tính an toàn cho quỹ của mình. + + + + + diff --git a/vi/smart-contracts/api/timelock-1.md b/vi/smart-contracts/api/timelock-1.md new file mode 100644 index 000000000..88954aca7 --- /dev/null +++ b/vi/smart-contracts/api/timelock-1.md @@ -0,0 +1,22 @@ +# Timelock + +{% hint style="danger" %} +The timelock will be added soon after everything is verified as working. Until then, the contracts will be governed by Origin's 5 of 8 multi-sig. This allows for a faster response if any critical issues are discovered. +{% endhint %} + +The timelock contract enforces a 48 hour wait period before any changes to the OUSD contracts can be executed. The timelock can be called by our multi-sig and is the owner of our [ERC-20](../architecture.md), [Vault](vault.md), and [Strategies](strategies.md) contracts. Time-delaying admin actions gives users a chance to exit OUSD if its admins become malicious, are compromised, or make a change that the users do not like. + +{% hint style="info" %} +The timelock is a safety measure that gives OUSD holders 48 hours to withdraw their funds if they have objections to any proposed upgrades to the protocol. +{% endhint %} + +OUSD is using a slightly modified version of the [Compound Timelock](https://compound.finance/docs/governance) which has been [audited by OpenZeppelin](https://blog.openzeppelin.com/compound-finance-patch-audit/). The 3 notable differences are: + +1. OUSD will initially use a shorter wait period \(48 hours\) than Compound \(72 hours\) to allow for a faster response if any issues are discovered. +2. Once the 48 hours have passed, anyone is free to execute the call, not just the owner of the contract. +3. Deposits \(but not withdrawals or transfers\) can be immediately frozen without requiring the 48 waiting period. This is in case a major vulnerability is discovered. + + + + + diff --git a/vi/smart-contracts/api/timelock.md b/vi/smart-contracts/api/timelock.md new file mode 100644 index 000000000..cd9640673 --- /dev/null +++ b/vi/smart-contracts/api/timelock.md @@ -0,0 +1,15 @@ +# Khoá thời gian (timelock) + +The timelock contract enforces a 48 hour wait period before any changes to the OUSD contracts can be executed. The timelock can be called by our multi-sig and is the owner of our [ERC-20](../architecture.md), [Vault](vault.md), and [Strategies](strategies.md) contracts. Time-delaying admin actions gives users a chance to exit OUSD if its admins become malicious, are compromised, or make a change that the users do not like. + +{% hint style="info" %} +The timelock is a safety measure that gives OUSD holders 48 hours to withdraw their funds if they have objections to any proposed upgrades to the protocol. +{% endhint %} + +OUSD is using a slightly modified version of the [Compound Timelock](https://compound.finance/docs/governance) which has been [audited by OpenZeppelin](https://blog.openzeppelin.com/compound-finance-patch-audit/). The two notable differences are: + +1. OUSD will initially use a shorter wait period (48 hours) than Compound (72 hours) to allow for a faster response if any issues are discovered. +2. Some actions, such as reallocating funds between existing strategies and freezing deposits can be called immediately by a multisig wallet without requiring the 48 waiting period. Trường hợp này sẽ áp dụng khi có 1 lỗ hổng nghiêm trọng được phát hiện. + + + diff --git a/vi/smart-contracts/api/vault.md b/vi/smart-contracts/api/vault.md new file mode 100644 index 000000000..9f0ae1e82 --- /dev/null +++ b/vi/smart-contracts/api/vault.md @@ -0,0 +1,184 @@ +--- +description: >- + Vault (kho tiền) là điểm cốt lõi của giao thức. Kho tiền chịu trách nhiệm khai tác / hoàn trả OUSD, cân bằng lại quỹ giữa các chiến lược được hỗ trợ khác nhau và thanh lý token thưởng. +--- + +# Vault + +## Đơn vị + +Tất cả OUSD được chuyển hoặc trả về theo phương thức Vault đều sử dụng 18 chữ số thập phân. Ví dụ: 1 OUSD được hiển thị 1000000000000000000. + +Các đồng stablecoin khác nhau sẽ có số thập phân hiển thị khác nhau. DAI sử dụng 18 chữ số thập phân trong khi USDC và USDT chỉ sử dụng 6. + +The protocol was updated in November are [currently underway](https://github.com/OriginProtocol/origin-dollar/issues/590) to increase the resolution of rebasing calculations from 18 decimals to 27 decimals. Bản thân token OUSD sẽ vẫn giữ độ chính xác 18 số thập phân và số dư của người dùng sẽ không thay đổi. + +## Phương pháp‌ + +### mint() + +**`function mint(address _asset, uint256 _amount, uint256 _minimumOusdAmount)`**‌ + +Khai thác OUSD từ một khoản tiền gửi bằng `_mount` nhất định của stablecoin được chỉ định bởi tham số `_asset`. Người gọi lệnh nhận được một lượng OUSD nhất định tùy thuộc vào **tỷ giá hối đoái**. + +| Tên thông số | Loại | Mô tả | +| --------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | +| \_asset | địa chỉ | Address of the [supported](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/core-concepts/supported-assets) stablecoin | +| \_amount | uint256 | Số tiền gửi, được biểu thị bằng đơn vị thập phân | +| \_minimumOusdAmount | uint256 | Số OUSD tối thiểu mà người gọi lệnh chấp nhận. The call to mint() reverts if the minimum is not met. | + +### mintMultiple() + +**`function mintMultiple(address[] _assets, uint256[] _amounts, uint256 _minimumOusdAmount)`**‌ + +Mint OUSD để đổi lấy một khoản tiền gửi chứa nhiều stablecoin trong 1 lần gọi lệnh. Stablecoin được chỉ định bởi tham số mảng `_assets` và số tiền bằng tham số mảng `_amounts`. Người gọi lệnh nhận được một lượng OUSD nhất định tùy thuộc vào **tỷ giá hối đoái**. + +| Tên thông số | Loại | Mô tả | +| --------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| \_assets | address\[] | Addresses of the [supported](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/core-concepts/supported-assets) stablecoins | +| \_amounts | uint256\[] | Số tiền gửi, được biểu thị bằng đơn vị thập phân | +| \_minimumOusdAmount | uint256 | Số OUSD tối thiểu mà người gọi lệnh chấp nhận. The call to mint() reverts if the minimum is not met. | + +{% hint style="warning" %} +On redemptions, it is the protocol and not the user that decides which stablecoin(s) are returned to the user. This decision of which coin(s) to return is based on the internal ratios of the assets that are being held in the vault.‌ +{% endhint %} + +### redeem() + +**`function redeem(uint256 _amount)`**‌ + +OUSD được chỉ định bởi thông số `_amount` được quy đổi để đổi lấy một hoặc nhiều stablecoin được hỗ trợ. Số lượng stablecoin nhận được phụ thuộc vào **tỷ giá hối đoái**. + +| Tên thông số | Loại | Mô tả | +| ------------ | ------- | ------------------------------------ | +| \_amount | uint256 | lượng OUSD tính tới đơn vị thập phân | + +### redeemAll()‌ + +**`function redeemAll()`**‌ + +Tất cả OUSD mà người dùng sở hữu đều được đổi lấy một hoặc nhiều stablecoin được hỗ trợ. Số lượng stablecoin nhận được phụ thuộc vào **tỷ giá hối đoái**. + +### rebase() + +**`function rebase()`**‌ + +Cập nhật số dư cho tất cả người dùng dựa trên giá trị của tài sản hiện đang được lưu trữ trong vault. Trả về tổng giá trị của các tài sản đảm bảo và chiến lược cơ bản được đại diện bằng `uint256` loại.‌ + +### allocate() + +**`function allocate()`**‌ + +Moves the assets under management into their prescribed [Stategies](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/architecture/strategies) to maximize yield and diversify risk.‌ + +### totalValue() + +**`function totalValue()`**‌ + +Trả về tổng giá trị của các tài sản và chiến lược cơ bản. + +| `return` Tên | Loại | Mô tả | +| ------------ | ------- | --------------------------------------------------------- | +| giá trị | uint256 | trả về tổng giá trị của các tài sản và chiến lược cơ bản. | + +### checkBalance() + +**`function checkBalance(address _asset)`**‌ + +Trả về số dư của nội dung được chỉ định bởi tham số`_asset` được giữ trong Vault và tất cả các chiến lược được thể hiện bằng loại `uint256`. + +| Tên thông số | Loại | Mô tả | +| ------------ | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | +| \_asset | địa chỉ | Address of the [supported](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/core-concepts/supported-assets) stablecoin | + +### calculateRedeemOutputs() + +**`function calculateRedeemOutputs(uint256 _amount)`**‌ + +Tính toán kết hợp các stablecoin mà chức năng `redeem` sẽ trả lại khi người dùng muốn rút 1 số lượng OUSD nhất định được chỉ định bởi thông số `_amount`. Trả về tổng hợp giá trị các stablecoin. + +Để phân bổ các giá trị stablecoin cho đúng đơn vị tiền tệ stablecoin, lệnh gọi này nên được sử dụng cùng với hàm `getAllAssets` để trả về một mảng địa chỉ stablecoin. + +Chỉ số của một mảng được trả về bởi `calculateRedeemOutputs` tương ứng với địa chỉ stablecoin với chỉ số tương tự trong một mảng trả về bởi hàm `getAllAssets`. + +| Tên thông số | Loại | Mô tả | +| ------------ | ------- | ------------------------------------ | +| \_amount | uint256 | lượng OUSD tính tới đơn vị thập phân | + +| `return` Tên | Loại | Mô tả | +| ------------ | ----------- | ------------------------------------------------------- | +| đầu ra | uint256\[] | mảng số lượng tài sản stablecoin mà hàm `redeem` trả về | + +### getAssetCount() + +**`function getAssetCount()`**‌ + +Trả về số lượng tài sản stablecoin được hỗ trợ được biểu thị bằng loại `uint256`.‌ + +### getAllAssets() + +**`function getAllAssets()`**‌ + +Trả về địa chỉ tài sản được hỗ trợ được theo thứ tự được biểu thị bằng loại `uint256`.‌ + +### getStrategyCount()‌ + +**`function getStrategyCount()`**‌ + +Trả về số lượng chiến lược đang được sử dụng trong Vault biểu thị bằng loại `uint256`.‌ + +### getAPR() + +**`function getAPR()`**‌ + +Return the total annual percentage yield (APR) of the Vault and all Strategies represented by `uint256` type. Kết quả là số có 18 ký tự.‌ + +### isSupportedAsset() + +**`function isSupportedAsset(address _asset)`**‌ + +Trả về kết quả boolean true nếu nội dung được chỉ định bởi tham số `_asset` được Vault hỗ trợ. + +| Tên thông số | Loại | Mô tả | +| ------------ | ------- | ---------------------- | +| \_asset | địa chỉ | Địa chỉ của stablecoin | + +### priceUSDMint() + +**`function priceUSDMint(string symbol)`**‌‌ + +Trả về giá tỷ giá hối đoái của đồng stablecoin được chỉ định bởi các tham số `symbol` được sử dụng khi mint OUSD được đại diện bởi `uint256`. Kết quả là số có 18 ký tự. + +| Tên thông số | Loại | Mô tả | +| ------------ | ----- | ---------------------- | +| ký hiệu | chuỗi | Địa chỉ của stablecoin | + +### priceUSDRedeem() + +**`function priceUSDRedeem(string symbol)`**‌‌ + +Trả về tỷ giá hối đoái của stablecoin được chỉ định bởi các tham số `_asset` sử dụng khi đổi OUSD sang stablecoin khác được đại diện bằng loại `uint256`. Kết quả là số có 18 ký tự. + +| Tên thông số | Loại | Mô tả | +| ------------ | ----- | ---------------------- | +| ký hiệu | chuỗi | Địa chỉ của stablecoin | + +### priceAssetUSDMint()‌ + +**`function priceAssetUSDMint(address _asset)`**‌‌ + +Trả về tỷ giá hối đoái của stablecoin được chỉ định bởi các tham số `_asset` được sử dụng khi khai thác OUSD được đại diện bằng loại `uint256`. Kết quả là số có 18 ký tự. + +| Tên thông số | Loại | Mô tả | +| ------------ | ------- | ----------------------- | +| \_asset | địa chỉ | Địa chỉ của stablecoin‌ | + +### priceAssetUSDRedeem()‌ + +**`function priceAssetUSDRedeem(address _asset)`**‌‌‌ + +Trả về tỷ giá hối đoái của stablecoin được chỉ định bởi các tham số `_asset` sử dụng khi đổi OUSD sang stablecoin khác được đại diện bằng loại `uint256`. Kết quả là số có 18 ký tự. + +| Tên thông số | Loại | Mô tả | +| ------------ | ------- | ---------------------- | +| \_asset | địa chỉ | Địa chỉ của stablecoin | diff --git a/vi/smart-contracts/architecture.md b/vi/smart-contracts/architecture.md new file mode 100644 index 000000000..1f44c0cc0 --- /dev/null +++ b/vi/smart-contracts/architecture.md @@ -0,0 +1,18 @@ +# Cấu trúc + +![](../.gitbook/assets/ousd\_docs\_graphics\_3.png) + +OUSD được tạo thành từ một loạt các hợp đồng thông minh. Mỗi hợp đồng này được bao bọc trong một hợp đồng ủy quyền có thể được nâng cấp thông qua các giao thức quản trị. + +Xét về cơ chế bên trong, quyền sở hữu trong kho tiền được theo dõi bằng hệ thống tín dụng thể hiện phần trăm quyền sở hữu của kho tiền cho mỗi chủ sở hữu. Hợp đồng ERC-20 xử lý việc chuyển đổi sang USD khi dựa trên hoặc số tiền được chuyển giữa các ví. + +[Vault](api/vault.md) chịu trách nhiệm khai thác và đốt OUSD. Nó cũng chịu trách nhiệm phân bổ tài sản tới từng [Chiến lược](../core-concepts/supported-strategies/) được hỗ trợ. To optimize gas costs, the vault may maintain a buffer to allow most deposits and redemptions to occur without winding/unwinding assets from strategies. + +The Flipper is a smart contract for users to swap in and out of OUSD cheaply for any of DAI, USDC, or USDT at a fixed 1:1 rate. Hợp đồng này được sử dụng như cách thay thế để định tuyến các giao dịch của người dùng bắt nguồn từ ứng dụng web. It's important to note that this contract may be empty on one side (e.g., contain 0 OUSD balance), and thus sometimes provides limited swap routes. While limited in functionality, Flipper uses around 45% less gas than Uniswap v3 due to its simplicity. + +The Harvester contract collects reward tokens earned by the strategies, sells them, and sends the resulting stablecoins to the Dripper to be released to the vault. Anyone can call the harvest and earn 1% of the resulting USDT for doing so. This creates a self-incentivizing system that operates at a known fixed cost. See our [incentivized-harvesting-guide.md](../guides/incentivized-harvesting-guide.md "mention") for details. + +The Dripper contract buffers aproximately one week of reward token sales proceeds and makes it avaiable at a smooth rate to the vault. This keeps OUSD yield from being extremely spiky when harvests come in. The rate is recalculated at least once per day and is the rate that it would take to distribute the current dripper holdings out over a one week period. + + + diff --git a/vi/smart-contracts/erc-20.md b/vi/smart-contracts/erc-20.md new file mode 100644 index 000000000..c3a21d407 --- /dev/null +++ b/vi/smart-contracts/erc-20.md @@ -0,0 +1,12 @@ +# Architecture + +![](../.gitbook/assets/ousd_docs_graphics_3.png) + +OUSD is made up of a series of smart contracts. Each of these contracts is wrapped in a proxy contract that can be upgraded via the governance protocols. + +Internally, ownership in the pool is tracked using a credits system that represents the percent ownership of the pool for each holder. The [ERC-20](api/erc-20-1.md) contract handles the conversion to USD terms when viewing a balance or initiating a transfer between wallets. + +The [Vault](api/vault.md) is responsible for minting and burning OUSD. It also enforces the percentage of assets that are deployed to each of the supported [Strategies](../core-concepts/supported-strategies/). To optimize gas costs, the vault maintains a buffer to allow most deposits and redemptions to occur without winding/unwinding assets from strategies. + + + diff --git a/vi/smart-contracts/registry.md b/vi/smart-contracts/registry.md new file mode 100644 index 000000000..52c69fddb --- /dev/null +++ b/vi/smart-contracts/registry.md @@ -0,0 +1,156 @@ +# Địa chỉ các hợp đồng + +Đây là bản liệt kê đầy đủ các hợp đồng thông minh OUSD đã được triển khai cho mạng chính Ethereum. + +{% hint style="success" %} +The main ERC20 address for Origin Dollar (OUSD) is: \ +**0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +{% tabs %} +{% tab title="Core" %} +Well-known addresses (proxy wrappers): + + + +| Hợp đồng | Địa chỉ | ENS | +| -------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------- | +| OUSD | [0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86](https://etherscan.io/address/0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86) |

ousd.eth

origindollar.eth

| +| Vault | [0xE75D77B1865Ae93c7eaa3040B038D7aA7BC02F70](https://etherscan.io/address/0xe75d77b1865ae93c7eaa3040b038d7aa7bc02f70) | [originvault.eth](https://etherscan.io/address/originvault.eth) | + + + +Các hợp đồng thực hiện nội bộ. The Vault is split into VaultAdmin and VaultCore to work around the maximum contract size limit on Ethereum: + + + +| Hợp đồng | Địa chỉ | +| ---------- | --------------------------------------------------------------------------------------------------------------------- | +| OUSD | [0x33db8d52d65F75E4cdDA1b02463760c9561A2aa1](https://etherscan.io/address/0x33db8d52d65F75E4cdDA1b02463760c9561A2aa1) | +| VaultAdmin | [0x3EB68D8f4992A0e34aA58cc3dF86A40814078cF6](https://etherscan.io/address/0x3EB68D8f4992A0e34aA58cc3dF86A40814078cF6) | +| VaultCore | [0x226de75867B2f785BA19600e2a7e6eFccD57157B](https://etherscan.io/address/0x226de75867B2f785BA19600e2a7e6eFccD57157B) | +{% endtab %} + +{% tab title="Strategies" %} +Well-known addresses (proxy wrappers): + + + +| Chiến lược | Địa chỉ | Tự động phân bổ | +| ---------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------- | +| Aave | [0x5e3646A1Db86993f73E6b74A57D8640B69F7e259](https://etherscan.io/address/0x5e3646A1Db86993f73E6b74A57D8640B69F7e259) | Manual allocation | +| Compound | [0x9c459eeb3FA179a40329b81C1635525e9A0Ef094](https://etherscan.io/address/0x9c459eeb3FA179a40329b81C1635525e9A0Ef094) | 100% of USDC, USDT and DAI | +| Convex | [0xEA2Ef2e2E5A749D4A66b41Db9aD85a38Aa264cb3](https://etherscan.io/address/0xEA2Ef2e2E5A749D4A66b41Db9aD85a38Aa264cb3#code) | Phân bổ thủ công | + + + +Các hợp đồng thực hiện nội bộ: + + + +| Strategy | Address | +| -------- | -------------------------------------------------------------------------------------------------------------------------- | +| Aave | [0xA050eBE34Be464902F7E0F7F451f4B5253d57114](https://etherscan.io/address/0xA050eBE34Be464902F7E0F7F451f4B5253d57114) | +| Compound | [0x47f3eb71b5507df5ab6ac7f8660ef282ab0e560f](https://etherscan.io/address/0x47f3eb71b5507dF5Ab6aC7F8660Ef282Ab0E560f) | +| Convex | [0x08f3a0637851aA1B0E0750aA3d46E0E356f349aC](https://etherscan.io/address/0x08f3a0637851aa1b0e0750aa3d46e0e356f349ac#code) | + + + +Yield harvesting and collection: + + + +| | | +| --------- | -------------------------------------------------------------------------------------------------------------------------- | +| Contract | Address | +| Harvester | [0x21fb5812d70b3396880d30e90d9e5c1202266c89](https://etherscan.io/address/0x21fb5812d70b3396880d30e90d9e5c1202266c89#code) | +| Dripper | [0x80c898ae5e56f888365e235ceb8cea3eb726cb58](https://etherscan.io/address/0x80c898ae5e56f888365e235ceb8cea3eb726cb58#code) | +{% endtab %} + +{% tab title="Oracles" %} +The following Chainlink oracles are used to protect the vault in case a backing stablecoin loses value. They also offer slippage protection when harvesting rewards tokens or executing the OGN buyback. + + + +| Pair | Contract | +| ------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| [USDT/USD](https://data.chain.link/ethereum/mainnet/stablecoins/usdt-usd) | [0x3E7d1eAB13ad0104d2750B8863b489D65364e32D](https://etherscan.io/address/0x3E7d1eAB13ad0104d2750B8863b489D65364e32D) | +| [USDC/USD](https://data.chain.link/ethereum/mainnet/stablecoins/usdc-usd) | [0x8fFfFfd4AfB6115b954Bd326cbe7B4BA576818f6](https://etherscan.io/address/0x8fFfFfd4AfB6115b954Bd326cbe7B4BA576818f6) | +| [DAI/USD](https://data.chain.link/ethereum/mainnet/stablecoins/dai-usd) | [0xAed0c38402a5d19df6E4c03F4E2DceD6e29c1ee9](https://etherscan.io/address/0xAed0c38402a5d19df6E4c03F4E2DceD6e29c1ee9) | +| [COMP/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/comp-usd) | [0xdbd020caef83efd542f4de03e3cf0c28a4428bd5](https://etherscan.io/address/0xdbd020caef83efd542f4de03e3cf0c28a4428bd5) | +| [AAVE/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/aave-usd) | [0x547a514d5e3769680Ce22B2361c10Ea13619e8a9](https://etherscan.io/address/0x547a514d5e3769680Ce22B2361c10Ea13619e8a9) | +| [CRV/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/crv-usd) | [0xcd627aa160a6fa45eb793d19ef54f5062f20f33f](https://etherscan.io/address/0xcd627aa160a6fa45eb793d19ef54f5062f20f33f) | +| [CVX/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/cvx-usd) | [0xd962fC30A72A84cE50161031391756Bf2876Af5D](https://etherscan.io/address/0xd962fC30A72A84cE50161031391756Bf2876Af5D) | +| [OGN/ETH](https://data.chain.link/ethereum/mainnet/crypto-eth/ogn-eth) | [0x2c881b6f3f6b5ff6c975813f87a4dad0b241c15b](https://etherscan.io/address/0x2c881b6f3f6b5ff6c975813f87a4dad0b241c15b) | +{% endtab %} + +{% tab title="Governance" %} + + +| Contract | Address | ENS | +| ------------------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------- | +| 5 of 8 Multisig | [0xbe2AB3d3d8F6a32b96414ebbd865dBD276d3d899](https://etherscan.io/address/0xbe2AB3d3d8F6a32b96414ebbd865dBD276d3d899) | [originprotocol.eth](https://etherscan.io/address/originprotocol.eth) | +| 2 of 9 Multisig | [0xF14BBdf064E3F67f51cd9BD646aE3716aD938FDC](https://etherscan.io/address/0xF14BBdf064E3F67f51cd9BD646aE3716aD938FDC) | [originstrategist.eth](https://etherscan.io/address/originstrategist.eth) | +| Governor / Timelock | [0x72426BA137DEC62657306b12B1E869d43FeC6eC7](https://etherscan.io/address/0x72426BA137DEC62657306b12B1E869d43FeC6eC7) |

origingovernor.eth

origintimelock.eth

| +| OGN Buyback | [0x77314EB392b2be47C014cde0706908b3307Ad6a9](https://etherscan.io/address/0x77314EB392b2be47C014cde0706908b3307Ad6a9) | [originbuyback.eth](https://etherscan.io/address/originbuyback.eth) | +{% endtab %} + +{% tab title="Stablecoins" %} +| Contract | Address | +| ------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| [USDT](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | [0xdac17f958d2ee523a2206206994597c13d831ec7](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | +| [USDC](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | [0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | +| [DAI](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | [0x6b175474e89094c44da98b954eedeac495271d0f](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | +{% endtab %} + +{% tab title="Staking" %} +| Contract | Address | ENS | +| ----------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- | +| OGN Staking | [0x501804B374EF06fa9C427476147ac09F1551B9A0](https://etherscan.io/address/0x501804B374EF06fa9C427476147ac09F1551B9A0) | [originstaking.eth](https://etherscan.io/address/originstaking.eth) | + + + +Internal implementation contracts: + + + +| Contract | Address | +| ----------- | --------------------------------------------------------------------------------------------------------------------- | +| OGN Staking | [0x8cd68a1e0b79150455c5498882d5d5d3df2dde08](https://etherscan.io/address/0x8cd68a1e0b79150455c5498882d5d5d3df2dde08) | + + + +OUSD compensation contract ([details](https://medium.com/originprotocol/origin-delivers-on-compensation-promise-claim-your-ousd-and-ogn-now-a9fa9b840476)): + + + +| Contract | Address | +| ----------------- | --------------------------------------------------------------------------------------------------------------------- | +| OUSD Compensation | [0x9C94df9d594BA1eb94430C006c269C314B1A8281](https://etherscan.io/address/0x9C94df9d594BA1eb94430C006c269C314B1A8281) | +{% endtab %} + +{% tab title="Flipper" %} +Flipper is a gas-optimized way for users to swap in and out of OUSD at a fixed 1:1 rate with other stablecoins. This contract may become empty on one side (e.g., contain 0 OUSD balance), and thus sometimes provides limited swap routes. + + + +| Contract | Address | ENS | +| -------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- | +| Flipper | [0xcecaD69d7D4Ed6D52eFcFA028aF8732F27e08F70](https://etherscan.io/address/0xcecaD69d7D4Ed6D52eFcFA028aF8732F27e08F70) | [originflipper.eth](https://etherscan.io/address/originflipper.eth) | +{% endtab %} + +{% tab title="Wrapped" %} +Wrapped OUSD\ +\ **Well known proxy address:** - [0xD2af830E8CBdFed6CC11Bab697bB25496ed6FA62](https://etherscan.io/address/0xD2af830E8CBdFed6CC11Bab697bB25496ed6FA62) + +Internal implementation address - [0xbf3b9b141cb3629f5bb8f721cba9265c92494539](https://etherscan.io/address/0xbf3b9b141cb3629f5bb8f721cba9265c92494539) +{% endtab %} +{% endtabs %} + + + + + + + + diff --git a/zh/README.md b/zh/README.md new file mode 100644 index 000000000..7c08388ed --- /dev/null +++ b/zh/README.md @@ -0,0 +1,29 @@ +--- +description: The first stablecoin that earns a yield while it's still in your wallet +--- + +# Introduction + +## **A Better Form of Money** + +Origin Dollar (OUSD) is a new stablecoin that was initially launched in September 2020 on the Ethereum network. Its design is superior to existing stablecoins because OUSD captures competitive yields while being passively held in wallets. + +![](.gitbook/assets/origin-dollar-summary.jpeg) + +**Background** + +In 1999, Yu Pan, Origin’s R\&D engineer, and his fellow PayPal co-founders [conceived](https://www.cnbc.com/2017/08/14/david-sacks-cryptocurrency-interview.html) of creating “the new world currency”, complete with interest yielding strategies and debit cards without having to connect to traditional banking systems. Several pivots and an eBay acquisition later, PayPal dropped its ambitions in this area. + +Almost two decades later, Tether introduced the concept of a USD-denominated stablecoin in 2014. Since then, stablecoins have proven themselves as an ideal way of transferring value without exposing users to the price volatility of free-floating currencies. Today, more value is [transferred via Tether](https://www.bloomberg.com/news/articles/2019-10-01/tether-not-bitcoin-likely-the-world-s-most-used-cryptocurrency) than with Bitcoin. Meanwhile, Decentralized Finance (DeFi) has experienced an explosion of growth with [billions of dollars](https://defipulse.com) of capital now locked up in smart contracts that generate yields from lending and trading protocols. + +One of the problems with existing stablecoins is that users have to constantly choose between holding an easily spendable coin and earning yields by locking their tokens up in smart contracts. For example, users that lock up USDC in Aave cannot spend a portion of that USDC simultaneously. Expensive Ethereum gas fees serve as "switching costs" each time those users want to switch between spending mode and earning mode. + +To make matters worse, yields from lending and trading activities change rapidly. Sophisticated DeFi yield earners are familiar with constantly having to rebalance their portfolio of assets across many competing platforms. This is time-consuming and expensive as gas fees once again eat into yields. In addition, it is time-consuming to calculate real ROI as APYs are unstable and constantly fluctuating. There isn't an easy unit of account. As a result, while DeFi is growing extremely rapidly, it still makes it difficult for many cryptocurrency users to participate. + +With OUSD, there’s no need to unwind complicated positions when you want to spend your OUSD. You can transfer it freely without having to pay gas to unlock spendable capital. In addition, OUSD gives you access to some of the highest-earning opportunities across DeFi with none of the hassles. The OUSD smart contract will deploy your underlying capital to a diversified set of yield-earning strategies, rebalancing over time to achieve great yields while diversifying risk. Earnings automatically accrue in your wallet and compound continuously while you hold OUSD. Again, no staking or lockups are required. OUSD also serves as an ideal unit of account. DeFi investors no longer need complicated spreadsheets to calculate their earnings as they can easily see their constantly updated OUSD balances in real-time as their interest compounds automatically. OUSD is an ideal stablecoin for DeFi yield farmers and novice cryptocurrency users alike. + +Created by cryptocurrency and fintech veterans, the Origin Dollar is brought to you by the [team](https://www.originprotocol.com/team) at [Origin Protocol](https://www.originprotocol.com) that includes serial entrepreneurs, early cryptocurrency investors, early employees at YouTube, engineering managers at Google/Dropbox, and one of the Paypal co-founders, Yu Pan. + +For those interested in diving into the technical details of how it works, these docs are a great place to start. We encourage developers to audit and contribute to our [Github](http://www.github.com/OriginProtocol) (100% open-source). Our team hangs out in [Discord](https://www.originprotocol.com/discord) if you have questions or need help getting started. + +Welcome to the future of money. diff --git a/zh/SUMMARY.md b/zh/SUMMARY.md new file mode 100644 index 000000000..a389e6c18 --- /dev/null +++ b/zh/SUMMARY.md @@ -0,0 +1,64 @@ +# Table of contents + +* [Introducing OUSD](README.md) +* [How It Works](how-it-works.md) +* [Getting Started](getting-started.md) +* [Analytics Dashboard](analytics-dashboard.md) +* [FAQ](faq.md) + +## Core Concepts + +* [Elastic Supply](core-concepts/elastic-supply/README.md) + * [Rebasing & Smart Contracts](core-concepts/elastic-supply/rebasing-and-smart-contracts.md) +* [Yield Generation](core-concepts/yield-generation/README.md) + * [Lending](core-concepts/yield-generation/lending.md) + * [Market Making](core-concepts/yield-generation/market-making.md) + * [Rewards](core-concepts/yield-generation/rewards.md) +* [Wrapped OUSD](core-concepts/wrapped-ousd.md) +* [Supported Stablecoins](core-concepts/supported-stablecoins/README.md) + * [USDT](core-concepts/supported-stablecoins/usdt.md) + * [USDC](core-concepts/supported-stablecoins/usdc.md) + * [DAI](core-concepts/supported-stablecoins/dai.md) +* [Supported Strategies](core-concepts/supported-strategies/README.md) + * [Compound](core-concepts/supported-strategies/compound.md) + * [Aave](core-concepts/supported-strategies/aave.md) + * [Curve](core-concepts/supported-strategies/curve.md) + * [Convex](core-concepts/supported-strategies/convex.md) +* [Fund Management](core-concepts/fund-management.md) +* [Price Oracles](core-concepts/price-oracles.md) + +## Governance + +* [Principles](governance/principles.md) +* [Admin Privileges](governance/admin-privileges.md) +* [OGN Staking](governance/ogn-staking.md) +* [Contributing](governance/contributing.md) +* [Vote Delegation](governance/vote-delegation.md) + +## Smart Contracts + +* [Architecture](smart-contracts/architecture.md) +* [Registry](smart-contracts/registry.md) +* [API](smart-contracts/api/README.md) + * [Vault](smart-contracts/api/vault.md) + * [ERC-20](smart-contracts/api/erc-20-1.md) + * [Timelock](smart-contracts/api/timelock.md) + * [Strategies](smart-contracts/api/strategies.md) + +## Security & Risks + +* [Risks](security-and-risks/risks.md) +* [Audits](security-and-risks/audits.md) +* [Insurance](security-and-risks/insurance.md) +* [Bug Bounties](security-and-risks/bug-bounties.md) + +## Guides + +* [Integration Guide For Exchanges](guides/integration-guide-for-exchanges.md) +* [Incentivized Harvesting Guide](guides/incentivized-harvesting-guide.md) + +## Links + +* [Github](https://www.github.com/originprotocol/origin-dollar) +* [Discord](https://www.originprotocol.com/discord) +* [originprotocol.com](https://www.originprotocol.com) diff --git a/zh/analytics-dashboard.md b/zh/analytics-dashboard.md new file mode 100644 index 000000000..9c3e6a577 --- /dev/null +++ b/zh/analytics-dashboard.md @@ -0,0 +1,31 @@ +# Analytics Dashboard + +{% hint style="info" %} +Visit [analytics.ousd.com](https://analytics.ousd.com) to see how funds are allocated, view historical performance data, and track your personal gains. +{% endhint %} + +The [APY dashboard](https://analytics.ousd.com/apy) is primarily intended for consumption by our engineering team, but we went ahead and deployed it since our ethos is "public by default" and everything that we do is [open-source](http://github.com/OriginProtocol). Unfortunately, that often means erring on the side of transparency and not necessarily the side of taking the time to explain things clearly. + +Before diving into the yield calculation, it's important to understand how OUSD works both in terms of [yield generation](https://docs.ousd.com/core-concepts/yield-generation) and [rebasing](https://docs.ousd.com/core-concepts/elastic-supply). You can read all about that in these [docs](https://docs.ousd.com), including [the part about smart contracts being excluded from yield](https://docs.ousd.com/core-concepts/elastic-supply/rebasing-and-smart-contracts). + +To summarize how APY is calculated, it's the annualized rate of change in OUSD's internal accounting of users' balances between two points in time. To understand that, let's break down the columns in the historical APY table (in reverse order). + +**Ratio** + +There are two types of OUSD balances: rebasing (most accounts) and non-rebasing (smart contracts that have not opted in). The OUSD token contract maintains a separate internal accounting for each type of balance using what it calls "credits". The ratio shown here is the rebasing supply of OUSD divided by the rebasing credits, which gives us the exchange rate between the two. + +**Credits** + +Some smart contracts holding OUSD have unique credit balances because their rebasing status has changed at some point in the past (by opting in or out). Here we show the sum of all rebasing credits and non-rebasing credits. When multiplied by the ratio, it gives the difference between backing supply and non-rebasing supply. + +**Non-rebasing** + +This is the portion of supply held in other smart contracts that have not opted in to rebasing. When added to (credits \* ratio), this equals backing supply. Note also that the **%** column shows the percentage of OUSD that is non-rebasing. + +**Boost** + +The APY is effectively "boosted" for rebasing accounts thanks to the fact that some OUSD is non-rebasing. Think about all of the stablecoins that were used as collateral to mint the non-rebasing OUSD. Those stablecoins are still earning through our yield farming strategies, but the gains are accruing only to the rebasing accounts. The result is that the effective APY is higher than it would be without this mechanism. The boost is the measure of this difference. If boost is 100%, then regular OUSD holders are enjoying double the APY that they otherwise would. + +**APR/APY calculation** + +Bringing this full circle, we currently measure yield by measuring the change in the [rebasing credits per token](https://github.com/OriginProtocol/origin-dollar/blob/master/contracts/contracts/token/OUSD.sol#L45) between two points in time. But there are a few other considerations to note. First, we have to make an assumption about how many Ethereum blocks are mined on an average day. We use a [fixed 6,500](https://github.com/OriginProtocol/ousd-analytics/blob/master/eagleproject/core/views.py#L43), but the actual number of blocks per day is variable. Second, we need a reasonable time horizon to measure. We focus on 30 days, which has proven to be a relatively consistent window of time during which a complete sample of yield-generating activities has occurred. Third, we convert APR into APY by assuming [constant daily compounding](https://github.com/OriginProtocol/ousd-analytics/blob/master/eagleproject/core/views.py#L449-L451). In other words, yield is constantly being reinvested into the same strategies. Finally, there is one notable drawback to using the rebase ratio to measure yield. Since rebase events currently occur sporadically (and not very frequently in a world of high gas prices), the APY won't reflect earnings that have not yet been translated to account balances. For example, there could be an interest rate spike in Compound or a volume spike in the Curve 3pool strategy, which would cause OUSD to earn more than it does on an average day. Until [the rebase method](https://github.com/OriginProtocol/origin-dollar/blob/master/contracts/contracts/vault/VaultCore.sol#L365-L370) gets called, the APY will underreport these earnings. In fact, anyone who sells OUSD during that time would be missing out on the "[next rebase](https://analytics.ousd.com)". The good news is that you should be able to observe the change in your balance over one week and it (annualized) should approximately equal our advertised APY. diff --git a/zh/architecture/erc-20-1.md b/zh/architecture/erc-20-1.md new file mode 100644 index 000000000..44f71c2d2 --- /dev/null +++ b/zh/architecture/erc-20-1.md @@ -0,0 +1,19 @@ +# ERC-20 + +{% hint style="success" %} +Origin Dollar(OUSD)的主要 ERC20 地址為: +**0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +OUSD 是符合 ERC-20 的代幣,但具有一個很重要的新屬性。 + +{% hint style="warning" %} +希望集成 OUSD 的錢包和交易所不應該為 OUSD 緩存代幣餘額,因為隨著代幣持有者的收益的增加,該值會經常變化。 +{% endhint %} + +OUSD 與普通 ERC-20 代幣的最大區別在於 OUSD 的`balanceOf()`函數將根據池的總值乘以持有者在池中的股份的方式返回可變金額。 了解這個差異至關重要,特別是對於希望集成 OUSD 代幣的錢包和交易所而言。 由於 OUSD 經常重新平衡(rebase),因此應實時獲取此值,而不要進行緩存。 + + + + + diff --git a/zh/architecture/erc-20.md b/zh/architecture/erc-20.md new file mode 100644 index 000000000..b82bd4a6d --- /dev/null +++ b/zh/architecture/erc-20.md @@ -0,0 +1,12 @@ +# 概觀 + +![](../.gitbook/assets/ousd_docs_graphics_3.png) + +OUSD 由一系列智能合約組成。 每一個合約都被包在可以通過治理協議升級的代理合約中。 + +在內部,每個持有者池中的所有權百分比是用積分系統來跟踪。 在查看餘額或啟動錢包之間的轉賬時由 ERC-20 合約處理轉換為美元的條款。 + +保險庫(The Vault)負責鑄造(minting)和燃燒(burning)OUSD。 它也會強制部署到每個受支持的 [策略](../core-concepts/supported-strategies/)的資產百分比。 為了優化gas成本,保險庫保留了一個緩衝區以允許大多數存款和贖回都可以在無需從策略中存入/清算資產的情況下發生。 + + + diff --git a/zh/architecture/strategies.md b/zh/architecture/strategies.md new file mode 100644 index 000000000..28d29573d --- /dev/null +++ b/zh/architecture/strategies.md @@ -0,0 +1,14 @@ +# 策略 + +新策略可以隨時被添加或刪除,以應對新的市場現實並分散風險。 + +剛推出時,OUSD 將利用單一策略的優勢,並將已存入的資金部署到 Compound。 緊接著,我們打算部署許多其他策略。 + +我們一旦遷移到去中心化治理方式,我們的目的是讓社區提出新的策略,並對池中每種策略的適當權重進行投票。 我們預計大多數 OUSD 持有者將珍視有較高收益率機會,同時對部分資金保持更為保守的頭寸。 + + + + + + + diff --git a/zh/architecture/timelock.md b/zh/architecture/timelock.md new file mode 100644 index 000000000..08858f0a5 --- /dev/null +++ b/zh/architecture/timelock.md @@ -0,0 +1,22 @@ +# 時間鎖 + +{% hint style="danger" %} +確保一切正常運作後,時間鎖將很快的被添加。 在此之前,所有合約將由 Origin 的 5 of 8 多簽錢包管理。 如果發現任何關鍵問題的話,這允許問題的迅速處理。 +{% endhint %} + +在執行 OUSD 合同的任何更改之前,時間鎖合約會強制執行 48 小時的等待期。 該時間鎖可通過我們的多簽被調用,並且是我們的 [ERC-20](erc-20.md)、 [保險庫](vault.md) ,和 [策略](strategies.md) 合約的主人。 如果 OUSD 的管理員變得惡意,受到威脅或做出用戶不喜歡的更改,則延時的管理員操作將給用戶機會退出 OUSD。 + +{% hint style="info" %} +時間鎖是一項安全措施,如果 OUSD 持有者反對協議的任何擬議升級,則可以使用這 48 小時的時間提取資金。 +{% endhint %} + +OUSD 使用的時間鎖是 [Composite Timelock](https://compound.finance/docs/governance) 的略微修改版本,該版本已[由OpenZeppelin進行了審核](https://blog.openzeppelin.com/compound-finance-patch-audit/)。 3個顯著差異是: + +1. OUSD 最初將使用比 Compound(72小時)更短的等待時間(48小時),以便在發現任何問題時更快地做出響應。 +2. 48 小時過後,任何人都可以自由執行更改,而不僅僅是合約的主人。 +3. 存款(不包括取款或轉賬)可以立即被凍結,而無需等待 48 小時的等待時間。 這是在發現關鍵漏洞的情況下。 + + + + + diff --git a/zh/architecture/vault.md b/zh/architecture/vault.md new file mode 100644 index 000000000..a186313e1 --- /dev/null +++ b/zh/architecture/vault.md @@ -0,0 +1,17 @@ +# 保險庫 (Vault) + +保險庫是協議的核心。 保險庫負責鑄造/兌現 OUSD 代幣,在各種支持的策略之間重新平衡資金以及清算獎勵代幣。 + +保險庫最重要的可公開調用的功能是: + +* `mint()`允許將一種受支持的穩定幣轉換為 OUSD +* `mintMultiple()`允許在一次調用中將多種受支持的穩定幣轉同時換為 OUSD +* `redeem()`允許將指定數量的 OUSD 兌換成其他受支持的穩定幣。 +* `redeemAll()`允許一個用戶將 OUSD 的全部餘額兌換成其他受支持的穩定幣。 這特別有用,因為隨著收益的增加,用戶的餘額會不斷增長。 +* `rebase()`根據當前存儲在池中的資產總值更新所有用戶的餘額。 +* `allocate()`將被管理的資產轉移到其規定的 [策略](strategies.md) 以將收益最大化和分散風險。 + +兌現時,是由協議(而不是用戶)決定將哪個穩定幣退還給用戶。 決定退還哪個硬幣是基於池中所持有資產的比率。 + + + diff --git a/zh/core-concepts/elastic-supply.md b/zh/core-concepts/elastic-supply.md new file mode 100644 index 000000000..2cf0fd8ae --- /dev/null +++ b/zh/core-concepts/elastic-supply.md @@ -0,0 +1,18 @@ +# Elastic Supply + +**Elastic Supply. Stable Price.** + +OUSD works differently than most tokens. Instead of the price increasing as the value of the assets under management increase \(as with Compound cTokens or Yearn yTokens\), the value of one OUSD remains constant at approximately $1. Instead, the contracts constantly adjust the monetary supply and automatically updates the balance in every token holder’s wallet to reflect the yield that has been earned by the protocol. + +{% hint style="info" %} +Think of it as interest accruing in your bank account. The unit of account and value for the US dollar doesn’t change. You just get more US dollars over time as you earn interest. +{% endhint %} + +![](../.gitbook/assets/ousd_docs_graphics_4.png) + +This mechanism was inspired by the novel approach taken by [Ampleforth](https://www.ampleforth.org/), but there are some key differences that are worth highlighting: + +1. OUSD is 100% backed by other stablecoins and will not have the same challenge maintaining the peg to the dollar. Given the ease of minting and redeeming OUSD, we can count on arbitrageurs to ensure the peg is maintained. +2. OUSD rebasing should only increase supply since the amount of OUSD minted is tied to the realized gains earned by the underlying strategies. Your principal is protected as long as nothing goes wrong with the underlying lending/AMM and stablecoin protocols. Any decrease in your balance would be an indication of trouble in the system. +3. Unlike Ampleforth, which rebases once a day, the monetary supply of OUSD is constantly being updated in real-time as yield is generated. + diff --git a/zh/core-concepts/elastic-supply/README.md b/zh/core-concepts/elastic-supply/README.md new file mode 100644 index 000000000..a681d0615 --- /dev/null +++ b/zh/core-concepts/elastic-supply/README.md @@ -0,0 +1,21 @@ +# Elastic Supply + +**Elastic Supply. Stable Price.** + +OUSD works differently than most tokens. Instead of the price increasing as the value of the assets under management increase (as with Compound cTokens or Yearn yTokens), the value of one OUSD remains constant at approximately $1. Instead, the contracts constantly adjust the monetary supply and automatically updates the balance in every token holder’s wallet to reflect the yield that has been earned by the protocol. + +{% hint style="info" %} +Think of it as interest accruing in your bank account. The unit of account and value for the US dollar doesn’t change. You just get more US dollars over time as you earn interest. +{% endhint %} + +![](../../.gitbook/assets/ousd\_docs\_graphics\_4.png) + +This mechanism was inspired by the novel approach taken by [Ampleforth](https://www.ampleforth.org), but there are some key differences that are worth highlighting: + +1. OUSD is 100% backed by other stablecoins and does not have the same challenge maintaining the peg to the dollar. Given the ease of minting and redeeming OUSD, we can count on arbitrageurs to ensure the peg is maintained. +2. OUSD rebasing will only increase supply since the amount of OUSD minted is tied to the realized gains earned by the underlying strategies. Your principal is protected as long as nothing goes wrong with the underlying lending/AMM and stablecoin protocols. Your OUSD balance will never decrease, but the value could drop if there's a failure in the underlying systems. +3. Unlike Ampleforth, which only rebases once a day, the monetary supply of OUSD is constantly being updated in real-time as yield is generated. Rebases are triggered regularly as users interact with the OUSD contracts. Chainlink Keepers ensure at least one rebase occurs every day. + +**Manually triggering a rebase** + +Anyone can trigger a rebase at any time by [calling the rebase function on the vault](https://etherscan.io/address/originvault.eth#writeProxyContract). You can do this on Etherscan by connecting a web3 wallet. diff --git a/zh/core-concepts/elastic-supply/rebasing-and-smart-contracts.md b/zh/core-concepts/elastic-supply/rebasing-and-smart-contracts.md new file mode 100644 index 000000000..cdebbc4bf --- /dev/null +++ b/zh/core-concepts/elastic-supply/rebasing-and-smart-contracts.md @@ -0,0 +1,22 @@ +# Rebasing & Smart Contracts + +If you are using a multi-sig wallet or another smart contract that wishes to participate in the rebasing aspect of OUSD you must call OUSD’s`rebaseOptIn()` function. This only applies to smart contracts as standard EOA wallets are enrolled automatically. + +{% hint style="info" %} +Multi-sig wallets or other smart contracts must call`rebaseOptIn()`to earn yield. +{% endhint %} + +By default, OUSD that is held on smart contracts will not participate in the rebasing nature of the token and will forfeit any yield unless the smart contract explicitly opts-in. This increases the composability of OUSD within DeFi as many protocols weren't designed with the expectation that balances might change. To other DeFi protocols, OUSD works just like any other normal, well-behaved ERC-20 until you ask it to change. This is a particularly useful attribute for automated market makers (AMM’s) like Uniswap which break when the number of tokens they are holding changes unexpectedly. + +![The Gnosis Safe OUSD app will prompt you to opt in to yield](../../.gitbook/assets/ousd-app-in-gnosis-safe.png) + +Smart contracts must explicitly opt-in to receiving yield via the rebasing mechanism. This fixes the issue with the expanding supply on AMM’s while still allowing multi-sig wallets and other smart contracts the opportunity to still participate and earn yield. + +{% hint style="warning" %} +If you are deploying a contract and intend to call`rebaseOptIn()`to earn yield you cannot call it from the contract's constructor. The contract must be deployed before it can be called. +{% endhint %} + +[Gnosis Safe](https://gnosis-safe.io) users are encouraged to use the Origin Dollar app which will prompt you to opt in to receiving yield. If you are using the "Old" [Gnosis Wallet](https://github.com/gnosis/MultiSigWallet) or another contract-based wallet, you will need the [proxy contract address for OUSD](../../smart-contracts/registry.md) and the corresponding [ABI](https://api.etherscan.io/api?module=contract\&action=getabi\&address=0x1ae95dd4eeae7ed03da79856c2d44ffa3318f805). Once you add those, you will be able to call the `rebaseOptIn()` function to opt into receiving yield via rebasing or`rebaseOptOut()` to turn it off again. + + + diff --git a/zh/core-concepts/fund-management.md b/zh/core-concepts/fund-management.md new file mode 100644 index 000000000..d6b1920c5 --- /dev/null +++ b/zh/core-concepts/fund-management.md @@ -0,0 +1,23 @@ +# Fund Management + +The OUSD smart contract aggregates all users' stablecoin deposits into a single pool of assets that are then deployed into earning strategies based on preset allocations. In contrast to Yearn Vaults, TokenSets, or Zapper opportunities, users do not select individual strategies. All deposited stablecoins and consequently all OUSD tokens are fungible. + +The weighting of how assets are distributed between the supported strategies is decided by OGN holders using weekly snapshot voting. These votes happen offchain and do not cost any gas. The results of the weekly poll will then be executed onchain by members of the [Strategist multi-sig](https://etherscan.io/address/0xF14BBdf064E3F67f51cd9BD646aE3716aD938FDC) (known as "Strategists"). + +Ultimately, we believe it should be up to the community to decide what the right balance of risk/reward is appropriate for OUSD. We encourage the community to favor high-yield strategies while still maintaining diversification across multiple strategies to remove single points of failure and minimize risk. + +**How strategy allocation voting works:** + +* New snapshot proposals will open for voting on the [OGN governance portal ](http://vote.originprotocol.com)at midnight Tuesday UTC (7pm eastern Monday). The poll will be open for 48 hours, ending at midnight Thursday UTC (7pm eastern on Wednesday). +* During this time, those interested can discuss allocation changes in a thread in the #governance channel on [Origin's Discord](https://www.originprotocol.com/discord). +* Each proposal will use "weighted voting", with options for each coin/strategy combination and an option to keep the existing allocation unchanged. OGN holders can spread their votes among different listed strategies or the existing allocation. +* After the voting time has ended, Strategists will submit, verify, and execute transactions to change OUSD to the determined allocation percentages for the week. If more than 50% of the weighted votes are cast for the existing allocation, Strategists will take no action. +* Allocations will be executed for strategies that use all stablecoins first (like Convex), then each stablecoin will be allocated to the remaining strategies according to the ratio of votes for that stablecoin / strategy combination. +* If the Strategists deem any of the allocations unsafe to the funds behind OUSD, they may choose to not execute those. In addition, Strategists may decline to execute minor adjustments where the gas costs would be greater than the expected benefits. +* Like all governance proposals, Strategist allocations must meet the minimum quorum requirements (currently 1M OGN) to be considered valid. +* From a security standpoint, it is important to know that while Strategists have the ability to move funds between approved strategies or instantly pause rebasing in the case of an emergency, Strategists do not have the power to add new strategies or withdraw funds without going through the timelock. Community members can use the Strategy Validator tools to more easily [create](https://analytics.ousd.com/strategist/creator) and [decode](https://analytics.ousd.com/strategist) which actions are being performed by the Strategists. +* When voting, please remember it is inefficient to move in and out of the Convex strategy frequently and some funds need to always remain outside of Convex in order to accommodate withdrawals. + + + +**** diff --git a/zh/core-concepts/fund-management/README.md b/zh/core-concepts/fund-management/README.md new file mode 100644 index 000000000..dc54ffd99 --- /dev/null +++ b/zh/core-concepts/fund-management/README.md @@ -0,0 +1,6 @@ +# 資金管理 + +OUSD 智能合約將所有用戶的穩定幣存款匯總到一個可投資資產池中。 資金將在任何給定的時間被分配到一個或多個 [收益策略](earning-strategies.md) 。 保管庫傾向於採用高收益策略,但也希望在多種策略之間保持多樣化。 多样化消除了单点失败并降低了风险。 + +與 Ye​​arn Vaults,TokenSets 或Zapper 相反,用戶不選擇單個策略。 所有存入的穩定幣以及所有 OUSD 代幣都是可互換的。 + diff --git a/zh/core-concepts/fund-management/diversification.md b/zh/core-concepts/fund-management/diversification.md new file mode 100644 index 000000000..ae30a8c17 --- /dev/null +++ b/zh/core-concepts/fund-management/diversification.md @@ -0,0 +1,8 @@ +# 多樣化 + +OUSD 保險庫智能合約的初始版本為每個有效策略賦予介於0%和100%之間的簡單權重,以執行簡單的資產分配。 在短期內這些權重會經常通過 Origin 發布的更新被調整,而長期會由去中心化的治理來進行調整。 + +使用多個底層 DeFi [平台](../supported-strategies/) 以多元化將降低智能合約和其他系統性風險。 智能合約將計算當前和預期的 APY,以為 OUSD 持有者提供有競爭力的回報。 隨著時間的推移,保險庫合同將升級為可以在多個策略之間進行智能和自動地切換,而無需任何手動干預。 例如,保險庫會自動在各種借貸策略之間轉移資金,以優化收益。 + +但是,我們還是希望通過治理投票來做出一些類似風險參數或是否將某些策略包括在自動決策引擎中的決策。 + diff --git a/zh/core-concepts/fund-management/earning-strategies.md b/zh/core-concepts/fund-management/earning-strategies.md new file mode 100644 index 000000000..babbff302 --- /dev/null +++ b/zh/core-concepts/fund-management/earning-strategies.md @@ -0,0 +1,6 @@ +# 收益策略 + +收益策略將資金部署到各種DeFi平台。 保險庫將決定哪些策略處於有效狀態,以及它們將收到多少已部署資金。 + +此外,策略會隨著時間的推移而升級。 例如,在剛推出時,將有一個初始的 [Compound 策略](../supported-strategies/compound.md)。 以後,這可能會被 v2 或 v3 版本的 Compound 策略所取代。 + diff --git a/zh/core-concepts/price-oracles.md b/zh/core-concepts/price-oracles.md new file mode 100644 index 000000000..1b08c685f --- /dev/null +++ b/zh/core-concepts/price-oracles.md @@ -0,0 +1,38 @@ +- - - +description: OUSD uses Chainlink to secure the protocol from pricing attacks +- - - + +# Price Oracles + +### Stablecoin Pricing + +OUSD is designed to stay pegged at 1 USD and be 1:1 backed with its underlying stablecoins. This is trickier than it sounds because these underlying stablecoins are constantly deviating from their own desired 1 USD pegs. While the majority of daily fluctuations are minor, there have been major swings in price that have occurred in the past and are likely to occur again in the future. + +| Coin | **Low** | **High** | **Delta** | **Source** | +| ---- | ---------------------------------------------------- | ---------------------------------------------------- | --------- | --------------------------------------------------------------------------- | +| USDC |

$0.929222

Mar 13, 2020

|

$1.11

Oct 15, 2018

| $0.180778 | [CoinMarketCap](https://coinmarketcap.com/currencies/usd-coin/) | +| USDC |

$0.924188

Aug 02, 2020

|

$1.17

May 08, 2019

| $0.245812 | [CoinGecko](https://www.coingecko.com/en/coins/usd-coin) | +| DAI |

$0.945505

May 10, 2020

|

$1.11

Mar 13, 2020

| $0.164495 | [CoinMarketCap](https://coinmarketcap.com/currencies/multi-collateral-dai/) | +| DAI |

$0.903243

Nov 25, 2019

|

$1.22

Mar 13, 2020

| $0.316757 | [CoinGecko](https://www.coingecko.com/en/coins/dai) | +| USDT |

$0.849809

Feb 02, 2017

|

$1.21

May 27, 2017

| $0.360191 | [CoinGecko](https://www.coingecko.com/en/coins/tether) | +| USDT |

$0.572521

Mar 02, 2015

|

$1.32

Jul 24, 2018

| $0.747479 | [CoinMarketCap](https://coinmarketcap.com/currencies/tether/) | + +The rebasing function treats 1 stablecoin as 1 OUSD for simplicity and to protect OUSD balances from being affected by the daily fluctuations in the price of the underlying stablecoins. Since the rebase function only counts coins, OUSD balances should only increase. + +In order to mint and redeem the appropriate number of OUSD on entry and exit, the smart contracts need to accurately price the USDT, USDC, and DAI that is entering and exiting the system. + +As an added precaution, OUSD never pays more than a dollar for a stablecoin, nor sells a stablecoin for less than a dollar. Oracles giving wrong prices will not result in a reduction of the number of stablecoins held. Gains that are collected as a result of stablecoins slipping from their peg are redistributed to the remaining holders of OUSD in the form of additional yield. + +As a decentralized protocol, OUSD must rely on non-centralized sources for these prices. OUSD uses Chainlink oracles for pricing data for DAI, USDC and USDT. You can read more about [our decision to work with Chainlink](https://blog.originprotocol.com/how-origin-uses-chainlink-oracles-to-secure-ousd-bff5601e840e) on our blog. Here are the Chainlink oracles we are currently using for stablecoin pricing: + +{% embed url="https://data.chain.link/usdt-usd" %} + +{% embed url="https://data.chain.link/usdc-usd" %} + +{% embed url="https://data.chain.link/dai-usd" %} + +### Reward Token Oracles & Front Running Protection + +When reward tokens from OUSD strategies are sold for additional yield, Chainlink oracles are checked to ensure that the sale price slippage has not exceeded normal bounds. These oracles are listed on our [registry](../smart-contracts/registry.md) page under the "Oracles" tab. + +The same is also true for OGN buybacks from OUSD yield.\ \ When minting and redeeming OUSD, a miniumun required amount can be passed into the contract call to ensure that the entire transaction fails if not enough OUSD or stablecoins would be returned to the user due to changing prices. diff --git a/zh/core-concepts/price-oracles/README.md b/zh/core-concepts/price-oracles/README.md new file mode 100644 index 000000000..58ed68ed4 --- /dev/null +++ b/zh/core-concepts/price-oracles/README.md @@ -0,0 +1,126 @@ +# Price Oracles + +OUSD is designed to stay pegged at 1 USD and be 1:1 backed with its underlying stablecoins. This is trickier than it sounds because these underlying stablecoins are constantly deviating from their own desired 1 USD pegs. While the majority of daily fluctuations are minor, there have been major swings in price that have occurred in the past and are likely to occur again in the future. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CoinLow + High + Delta + Source +
USDC +

$0.929222

+

Mar 13, 2020

+
+

$1.11

+

Oct 15, 2018

+
$0.180778CoinMarketCap +
USDC +

$0.924188

+

Aug 02, 2020

+
+

$1.17

+

May 08, 2019

+
$0.245812CoinGecko +
DAI +

$0.945505

+

May 10, 2020

+
+

$1.11

+

Mar 13, 2020

+
$0.164495CoinMarketCap +
DAI +

$0.903243

+

Nov 25, 2019

+
+

$1.22

+

Mar 13, 2020

+
$0.316757CoinGecko +
USDT +

$0.849809

+

Feb 02, 2017

+
+

$1.21

+

May 27, 2017

+
$0.360191CoinGecko +
USDT +

$0.572521

+

Mar 02, 2015

+
+

$1.32

+

Jul 24, 2018

+
$0.747479CoinMarketCap +
+ +The rebasing function treats 1 stablecoin as 1 OUSD for simplicity and to protect OUSD balances from being affected by the daily fluctuations in the price of the underlying stablecoins. Since the rebase function only counts coins, OUSD balances should only increase. + +In order to mint and redeem the appropriate number of OUSD on entry and exit, the smart contracts need to accurately price the USDT, USDC, and DAI that is entering and exiting the system. As a decentralized protocol, OUSD must rely on non-centralized sources for these prices. + +{% hint style="info" %} +OUSD fetches the price from multiple on-chain oracles and uses the exchange rate that is most advantageous for the vault when minting or redeeming. +{% endhint %} + +In order to prevent malicious attacks and to encourage long-term investors over short-term speculators, the OUSD contract compares price feeds from multiple sources and will use whichever exchange rate benefits the entire vault over the individual. This mechanism protects the vault funds from arbitrageurs and prevents any individual from being able to take advantage of any temporary inefficiencies caused by mispriced oracles to deplete the shared pool of assets. + +This protects the funds in the vault while rewarding long-term holders. Since the safest price depends on the direction of the trade, the Origin oracle exposes both a `priceUSDMint()` and a `priceUSDRedeem()`. + +OUSD uses Chainlink as oracle for DAI, USDC and USDT. + +{% embed url="https://feeds.chain.link/eth-usd" caption="" %} + +The specific smart contract address for each oracle being used are listed on our [registry](../../smart-contracts/registry.md) page. + +It is possible that additional oracles will be added to the protocol over time. Support may also be removed if any of these oracles become unreliable. + diff --git a/zh/core-concepts/price-oracles/untitled.md b/zh/core-concepts/price-oracles/untitled.md new file mode 100644 index 000000000..7a413944b --- /dev/null +++ b/zh/core-concepts/price-oracles/untitled.md @@ -0,0 +1,25 @@ +# Untitled + +## Getting Super Powers + +Becoming a super hero is a fairly straight forward process: + +``` +$ give me super-powers +``` + +{% hint style="info" %} + Super-powers are granted randomly so please submit an issue if you're not happy with yours. +{% endhint %} + +Once you're strong enough, save the world: + +{% code title="hello.sh" %} +```bash +# Ain't no code for that yet, sorry +echo 'You got to trust me on this, I saved the world' +``` +{% endcode %} + + + diff --git a/zh/core-concepts/supported-assets/README.md b/zh/core-concepts/supported-assets/README.md new file mode 100644 index 000000000..434cc4bef --- /dev/null +++ b/zh/core-concepts/supported-assets/README.md @@ -0,0 +1,20 @@ +# 支持的稳定币 + +**支持的稳定币** + +必须了解的是,OUSD 仅与支持它的稳定币一样强大。 底层资产的任何损失都将造成 OUSD 相似的损失。 + +目前,OUSD 支持以下稳定币: + +{% page-ref page="usdt.md" %} + +{% page-ref page="usdc.md" %} + +{% page-ref page="dai.md" %} + +虽然这些稳定币都不是完美的,但我们还是因为它们的广泛使用而选择它们。 尽管这些稳定币多次失去与美元的挂钩,但它们最终还是恢复到 1 美元的目标,表现出了韧性。 + +值得注意的是,所有这些稳定币都会带来重要的交易对手风险。 尤其是 Tether 遇到了许多银行业麻烦和监管挑战。 此外,USDT 和 USDC 都有后门,可以让发行者有权冻结持有者钱包中的资金。 尽管 DAI 没有任何直接后门程序,但由于 USDC 可以作为铸造 DAI 的抵押品,因此 DAI 的资产也可能受到负面影响。 + +尽管存在这些担忧,现在已经有数十亿美元押注于这些稳定币的安全性。 接下来,其他的稳定币也可能会被添加到协议中。 如果我们认为这些稳定币中的任何一个变得不可靠或将 OUSD 持有者的资金处于危险之中,则可能会取消对其稳定币的支持。 + diff --git a/zh/core-concepts/supported-assets/dai.md b/zh/core-concepts/supported-assets/dai.md new file mode 100644 index 000000000..4fee47a70 --- /dev/null +++ b/zh/core-concepts/supported-assets/dai.md @@ -0,0 +1,20 @@ +# DAI + +![](../../.gitbook/assets/dai.png) + +Dai 是与法定货币挂钩的 ERC-20 稳定币,于 2017 年 12 月在以太坊区块链上推出。 从单抵押 Dai (SAI)到多抵押 Dai (DAI)的重大升级已 2019年11月完成。 Dai 与美元挂钩。 + +用户通过将诸如 ETH 或 USDC 的加密资产锁定在称为保险库的抵押债务头寸(CDP)来铸造 Dai。 之前,只有 ETH 被接受为抵押品。 每个保险库的储备和状态都可以在区块链上实时查看。 这些保险库和 Dai 稳定币的运行状况都被密切观察。 + +Dai 是世界上第三大稳定币,流通量超过 4 亿美元。 此外,cDAI 和 aDAI(在借贷平台 Compound 和 Aave 上的合成 Dai 版本)的流通量量超过 6 亿美元。 + +| 关键信息 | | +|:---- |:------------------------------------------------------------------------------------------------------------------- | +| 发行者 | MakerDAO | +| 名字 | Dai | +| 符号 | DAI | +| 地址 | [0x6b175474e89094c44da98b954eedeac495271d0f](https://etherscan.io/token/0x6b175474e89094c44da98b954eedeac495271d0f) | +| 小数点 | 18 | +| 官方网站 | [https://makerdao.com/](https://makerdao.com/) | +| 持有者 | 超过 14 万个地址 | + diff --git a/zh/core-concepts/supported-assets/usdc.md b/zh/core-concepts/supported-assets/usdc.md new file mode 100644 index 000000000..0111d47bb --- /dev/null +++ b/zh/core-concepts/supported-assets/usdc.md @@ -0,0 +1,22 @@ +# USDC + +![](../../.gitbook/assets/usdc-coin-bd351fb779%20%281%29.png) + +USD Coin (USDC)是与法定货币挂钩的ERC-20稳定币,于2018年10月在以太坊区块链上推出。 USDC 与美元挂钩,可以轻松地兑换成美元。 + +每个 USDC 1:1 的比例支持,并由 Circle 和 Coinbase 成立的财团Centre 的成员在保管账户中持有等值的法定货币。 Centre的成员是设在美国的受监管金融机构。 每月的储备金审计由 Grant Thornton LLP 发布。 + +USDC 是仅次于 USDT 全球第二大稳定币,并已迅速增长至超过 10 亿美元的流通量。 然而,USDC 仍远远落后于 USDT的 12 亿美元+ 的流通量。 + +| 关键信息 | | +|:---- |:------------------------------------------------------------------------------------------------------------------- | +| 发行者 | Centre | +| 名字 | USD Coin | +| 符号 | USDC | +| 地址 | [0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48](https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48) | +| 小数点 | 6 | +| 官方网站 | [https://www.centre.io/usdc](https://www.centre.io/usdc) | +| 持有者 | 超过 20 万个地址 | + + + diff --git a/zh/core-concepts/supported-assets/usdt.md b/zh/core-concepts/supported-assets/usdt.md new file mode 100644 index 000000000..035965263 --- /dev/null +++ b/zh/core-concepts/supported-assets/usdt.md @@ -0,0 +1,22 @@ +# USDT + +![](../../.gitbook/assets/image%20%281%29.png) + +Tether (USDT)是以法定货币挂钩的稳定币,最初是通过 Omni Layer Protocol 在比特币之上构建的。 2017年9月,Tether 宣布他们将在以太坊区块链上推出更多美元的ERC-20代币。 + +据说发行的每个 Tether 都具有一对一的支持,由 Tether Limited(一家与加密货币交易所 Bitfinex 有密切联系的公司)在托管账户中持有法定货币的等值金额。 + +尽管围绕该公司未能提供承诺的审计结果来证明有足够的储备支持tether存在着争议,但按市值计算,USDT仍然是世界上最大的稳定币,目前也是仅次于 BTC,ETH 和 XRP 的第四大加密货币。 + +| 关键信息 | | +|:---- |:---------------------------------------------------------------------------------------------------------------- | +| 发行者 | Tether Limited | +| 名字 | Tether | +| 符号 | USDT | +| 地址 | [0xdac17f958d2ee523a2206206994597c13d831](https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7) | +| 小数点 | 6 | +| 官方网站 | [https://tether.to/ ](https://tether.to/%20) | +| 持有者 | 超过180万个地址 | + + + diff --git a/zh/core-concepts/supported-defi-platforms/README.md b/zh/core-concepts/supported-defi-platforms/README.md new file mode 100644 index 000000000..50ee37b6c --- /dev/null +++ b/zh/core-concepts/supported-defi-platforms/README.md @@ -0,0 +1,30 @@ +# Supported DeFi Platforms + +**Supported Platforms** + +OUSD generates yield by depositing stablecoins into lending platforms and market maker liquidity pools. It is important to understand that these platforms do carry technological risk and funds can be lost if there is a major security event. We are choosing to work with the platforms that have had their smart contracts audited and that we feel are most secure. + +Currently, we plan to earn yields from the following platforms: + +{% page-ref page="compound.md" %} + +Integrations are currently planned for the following platforms: + +{% page-ref page="aave.md" %} + +{% page-ref page="dydx.md" %} + +{% page-ref page="uniswap.md" %} + +{% page-ref page="curve.md" %} + +{% page-ref page="balancer.md" %} + +{% page-ref page="yearn.finance.md" %} + +Although DeFi has grown very quickly and there are now billions of dollars worth of value deposited on these platforms, several of these projects are still in beta and are highly experimental. There may be hidden vulnerabilities in the smart contracts that power these platforms, and there have been multi-million dollar losses caused by vulnerabilities in Ethereum applications in the past. + +We closely monitor security events on the platforms we support and will immediately move to secure OUSD holder funds if we identify any threats. + + + diff --git a/zh/core-concepts/supported-defi-platforms/aave.md b/zh/core-concepts/supported-defi-platforms/aave.md new file mode 100644 index 000000000..df02edab3 --- /dev/null +++ b/zh/core-concepts/supported-defi-platforms/aave.md @@ -0,0 +1,25 @@ +# Aave + +{% hint style="info" %} +Coming soon. Aave has not yet been integrated. +{% endhint %} + +Aave is a lending protocol and platform built on Ethereum and launched in January 2020 by the creators of ETHLend. Users on Aave can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and users can choose between a variable interest rate based on supply and demand or a fixed interest rate. + +Collateral balances are represented by ERC-20 aTokens at a 1:1 ratio to the underlying assets they represent. Interest is compounded automatically and paid to lenders with aTokens, meaning lenders will steadily see their aToken balance increase over time. Users can borrow assets against their aTokens. aTokens are freely transferable and can be used on many other DeFi protocols. aTokens can be redeemed for their underlying collateral at any time. + +Aave supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +Aave is currently governed by LEND, an ERC-20 token that was formerly the utility token for ETHLend. Aave has announced a transition to fully decentralized governance that includes a token swap where users exchange LEND for AAVE, a new ERC-20 governance token with staking rewards. Some AAVE will be distributed to users of the platform in a liquidity mining campaign. + +Aave's total value locked \(TVL\) has quickly grown to over $1.2 billion, making it one of the largest DeFi protocols. LEND has a circulating market cap of over $700 million. + +Aave has undergone security audits by OpenZeppelin, Trail of Bits, and Consensys Diligence. Aave maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------------ | +| Official site | [https://aave.com/](https://aave.com/) | +| Developer docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/aave/aave-protocol](https://github.com/aave/aave-protocol) | +| Discord | [https://discordapp.com/invite/AnSqnvV](https://discordapp.com/invite/AnSqnvV) | + diff --git a/zh/core-concepts/supported-defi-platforms/balancer.md b/zh/core-concepts/supported-defi-platforms/balancer.md new file mode 100644 index 000000000..f8d9e3c0a --- /dev/null +++ b/zh/core-concepts/supported-defi-platforms/balancer.md @@ -0,0 +1,27 @@ +# Balancer + +{% hint style="info" %} +Coming soon. Balancer has not yet been integrated. +{% endhint %} + +Balancer is a decentralized liquidity protocol and exchange on Ethereum, launched in March 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Balancer is an Automated Market Maker \(AMM\) that allows for liquidity pools of up to 8 different assets with custom weights. Liquidity pools on Balancer can be thought of as similar to Exchange Traded Funds \(ETFs\) or portfolios with weight targets for specific assets. If trading causes the pool to shift from its target weight distribution, exchange rates between assets in the pool change. Arbitrageurs can execute trades to take advantage of this and act to rebalance the pool back to its target weight distribution. Liquidity can also be shared across pools, unlike other AMMs. + +Balancer supports private pools, where only the owner of the pool can contribute liquidity, shared pools, which are completely public, and smart pools, which are shared pools controlled by a smart contract that can implement automated rules and logic. Liquidity providers are given Balancer Pool Tokens \(BPTs\) that represent their share of a given pool and fees. These tokens are freely transferable and can be redeemed for the assets provided and accrued fees. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Balancer pools. + +Balancer is governed by BAL, an ERC-20 governance token. BAL holders can vote on protocol changes. BAL is continuously awarded to liquidity providers and a large portion of the total supply of BAL was allocated to the team and investors on a continuous vesting schedule. + +Trading volumes on Balancer are often over $25 million daily. Balancer has a Total Value Locked \(TVL\) of over $250 million by liquidity providers at the time of writing. + +Balancer has undergone a security audit by Trail of Bits and has a bug bounty program. However, Balancer has suffered a major exploit in June 2020. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://balancer.finance/](https://balancer.finance/) | +| Developer docs | [https://docs.balancer.finance/](https://docs.balancer.finance/) | +| GitHub | [https://github.com/balancer-labs](https://github.com/balancer-labs) | +| Discord | [https://discord.gg/ARJWaeF](https://discord.gg/ARJWaeF) | + diff --git a/zh/core-concepts/supported-defi-platforms/compound.md b/zh/core-concepts/supported-defi-platforms/compound.md new file mode 100644 index 000000000..a4d2660a1 --- /dev/null +++ b/zh/core-concepts/supported-defi-platforms/compound.md @@ -0,0 +1,19 @@ +# Compound + +Compound is a lending protocol and platform built on Ethereum and launched in September 2018. Users can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and interest rates are adjusted automatically based on supply and demand. + +Collateral balances are represented by ERC-20 cTokens, which automatically accrue interest and increase in value over time relative to the underlying asset they represent. Users can borrow assets against the value of their cTokens. cTokens are freely transferable and can be used on many other DeFi protocols. cTokens can be redeemed for their underlying collateral at any time. + +Compound is governed by COMP, an ERC-20 governance token. COMP holders can propose and vote on protocol changes or delegate their votes to someone else. COMP tokens are awarded pro rata to users of the protocol daily, split equally between borrowers and lenders. A large portion of the COMP token supply was retained by the Compound team, investors, and advisors. + +Compound's total value locked \(TVL\) has quickly grown to nearly $800 million, making it one of the largest DeFi protocols. COMP has a circulating market cap of over $500 million. + +Compound has undergone multiple security audits by OpenZeppelin and Trail of Bits. The Compound protocol was formally verified by CertiK and has undergone economic stress testing by Gauntlet. Compound maintains a bug bounty program. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------------------------------------------------- | +| Official site | [https://compound.finance/](https://compound.finance/) | +| Developer docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/compound-finance/compound-protocol](https://github.com/compound-finance/compound-protocol) | +| Discord | [https://discord.com/invite/cU7vmVW](https://discord.com/invite/cU7vmVW) | + diff --git a/zh/core-concepts/supported-defi-platforms/curve.md b/zh/core-concepts/supported-defi-platforms/curve.md new file mode 100644 index 000000000..021d0041b --- /dev/null +++ b/zh/core-concepts/supported-defi-platforms/curve.md @@ -0,0 +1,25 @@ +# Curve + +{% hint style="info" %} +Coming soon. Curve has not yet been integrated. +{% endhint %} + +Curve is a decentralized liquidity protocol and exchange on Ethereum for stablecoins and wrapped BTC, launched in January 2020. Users can swap between popular ERC-20 stablecoins or between ERC-20 representations of bitcoin. Liquidity providers facilitate trading and earn fees. + +Curve is an Automated Market Maker \(AMM\) where each market has an associated liquidity pool with two or more assets that should have the same value, like USDT, USDC, DAI and TUSD, which are all US dollar pegged stablecoins. The exchange rate between each stablecoin and their relative weights are determined by an algorithm based on supply and demand. Arbitrageurs act to normalize these exchange rates. + +Some of Curve's liquidity pools earn extra fees for liquidity providers on top of the exchange fees from traders. Curve offers stablecoin pools integrated with Compound, yearn.finance, and Synthetix. The assets in each liquidity pool are provided to those platforms to generate additional yield which is passed on to each pool's liquidity providers. Liquidity Provider \(LP\) tokens are given to pool participants and can be redeemed for their initial liquidity supplied plus accrued fees and yield. LP tokens can also transferred for use in other protocols. + +Curve is governed by CRV, an ERC-20 governance token. CRV holders can vote on protocol changes. CRV holders can stake their tokens for additional voting power proportional to time staked. CRV is continuously awarded to liquidity providers and a large portion of the total supply of CRV was allocated to the team and investors on a continuous vesting schedule. + +Trading volumes on Curve are often over $50 million daily. Curve has a Total Value Locked \(TVL\) of over $1 billion by liquidity providers at the time of writing. + +Curve has undergone two audits by Trail of Bits and maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------ | +| Official site | [https://uniswap.org/](https://uniswap.org/) | +| Developer docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/zh/core-concepts/supported-defi-platforms/dydx.md b/zh/core-concepts/supported-defi-platforms/dydx.md new file mode 100644 index 000000000..24f1a895e --- /dev/null +++ b/zh/core-concepts/supported-defi-platforms/dydx.md @@ -0,0 +1,27 @@ +# dYdX + +{% hint style="info" %} +Coming soon. DyDx has not yet been integrated. +{% endhint %} + +dYdX is a trading and lending protocol and platform built on Ethereum and launched in May 2019. Users can trade assets on dYdX's non-custodial, decentralized exchange or participate in borrowing and lending. The lending protocol enables margin and futures trading. Interest rates are adjusted based on supply and demand and only short term loans are offered. + +Liquidity for assets available for borrowing and lending are pooled together by asset type. Interest paid to lenders is accrued automatically and borrowers must put up collateral to take out a loan. + +dYdX also supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +dYdX has around $40 million in total value locked \(TVL\) at the time of this writing. dYdX does not have a native token. + +dYdX has undergone security audits by OpenZeppelin and Bramah Systems. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://dydx.exchange/](https://dydx.exchange/) | +| Developer docs | [https://docs.dydx.exchange/](https://docs.dydx.exchange/) | +| GitHub | [https://github.com/dydxprotocol/](https://github.com/dydxprotocol/) | +| Discord | [https://discord.gg/yah42Rb](https://discord.gg/yah42Rb) | + + + + + diff --git a/zh/core-concepts/supported-defi-platforms/uniswap.md b/zh/core-concepts/supported-defi-platforms/uniswap.md new file mode 100644 index 000000000..012e25e93 --- /dev/null +++ b/zh/core-concepts/supported-defi-platforms/uniswap.md @@ -0,0 +1,27 @@ +# Uniswap + +{% hint style="info" %} +Coming soon. Uniswap has not yet been integrated. +{% endhint %} + +Uniswap is a decentralized liquidity protocol and exchange on Ethereum, launched in November 2018. Uniswap v2 launched in May 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Markets on Uniswap operate as liquidity pools rather than order books. This type of exchange is called an Automated Market Maker \(AMM\). The exchange rate between the two assets is determined by a constant product formula and moves along a price curve depending on the relative weight of each asset in the pool. This encourages arbitrageurs to enter liquidity pools to rebalance the relative weights and normalize the exchange rate. + +Traders can suffer from slippage if there is not enough liquidity in a given pool and may not be protected from unfavorable exchange rates. Liquidity providers may suffer impermanent loss when the pool exchange rate does not match market realities and arbitrageurs execute trades along the pricing curve. + +Pool participants are given Uniswap Liquidity Provider \(LP\) tokens that correspond to their share of liquidity provided in a given pool. These LP tokens are freely transferable. Participants can exit pools at any time by redeeming these tokens for the assets provided and fees accrued. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Uniswap pools. + +Trading volumes on Uniswap now eclipse that of many traditional exchanges and regularly surpass $200 million daily. Uniswap has over $170 million in Total Value Locked \(TVL\) by liquidity providers. Uniswap does not have a native platform or governance token. + +Uniswap has had its smart contracts audited and formally verfied by dapp.org. Uniswap maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------ | +| Official site | [https://uniswap.org/](https://uniswap.org/) | +| Developer docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/zh/core-concepts/supported-defi-platforms/yearn.finance.md b/zh/core-concepts/supported-defi-platforms/yearn.finance.md new file mode 100644 index 000000000..3f23b9fdb --- /dev/null +++ b/zh/core-concepts/supported-defi-platforms/yearn.finance.md @@ -0,0 +1,25 @@ +# Yearn.finance + +{% hint style="info" %} +Coming soon. Yearn.finance has not yet been integrated. +{% endhint %} + +Yearn.finance, formerly iEarn.finance, is a yield aggregation platform built on Ethereum and launched in January 2020 by Andre Cronje. Yearn manages yield farming and rebalancing strategies using a combination of automation and human decision making on behalf of users who have deposited capital. + +Yearn has two yield aggregation products, Earn and Vaults. Earn allows users to deposit stablecoins or wrapped BTC into liquidity pools on Curve to earn fees and governance token rewards. These assets are also lent out on platforms offering high yield and token rewards, adding to the yield earned. + +Vaults offer a more automated and managed experience. Users deposit assets such as LINK, Curve liquidity provider tokens, or stablecoins and the Vault pools these assets together and deploys the highest earning yield farming strategy as deemed safe by the community and Andre Cronje. Governance tokens earned as rewards are sold off for the original asset deposited and combined with other fees and automatically rolled into the Vault to compound yield. Strategies can be changed frequently and pooling assets together saves gas costs for users. + +Yearn is governed by YFI, an ERC-20 governance token. YFI holders can vote on protocol changes after agreeing to lock up their YFI for 3 days. YFI can also be staked for yield in the governance portal. This yield comes from fees charged to users on Yearn products. YFI was distributed entirely to liquidity providers on Curve and Balancer. There was no allocation for team members or investors. + +Yearn's total value locked \(TVL\) has quickly grown to over $800 million, making it one of the largest DeFi platforms. YFI has a circulating market cap of over $400 million. + +Yearn has undergone multiple security and smart contract audits by CertiK, Quantstamp, HackMD, and CryptoManiacs. Yearn has a reputation for launching experimental products very quickly and warns users that their products are in beta. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://yearn.finance/](https://yearn.finance/) | +| Developer docs | [https://docs.yearn.finance/](https://docs.yearn.finance/) | +| GitHub | [https://github.com/iearn-finance](https://github.com/iearn-finance) | +| Discord | [https://discord.gg/uTmHe8r](https://discord.gg/uTmHe8r) | + diff --git a/zh/core-concepts/supported-platforms/README.md b/zh/core-concepts/supported-platforms/README.md new file mode 100644 index 000000000..aa4b89181 --- /dev/null +++ b/zh/core-concepts/supported-platforms/README.md @@ -0,0 +1,32 @@ +# Supported Platforms + +**Supported Platforms** + +OUSD generates yield by depositing stablecoins into lending platforms and market maker liquidity pools. It is important to understand that these platforms do carry technological risk and funds can be lost if there is a major security event. We are choosing to work with the platforms that have had their smart contracts audited and that we feel are most secure. + +Currently, we plan to earn yields from the following platforms: + +{% page-ref page="compound.md" %} + +Integrations are currently planned for the following platforms: + +{% page-ref page="yearn.finance.md" %} + +{% page-ref page="compound.md" %} + +{% page-ref page="aave.md" %} + +{% page-ref page="dydx.md" %} + +{% page-ref page="uniswap.md" %} + +{% page-ref page="curve.md" %} + +{% page-ref page="balancer.md" %} + +Although DeFi has grown very quickly and there are now billions of dollars worth of value deposited on these platforms, several of these projects are still in beta and are highly experimental. There may be hidden vulnerabilities in the smart contracts that power these platforms, and there have been multi-million dollar losses caused by vulnerabilities in Ethereum applications in the past. + +We closely monitor security events on the platforms we support and will immediately move to secure OUSD holder funds if we identify any threats. + + + diff --git a/zh/core-concepts/supported-platforms/aave.md b/zh/core-concepts/supported-platforms/aave.md new file mode 100644 index 000000000..df02edab3 --- /dev/null +++ b/zh/core-concepts/supported-platforms/aave.md @@ -0,0 +1,25 @@ +# Aave + +{% hint style="info" %} +Coming soon. Aave has not yet been integrated. +{% endhint %} + +Aave is a lending protocol and platform built on Ethereum and launched in January 2020 by the creators of ETHLend. Users on Aave can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and users can choose between a variable interest rate based on supply and demand or a fixed interest rate. + +Collateral balances are represented by ERC-20 aTokens at a 1:1 ratio to the underlying assets they represent. Interest is compounded automatically and paid to lenders with aTokens, meaning lenders will steadily see their aToken balance increase over time. Users can borrow assets against their aTokens. aTokens are freely transferable and can be used on many other DeFi protocols. aTokens can be redeemed for their underlying collateral at any time. + +Aave supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +Aave is currently governed by LEND, an ERC-20 token that was formerly the utility token for ETHLend. Aave has announced a transition to fully decentralized governance that includes a token swap where users exchange LEND for AAVE, a new ERC-20 governance token with staking rewards. Some AAVE will be distributed to users of the platform in a liquidity mining campaign. + +Aave's total value locked \(TVL\) has quickly grown to over $1.2 billion, making it one of the largest DeFi protocols. LEND has a circulating market cap of over $700 million. + +Aave has undergone security audits by OpenZeppelin, Trail of Bits, and Consensys Diligence. Aave maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------------ | +| Official site | [https://aave.com/](https://aave.com/) | +| Developer docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/aave/aave-protocol](https://github.com/aave/aave-protocol) | +| Discord | [https://discordapp.com/invite/AnSqnvV](https://discordapp.com/invite/AnSqnvV) | + diff --git a/zh/core-concepts/supported-platforms/balancer.md b/zh/core-concepts/supported-platforms/balancer.md new file mode 100644 index 000000000..f8d9e3c0a --- /dev/null +++ b/zh/core-concepts/supported-platforms/balancer.md @@ -0,0 +1,27 @@ +# Balancer + +{% hint style="info" %} +Coming soon. Balancer has not yet been integrated. +{% endhint %} + +Balancer is a decentralized liquidity protocol and exchange on Ethereum, launched in March 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Balancer is an Automated Market Maker \(AMM\) that allows for liquidity pools of up to 8 different assets with custom weights. Liquidity pools on Balancer can be thought of as similar to Exchange Traded Funds \(ETFs\) or portfolios with weight targets for specific assets. If trading causes the pool to shift from its target weight distribution, exchange rates between assets in the pool change. Arbitrageurs can execute trades to take advantage of this and act to rebalance the pool back to its target weight distribution. Liquidity can also be shared across pools, unlike other AMMs. + +Balancer supports private pools, where only the owner of the pool can contribute liquidity, shared pools, which are completely public, and smart pools, which are shared pools controlled by a smart contract that can implement automated rules and logic. Liquidity providers are given Balancer Pool Tokens \(BPTs\) that represent their share of a given pool and fees. These tokens are freely transferable and can be redeemed for the assets provided and accrued fees. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Balancer pools. + +Balancer is governed by BAL, an ERC-20 governance token. BAL holders can vote on protocol changes. BAL is continuously awarded to liquidity providers and a large portion of the total supply of BAL was allocated to the team and investors on a continuous vesting schedule. + +Trading volumes on Balancer are often over $25 million daily. Balancer has a Total Value Locked \(TVL\) of over $250 million by liquidity providers at the time of writing. + +Balancer has undergone a security audit by Trail of Bits and has a bug bounty program. However, Balancer has suffered a major exploit in June 2020. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://balancer.finance/](https://balancer.finance/) | +| Developer docs | [https://docs.balancer.finance/](https://docs.balancer.finance/) | +| GitHub | [https://github.com/balancer-labs](https://github.com/balancer-labs) | +| Discord | [https://discord.gg/ARJWaeF](https://discord.gg/ARJWaeF) | + diff --git a/zh/core-concepts/supported-platforms/compound.md b/zh/core-concepts/supported-platforms/compound.md new file mode 100644 index 000000000..a4d2660a1 --- /dev/null +++ b/zh/core-concepts/supported-platforms/compound.md @@ -0,0 +1,19 @@ +# Compound + +Compound is a lending protocol and platform built on Ethereum and launched in September 2018. Users can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and interest rates are adjusted automatically based on supply and demand. + +Collateral balances are represented by ERC-20 cTokens, which automatically accrue interest and increase in value over time relative to the underlying asset they represent. Users can borrow assets against the value of their cTokens. cTokens are freely transferable and can be used on many other DeFi protocols. cTokens can be redeemed for their underlying collateral at any time. + +Compound is governed by COMP, an ERC-20 governance token. COMP holders can propose and vote on protocol changes or delegate their votes to someone else. COMP tokens are awarded pro rata to users of the protocol daily, split equally between borrowers and lenders. A large portion of the COMP token supply was retained by the Compound team, investors, and advisors. + +Compound's total value locked \(TVL\) has quickly grown to nearly $800 million, making it one of the largest DeFi protocols. COMP has a circulating market cap of over $500 million. + +Compound has undergone multiple security audits by OpenZeppelin and Trail of Bits. The Compound protocol was formally verified by CertiK and has undergone economic stress testing by Gauntlet. Compound maintains a bug bounty program. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------------------------------------------------- | +| Official site | [https://compound.finance/](https://compound.finance/) | +| Developer docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/compound-finance/compound-protocol](https://github.com/compound-finance/compound-protocol) | +| Discord | [https://discord.com/invite/cU7vmVW](https://discord.com/invite/cU7vmVW) | + diff --git a/zh/core-concepts/supported-platforms/curve.md b/zh/core-concepts/supported-platforms/curve.md new file mode 100644 index 000000000..021d0041b --- /dev/null +++ b/zh/core-concepts/supported-platforms/curve.md @@ -0,0 +1,25 @@ +# Curve + +{% hint style="info" %} +Coming soon. Curve has not yet been integrated. +{% endhint %} + +Curve is a decentralized liquidity protocol and exchange on Ethereum for stablecoins and wrapped BTC, launched in January 2020. Users can swap between popular ERC-20 stablecoins or between ERC-20 representations of bitcoin. Liquidity providers facilitate trading and earn fees. + +Curve is an Automated Market Maker \(AMM\) where each market has an associated liquidity pool with two or more assets that should have the same value, like USDT, USDC, DAI and TUSD, which are all US dollar pegged stablecoins. The exchange rate between each stablecoin and their relative weights are determined by an algorithm based on supply and demand. Arbitrageurs act to normalize these exchange rates. + +Some of Curve's liquidity pools earn extra fees for liquidity providers on top of the exchange fees from traders. Curve offers stablecoin pools integrated with Compound, yearn.finance, and Synthetix. The assets in each liquidity pool are provided to those platforms to generate additional yield which is passed on to each pool's liquidity providers. Liquidity Provider \(LP\) tokens are given to pool participants and can be redeemed for their initial liquidity supplied plus accrued fees and yield. LP tokens can also transferred for use in other protocols. + +Curve is governed by CRV, an ERC-20 governance token. CRV holders can vote on protocol changes. CRV holders can stake their tokens for additional voting power proportional to time staked. CRV is continuously awarded to liquidity providers and a large portion of the total supply of CRV was allocated to the team and investors on a continuous vesting schedule. + +Trading volumes on Curve are often over $50 million daily. Curve has a Total Value Locked \(TVL\) of over $1 billion by liquidity providers at the time of writing. + +Curve has undergone two audits by Trail of Bits and maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------ | +| Official site | [https://uniswap.org/](https://uniswap.org/) | +| Developer docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/zh/core-concepts/supported-platforms/dydx.md b/zh/core-concepts/supported-platforms/dydx.md new file mode 100644 index 000000000..24f1a895e --- /dev/null +++ b/zh/core-concepts/supported-platforms/dydx.md @@ -0,0 +1,27 @@ +# dYdX + +{% hint style="info" %} +Coming soon. DyDx has not yet been integrated. +{% endhint %} + +dYdX is a trading and lending protocol and platform built on Ethereum and launched in May 2019. Users can trade assets on dYdX's non-custodial, decentralized exchange or participate in borrowing and lending. The lending protocol enables margin and futures trading. Interest rates are adjusted based on supply and demand and only short term loans are offered. + +Liquidity for assets available for borrowing and lending are pooled together by asset type. Interest paid to lenders is accrued automatically and borrowers must put up collateral to take out a loan. + +dYdX also supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +dYdX has around $40 million in total value locked \(TVL\) at the time of this writing. dYdX does not have a native token. + +dYdX has undergone security audits by OpenZeppelin and Bramah Systems. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://dydx.exchange/](https://dydx.exchange/) | +| Developer docs | [https://docs.dydx.exchange/](https://docs.dydx.exchange/) | +| GitHub | [https://github.com/dydxprotocol/](https://github.com/dydxprotocol/) | +| Discord | [https://discord.gg/yah42Rb](https://discord.gg/yah42Rb) | + + + + + diff --git a/zh/core-concepts/supported-platforms/uniswap.md b/zh/core-concepts/supported-platforms/uniswap.md new file mode 100644 index 000000000..012e25e93 --- /dev/null +++ b/zh/core-concepts/supported-platforms/uniswap.md @@ -0,0 +1,27 @@ +# Uniswap + +{% hint style="info" %} +Coming soon. Uniswap has not yet been integrated. +{% endhint %} + +Uniswap is a decentralized liquidity protocol and exchange on Ethereum, launched in November 2018. Uniswap v2 launched in May 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Markets on Uniswap operate as liquidity pools rather than order books. This type of exchange is called an Automated Market Maker \(AMM\). The exchange rate between the two assets is determined by a constant product formula and moves along a price curve depending on the relative weight of each asset in the pool. This encourages arbitrageurs to enter liquidity pools to rebalance the relative weights and normalize the exchange rate. + +Traders can suffer from slippage if there is not enough liquidity in a given pool and may not be protected from unfavorable exchange rates. Liquidity providers may suffer impermanent loss when the pool exchange rate does not match market realities and arbitrageurs execute trades along the pricing curve. + +Pool participants are given Uniswap Liquidity Provider \(LP\) tokens that correspond to their share of liquidity provided in a given pool. These LP tokens are freely transferable. Participants can exit pools at any time by redeeming these tokens for the assets provided and fees accrued. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Uniswap pools. + +Trading volumes on Uniswap now eclipse that of many traditional exchanges and regularly surpass $200 million daily. Uniswap has over $170 million in Total Value Locked \(TVL\) by liquidity providers. Uniswap does not have a native platform or governance token. + +Uniswap has had its smart contracts audited and formally verfied by dapp.org. Uniswap maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------ | +| Official site | [https://uniswap.org/](https://uniswap.org/) | +| Developer docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/zh/core-concepts/supported-platforms/yearn.finance.md b/zh/core-concepts/supported-platforms/yearn.finance.md new file mode 100644 index 000000000..3f23b9fdb --- /dev/null +++ b/zh/core-concepts/supported-platforms/yearn.finance.md @@ -0,0 +1,25 @@ +# Yearn.finance + +{% hint style="info" %} +Coming soon. Yearn.finance has not yet been integrated. +{% endhint %} + +Yearn.finance, formerly iEarn.finance, is a yield aggregation platform built on Ethereum and launched in January 2020 by Andre Cronje. Yearn manages yield farming and rebalancing strategies using a combination of automation and human decision making on behalf of users who have deposited capital. + +Yearn has two yield aggregation products, Earn and Vaults. Earn allows users to deposit stablecoins or wrapped BTC into liquidity pools on Curve to earn fees and governance token rewards. These assets are also lent out on platforms offering high yield and token rewards, adding to the yield earned. + +Vaults offer a more automated and managed experience. Users deposit assets such as LINK, Curve liquidity provider tokens, or stablecoins and the Vault pools these assets together and deploys the highest earning yield farming strategy as deemed safe by the community and Andre Cronje. Governance tokens earned as rewards are sold off for the original asset deposited and combined with other fees and automatically rolled into the Vault to compound yield. Strategies can be changed frequently and pooling assets together saves gas costs for users. + +Yearn is governed by YFI, an ERC-20 governance token. YFI holders can vote on protocol changes after agreeing to lock up their YFI for 3 days. YFI can also be staked for yield in the governance portal. This yield comes from fees charged to users on Yearn products. YFI was distributed entirely to liquidity providers on Curve and Balancer. There was no allocation for team members or investors. + +Yearn's total value locked \(TVL\) has quickly grown to over $800 million, making it one of the largest DeFi platforms. YFI has a circulating market cap of over $400 million. + +Yearn has undergone multiple security and smart contract audits by CertiK, Quantstamp, HackMD, and CryptoManiacs. Yearn has a reputation for launching experimental products very quickly and warns users that their products are in beta. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://yearn.finance/](https://yearn.finance/) | +| Developer docs | [https://docs.yearn.finance/](https://docs.yearn.finance/) | +| GitHub | [https://github.com/iearn-finance](https://github.com/iearn-finance) | +| Discord | [https://discord.gg/uTmHe8r](https://discord.gg/uTmHe8r) | + diff --git a/zh/core-concepts/supported-stablecoins/README.md b/zh/core-concepts/supported-stablecoins/README.md new file mode 100644 index 000000000..da06f69b0 --- /dev/null +++ b/zh/core-concepts/supported-stablecoins/README.md @@ -0,0 +1,25 @@ +# 支持的穩定幣 + +**支持的穩定幣** + +必須了解的是,OUSD 僅與支持它的穩定幣一樣強大。 底層資產的任何損失都將造成 OUSD 相似的損失。 + +目前,OUSD 支持以下穩定幣: + +{% content-ref url="usdt.md" %} +[usdt.md](usdt.md) +{% endcontent-ref %} + +{% content-ref url="usdc.md" %} +[usdc.md](usdc.md) +{% endcontent-ref %} + +{% content-ref url="dai.md" %} +[dai.md](dai.md) +{% endcontent-ref %} + +None of these stablecoins are perfect, but we selected them because of their widespread usage. While these stablecoins have lost their USD peg on multiple occasions, they have demonstrated resiliency in eventually getting back to their 1 USD targets. + +It is important to note that all these stablecoins introduce non-trivial counter-party risk. Tether, in particular, has had well-documented banking troubles and regulatory challenges. In addition, both USDT and USDC have backdoors that grant their issuers the power to freeze money in their holder's wallets. While DAI does not have any direct backdoors, its assets can also be negatively impacted since USDC and USDT are accepted as collateral for minting DAI. + +Despite these concerns, there are already billions of dollars betting on the security of these stablecoins. It is possible that additional stablecoins will be added to the protocol over time. Support may also be removed if any of these stablecoins prove to be too unreliable or put OUSD holder's funds in jeopardy. diff --git a/zh/core-concepts/supported-stablecoins/dai.md b/zh/core-concepts/supported-stablecoins/dai.md new file mode 100644 index 000000000..815adbdb8 --- /dev/null +++ b/zh/core-concepts/supported-stablecoins/dai.md @@ -0,0 +1,19 @@ +# DAI + +![](../../.gitbook/assets/dai.png) + +Dai 是與法定貨幣掛鉤的 ERC-20 穩定幣,於 2017 年 12 月在以太坊區塊鏈上推出。 A major upgrade from single-collateral Dai (SAI) to multi-collateral Dai (DAI) was completed in November 2019. Dai 與美元掛鉤。 + +Dai is minted by users locking up crypto assets such as ETH or USDC as collateral in a collateralized debt position (CDP) called a vault. 之前,只有 ETH 被接受為抵押品。 每個保險庫的儲備和狀態都可以在區塊鏈上實時查看。 這些保險庫和 Dai 穩定幣的運行狀況都被密切觀察。 + +Dai 是世界上第三大穩定幣,流通量超過 4 億美元。 此外,cDAI 和 aDAI(在藉貸平台 Compound 和 Aave 上的合成 Dai 版本)的流通量量超過 6 億美元。 + +| 關鍵信息 | | +| ---- | ------------------------------------------------------------------------------------------------------------------- | +| 發行者 | MakerDAO | +| 名字 | Dai | +| 符號 | DAI | +| 地址 | [0x6b175474e89094c44da98b954eedeac495271d0f](https://etherscan.io/token/0x6b175474e89094c44da98b954eedeac495271d0f) | +| 小數點 | 18 | +| 官方網站 | [https://makerdao.com/](https://makerdao.com) | +| 持有者 | Over 380k addresses | diff --git a/zh/core-concepts/supported-stablecoins/usdc.md b/zh/core-concepts/supported-stablecoins/usdc.md new file mode 100644 index 000000000..431b13975 --- /dev/null +++ b/zh/core-concepts/supported-stablecoins/usdc.md @@ -0,0 +1,20 @@ +# USDC + +![](../../.gitbook/assets/usdc-coin-bd351fb779 (1).png) + +USD Coin (USDC) is a fiat-pegged stablecoin launched as a ERC-20 token on the Ethereum blockchain in October 2018. USDC 與美元掛鉤,可以輕鬆地兌換成美元。 + +每個 USDC 1:1 的比例支持,並由 Circle 和 Coinbase 成立的財團Centre 的成員在保管賬戶中持有等值的法定貨幣。 Centre的成員是設在美國的受監管金融機構。 每月的儲備金審計由 Grant Thornton LLP 發布。 + +USDC 是僅次於 USDT 全球第二大穩定幣,並已迅速增長至超過 10 億美元的流通量。 然而,USDC 仍遠遠落後於 USDT的 12 億美元+ 的流通量。 + +| 關鍵信息 | | +| ---- | ------------------------------------------------------------------------------------------------------------------- | +| 發行者 | Centre | +| 名字 | USD Coin | +| 符號 | USDC | +| 地址 | [0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48](https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48) | +| 小數點 | 6 | +| 官方網站 | [https://www.centre.io/usdc](https://www.centre.io/usdc) | +| 持有者 | Over 1M addresses | + diff --git a/zh/core-concepts/supported-stablecoins/usdt.md b/zh/core-concepts/supported-stablecoins/usdt.md new file mode 100644 index 000000000..4f07af957 --- /dev/null +++ b/zh/core-concepts/supported-stablecoins/usdt.md @@ -0,0 +1,20 @@ +# USDT + +![](../../.gitbook/assets/image (1).png) + +Tether (USDT) is a fiat-pegged stablecoin that was initially built on top of Bitcoin via the Omni Layer Protocol. In September 2017, Tether announced they would be launching additional ERC-20 tokens for United States dollars on the Ethereum blockchain. + +Each Tether issued into circulation is said to be backed by a one-to-one ratio with the equivalent amount of fiat currency held in a custodial account by Tether Limited, a Hong Kong-based company with close ties to the cryptocurrency exchange, Bitfinex. + +Despite the controversy **** around **** the company's failure to provide a promised audit showing adequate reserves backing tether, USDT is still the world's largest stablecoin by market cap and currently the fourth-largest cryptocurrency after BTC, ETH and XRP. + +| Key Facts | | +| ------------- | ---------------------------------------------------------------------------------------------------------------- | +| Issued by | Tether Limited | +| Name | Tether | +| Symbol | USDT | +| Address | [0xdac17f958d2ee523a2206206994597c13d831](https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7) | +| Decimals | 6 | +| Official site | [https://tether.to/ ](https://tether.to) | +| Holders | Over 3.4M addresses | + diff --git a/zh/core-concepts/supported-strategies/README.md b/zh/core-concepts/supported-strategies/README.md new file mode 100644 index 000000000..b1bb5828c --- /dev/null +++ b/zh/core-concepts/supported-strategies/README.md @@ -0,0 +1,27 @@ +# Supported Strategies + +**Supported DeFi Platforms** + +OUSD generates yield by depositing stablecoins into lending platforms and market maker liquidity pools. It is important to understand that these platforms do carry technological risk and funds can be lost if there is a major security event. We are choosing to work with the platforms that have had their smart contracts audited and that we feel are most secure. + +Currently, OUSD earns yield from the following platform(s): + +{% content-ref url="compound.md" %} +[compound.md](compound.md) +{% endcontent-ref %} + +{% content-ref url="aave.md" %} +[aave.md](aave.md) +{% endcontent-ref %} + +{% content-ref url="curve.md" %} +[curve.md](curve.md) +{% endcontent-ref %} + +{% content-ref url="convex.md" %} +[convex.md](convex.md) +{% endcontent-ref %} + +Although DeFi has grown very quickly and there are now billions of dollars worth of value deposited on these platforms, several of these projects are still in beta and are highly experimental. There may be hidden vulnerabilities in the smart contracts that power these platforms, and there have been multi-million dollar losses caused by vulnerabilities in Ethereum applications in the past. + +We closely monitor security events on the platforms we support and will immediately move to secure OUSD holder funds if we identify any threats. diff --git a/zh/core-concepts/supported-strategies/aave.md b/zh/core-concepts/supported-strategies/aave.md new file mode 100644 index 000000000..cf77e0ffb --- /dev/null +++ b/zh/core-concepts/supported-strategies/aave.md @@ -0,0 +1,20 @@ +# Aave + +Aave is a lending protocol and platform built on Ethereum and launched in January 2020 by the creators of ETHLend. Users on Aave can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and users can choose between a variable interest rate based on supply and demand or a fixed interest rate. + +Collateral balances are represented by ERC-20 aTokens at a 1:1 ratio to the underlying assets they represent. Interest is compounded automatically and paid to lenders with aTokens, meaning lenders will steadily see their aToken balance increase over time. Users can borrow assets against their aTokens. aTokens are freely transferable and can be used on many other DeFi protocols. aTokens can be redeemed for their underlying collateral at any time. + +Aave supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +Aave's governance token was formerly called LEND which was the utility token for ETHLend. As part of their transition to fully decentralized governance, LEND holders were able to exchange LEND for AAVE, a new ERC-20 governance token with staking rewards. Some AAVE tokens have been distributed to users of the platform in a liquidity mining campaign. + +Aave's total value locked (TVL) has quickly grown to over $15.5 billion, making it the largest DeFi protocol at the time of writing. LEND has a circulating market cap of over $5.3 billion. + +Aave has undergone security audits by OpenZeppelin, Trail of Bits, and Consensys Diligence. Aave maintains a bug bounty program. + +| Resources | | +| -------------- | ------------------------------------------------------------------------------ | +| Official site | [https://aave.com/](https://aave.com) | +| Developer docs | [http://docs.aave.com/](http://docs.aave.com) | +| GitHub | [https://github.com/aave/aave-protocol](https://github.com/aave/aave-protocol) | +| Discord | [https://aave.com/discord](https://aave.com/discord) | diff --git a/zh/core-concepts/supported-strategies/balancer.md b/zh/core-concepts/supported-strategies/balancer.md new file mode 100644 index 000000000..f8d9e3c0a --- /dev/null +++ b/zh/core-concepts/supported-strategies/balancer.md @@ -0,0 +1,27 @@ +# Balancer + +{% hint style="info" %} +Coming soon. Balancer has not yet been integrated. +{% endhint %} + +Balancer is a decentralized liquidity protocol and exchange on Ethereum, launched in March 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Balancer is an Automated Market Maker \(AMM\) that allows for liquidity pools of up to 8 different assets with custom weights. Liquidity pools on Balancer can be thought of as similar to Exchange Traded Funds \(ETFs\) or portfolios with weight targets for specific assets. If trading causes the pool to shift from its target weight distribution, exchange rates between assets in the pool change. Arbitrageurs can execute trades to take advantage of this and act to rebalance the pool back to its target weight distribution. Liquidity can also be shared across pools, unlike other AMMs. + +Balancer supports private pools, where only the owner of the pool can contribute liquidity, shared pools, which are completely public, and smart pools, which are shared pools controlled by a smart contract that can implement automated rules and logic. Liquidity providers are given Balancer Pool Tokens \(BPTs\) that represent their share of a given pool and fees. These tokens are freely transferable and can be redeemed for the assets provided and accrued fees. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Balancer pools. + +Balancer is governed by BAL, an ERC-20 governance token. BAL holders can vote on protocol changes. BAL is continuously awarded to liquidity providers and a large portion of the total supply of BAL was allocated to the team and investors on a continuous vesting schedule. + +Trading volumes on Balancer are often over $25 million daily. Balancer has a Total Value Locked \(TVL\) of over $250 million by liquidity providers at the time of writing. + +Balancer has undergone a security audit by Trail of Bits and has a bug bounty program. However, Balancer has suffered a major exploit in June 2020. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://balancer.finance/](https://balancer.finance/) | +| Developer docs | [https://docs.balancer.finance/](https://docs.balancer.finance/) | +| GitHub | [https://github.com/balancer-labs](https://github.com/balancer-labs) | +| Discord | [https://discord.gg/ARJWaeF](https://discord.gg/ARJWaeF) | + diff --git a/zh/core-concepts/supported-strategies/compound.md b/zh/core-concepts/supported-strategies/compound.md new file mode 100644 index 000000000..77e40733e --- /dev/null +++ b/zh/core-concepts/supported-strategies/compound.md @@ -0,0 +1,18 @@ +# Compound + +Compound is a lending protocol and platform built on Ethereum and launched in September 2018. Users can earn compounding interest on or borrow assets against collateral. Each supported asset is aggregated in its own liquidity pool and interest rates are adjusted automatically based on supply and demand. + +Collateral balances are represented by ERC-20 cTokens, which automatically accrue interest and increase in value over time relative to the underlying asset they represent. Users can borrow assets against the value of their cTokens. cTokens are freely transferable and can be used on many other DeFi protocols. cTokens can be redeemed for their underlying collateral at any time. + +Compound is governed by COMP, an ERC-20 governance token. COMP holders can propose and vote on protocol changes or delegate their votes to someone else. COMP tokens are awarded pro-rata to users of the protocol daily, split equally between borrowers and lenders. A large portion of the COMP token supply was retained by the Compound team, investors, and advisors. + +Compound's total value locked (TVL) has quickly grown to over $10 billion, making it one of the largest DeFi protocols. COMP has a circulating market cap of over $2.5 billion. + +Compound has undergone multiple security audits by OpenZeppelin and Trail of Bits. The Compound protocol was formally verified by CertiK and has undergone economic stress testing by Gauntlet. Compound maintains a bug bounty program. + +| Resources | | +| -------------- | -------------------------------------------------------------------------------------------------------------- | +| Official site | [https://compound.finance/](https://compound.finance) | +| Developer docs | [https://compound.finance/docs](https://compound.finance/docs) | +| GitHub | [https://github.com/compound-finance/compound-protocol](https://github.com/compound-finance/compound-protocol) | +| Discord | [https://discord.com/invite/cU7vmVW](https://discord.com/invite/cU7vmVW) | diff --git a/zh/core-concepts/supported-strategies/convex.md b/zh/core-concepts/supported-strategies/convex.md new file mode 100644 index 000000000..771280a68 --- /dev/null +++ b/zh/core-concepts/supported-strategies/convex.md @@ -0,0 +1,18 @@ +# Convex + +Convex is an aggregation platform for Curve that launched in May 2021. Convex allows liquidity providers on Curve to earn boosted CRV rewards without having to vote-lock CRV. Convex vote-locks CRV on behalf of users and distributes boosted CRV rewards to them. Convex passes on trading fees earned on Curve to users as well. + +Convex also rewards users with their own ERC-20 governance token, CVX. Convex supports both CRV and CVX staking for additional rewards. Vote-locking CVX is required to participate in Convex governance. + +Convex is one of the few protocols whitelisted to participate in Curve governance and controls a huge amount of vote-locked CRV, making them one of the biggest players in Curve governance. A large proportion of liquidity provided on Curve is now done through Convex. Convex has a Total Value Locked (TVL) of over $15.4 billion in deposits at the time of writing. + +Convex has been audited by MixBytes. + +| | | +| -------------- | ---------------------------------------------------------------- | +| Resources | | +| Official site | [https://www.convexfinance.com](https://www.convexfinance.com) | +| Developer docs | [https://docs.convexfinance.com](https://docs.convexfinance.com) | +| GitHub | [https://github.com/convex-eth](https://github.com/convex-eth) | +| Discord | [https://discord.gg/uAwvZfs9qU](https://discord.gg/uAwvZfs9qU) | + diff --git a/zh/core-concepts/supported-strategies/curve.md b/zh/core-concepts/supported-strategies/curve.md new file mode 100644 index 000000000..40d2aade6 --- /dev/null +++ b/zh/core-concepts/supported-strategies/curve.md @@ -0,0 +1,20 @@ +# Curve + +Curve is a decentralized liquidity protocol and exchange on Ethereum for stablecoins and wrapped BTC, launched in January 2020. Users can swap between popular ERC-20 stablecoins or between ERC-20 representations of bitcoin. Liquidity providers facilitate trading and earn fees. + +Curve is an Automated Market Maker (AMM) where each market has an associated liquidity pool with two or more assets that should have the same value, like USDT, USDC, DAI and TUSD, which are all US dollar pegged stablecoins. The exchange rate between each stablecoin and their relative weights are determined by an algorithm based on supply and demand. Arbitrageurs act to normalize these exchange rates. + +Some of Curve's liquidity pools earn extra fees for liquidity providers on top of the exchange fees from traders. Curve offers stablecoin pools integrated with Compound, yearn.finance, and Synthetix. The assets in each liquidity pool are provided to those platforms to generate additional yield which is passed on to each pool's liquidity providers. Liquidity Provider (LP) tokens are given to pool participants and can be redeemed for their initial liquidity supplied plus accrued fees and yield. LP tokens can also transferred for use in other protocols. + +Curve is governed by CRV, an ERC-20 governance token. CRV holders can vote on protocol changes. CRV holders can stake or "vote-lock" their tokens for additional voting power proportional to time staked. Vote-locking CRV also significantly boosts liquidity provider rewards. CRV is continuously awarded to liquidity providers and a large portion of the total supply of CRV was allocated to the team and investors on a continuous vesting schedule. + +Curve has a Total Value Locked (TVL) of over $20.4 billion by liquidity providers at the time of writing. Hundreds of millions of dollars of trading volume are generated on Curve every day. + +Curve has undergone two audits by Trail of Bits and maintains a bug bounty program. + +| Resources | | +| -------------- | ------------------------------------------------------------------------ | +| Official site | [https://www.curve.fi/](https://www.curve.fi) | +| Developer docs | [https://www.curve.fi/devdocs](https://www.curve.fi/devdocs) | +| GitHub | [https://github.com/curvefi](https://github.com/curvefi) | +| Discord | [https://discord.com/invite/9uEHakc](https://discord.com/invite/9uEHakc) | diff --git a/zh/core-concepts/supported-strategies/dydx.md b/zh/core-concepts/supported-strategies/dydx.md new file mode 100644 index 000000000..24f1a895e --- /dev/null +++ b/zh/core-concepts/supported-strategies/dydx.md @@ -0,0 +1,27 @@ +# dYdX + +{% hint style="info" %} +Coming soon. DyDx has not yet been integrated. +{% endhint %} + +dYdX is a trading and lending protocol and platform built on Ethereum and launched in May 2019. Users can trade assets on dYdX's non-custodial, decentralized exchange or participate in borrowing and lending. The lending protocol enables margin and futures trading. Interest rates are adjusted based on supply and demand and only short term loans are offered. + +Liquidity for assets available for borrowing and lending are pooled together by asset type. Interest paid to lenders is accrued automatically and borrowers must put up collateral to take out a loan. + +dYdX also supports flash loans, which are uncollateralized loans where users borrow and repay the balance of the loan in a single transaction, meaning flash loan users do not need to put up any initial capital. Flash loans are a complex product aimed at developers and can be used to arbitrage across multiple DeFi protocols. + +dYdX has around $40 million in total value locked \(TVL\) at the time of this writing. dYdX does not have a native token. + +dYdX has undergone security audits by OpenZeppelin and Bramah Systems. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://dydx.exchange/](https://dydx.exchange/) | +| Developer docs | [https://docs.dydx.exchange/](https://docs.dydx.exchange/) | +| GitHub | [https://github.com/dydxprotocol/](https://github.com/dydxprotocol/) | +| Discord | [https://discord.gg/yah42Rb](https://discord.gg/yah42Rb) | + + + + + diff --git a/zh/core-concepts/supported-strategies/uniswap.md b/zh/core-concepts/supported-strategies/uniswap.md new file mode 100644 index 000000000..012e25e93 --- /dev/null +++ b/zh/core-concepts/supported-strategies/uniswap.md @@ -0,0 +1,27 @@ +# Uniswap + +{% hint style="info" %} +Coming soon. Uniswap has not yet been integrated. +{% endhint %} + +Uniswap is a decentralized liquidity protocol and exchange on Ethereum, launched in November 2018. Uniswap v2 launched in May 2020. Users can swap ERC-20 tokens for a fee or contribute tokens to liquidity pools to earn fees. + +Markets on Uniswap operate as liquidity pools rather than order books. This type of exchange is called an Automated Market Maker \(AMM\). The exchange rate between the two assets is determined by a constant product formula and moves along a price curve depending on the relative weight of each asset in the pool. This encourages arbitrageurs to enter liquidity pools to rebalance the relative weights and normalize the exchange rate. + +Traders can suffer from slippage if there is not enough liquidity in a given pool and may not be protected from unfavorable exchange rates. Liquidity providers may suffer impermanent loss when the pool exchange rate does not match market realities and arbitrageurs execute trades along the pricing curve. + +Pool participants are given Uniswap Liquidity Provider \(LP\) tokens that correspond to their share of liquidity provided in a given pool. These LP tokens are freely transferable. Participants can exit pools at any time by redeeming these tokens for the assets provided and fees accrued. + +Token issuers seeking to improve liquidity of their token have offered incentives to liquidity providers in liquidity mining campaigns. New token issuers have also launched their tokens on Uniswap pools. + +Trading volumes on Uniswap now eclipse that of many traditional exchanges and regularly surpass $200 million daily. Uniswap has over $170 million in Total Value Locked \(TVL\) by liquidity providers. Uniswap does not have a native platform or governance token. + +Uniswap has had its smart contracts audited and formally verfied by dapp.org. Uniswap maintains a bug bounty program. + +| Resources | | +|:-------------- |:------------------------------------------------------------------------ | +| Official site | [https://uniswap.org/](https://uniswap.org/) | +| Developer docs | [https://uniswap.org/docs/v2](https://uniswap.org/docs/v2) | +| GitHub | [https://github.com/Uniswap](https://github.com/Uniswap) | +| Discord | [https://discord.com/invite/EwFs3Pp](https://discord.com/invite/EwFs3Pp) | + diff --git a/zh/core-concepts/supported-strategies/yearn.finance.md b/zh/core-concepts/supported-strategies/yearn.finance.md new file mode 100644 index 000000000..3f23b9fdb --- /dev/null +++ b/zh/core-concepts/supported-strategies/yearn.finance.md @@ -0,0 +1,25 @@ +# Yearn.finance + +{% hint style="info" %} +Coming soon. Yearn.finance has not yet been integrated. +{% endhint %} + +Yearn.finance, formerly iEarn.finance, is a yield aggregation platform built on Ethereum and launched in January 2020 by Andre Cronje. Yearn manages yield farming and rebalancing strategies using a combination of automation and human decision making on behalf of users who have deposited capital. + +Yearn has two yield aggregation products, Earn and Vaults. Earn allows users to deposit stablecoins or wrapped BTC into liquidity pools on Curve to earn fees and governance token rewards. These assets are also lent out on platforms offering high yield and token rewards, adding to the yield earned. + +Vaults offer a more automated and managed experience. Users deposit assets such as LINK, Curve liquidity provider tokens, or stablecoins and the Vault pools these assets together and deploys the highest earning yield farming strategy as deemed safe by the community and Andre Cronje. Governance tokens earned as rewards are sold off for the original asset deposited and combined with other fees and automatically rolled into the Vault to compound yield. Strategies can be changed frequently and pooling assets together saves gas costs for users. + +Yearn is governed by YFI, an ERC-20 governance token. YFI holders can vote on protocol changes after agreeing to lock up their YFI for 3 days. YFI can also be staked for yield in the governance portal. This yield comes from fees charged to users on Yearn products. YFI was distributed entirely to liquidity providers on Curve and Balancer. There was no allocation for team members or investors. + +Yearn's total value locked \(TVL\) has quickly grown to over $800 million, making it one of the largest DeFi platforms. YFI has a circulating market cap of over $400 million. + +Yearn has undergone multiple security and smart contract audits by CertiK, Quantstamp, HackMD, and CryptoManiacs. Yearn has a reputation for launching experimental products very quickly and warns users that their products are in beta. + +| Resources | | +|:-------------- |:-------------------------------------------------------------------- | +| Official site | [https://yearn.finance/](https://yearn.finance/) | +| Developer docs | [https://docs.yearn.finance/](https://docs.yearn.finance/) | +| GitHub | [https://github.com/iearn-finance](https://github.com/iearn-finance) | +| Discord | [https://discord.gg/uTmHe8r](https://discord.gg/uTmHe8r) | + diff --git a/zh/core-concepts/wrapped-ousd.md b/zh/core-concepts/wrapped-ousd.md new file mode 100644 index 000000000..bea00ee4b --- /dev/null +++ b/zh/core-concepts/wrapped-ousd.md @@ -0,0 +1,31 @@ +# Wrapped OUSD + +Wrapped OUSD provides a non-rebasing version of OUSD that still earns yield. This makes it easier to use OUSD as a building block for other contracts and it may provide tax benefits in some jurisdictions. + +![Two flavors, up only](https://cdn-images-1.medium.com/max/1600/1\*cqRG-8-64XYx9QChoMxk3g.png) + +### How wrapped OUSD works + +When you wrap OUSD, you get back a fixed number of wOUSD tokens. This number will not go up - you will have the same number of wOUSD tokens tomorrow as you have today. However, the number of OUSD tokens that you can unwrap will go up over time. + +For example, if you wrap 10,000 OUSD, you might receive 9,423 wOUSD. If you hold for a while, you will still have 9,423 wOUSD, but when you unwrap the wOUSD, you receive 11,500 OUSD. + +Both OUSD and wOUSD earn at the same rate and can be transferred just like any other ERC-20 token. wOUSD is one of the first implementations of [EIP-4626](https://eips.ethereum.org/EIPS/eip-4626), which is an extension on ERC-20 that provides basic functionality for depositing and withdrawing tokens and reading balances on a tokenized vault. wOUSD was independently [audited by Solidified](https://github.com/OriginProtocol/security/blob/3dc8c1dec2f6fbf4f7d0bdf92408f79262624647/audits/Solidified%20-%20OGV,%20wOUSD,%20and%20ERC721a%20-%20May%202022.pdf) in May 2022 and is ready for production use. + +### Wrapping + +If you don’t already have OUSD, you can buy it from Gate.io, KuCoin, Curve, Uniswap, or [get it directly from the OUSD DApp](https://www.youtube.com/watch?v=UabjvL-7iu4). + +Once you have OUSD in your wallet, visit [ousd.com/wrap](https://ousd.com/wrap) and follow these steps: + +1. Connect your wallet +2. Enter the amount of OUSD that you want to wrap +3. Submit the allowance for the wOUSD contract to use your OUSD +4. Submit the transaction to wrap your OUSD + +![ousd.com/wrap](https://cdn-images-1.medium.com/max/1600/1\*57fSZSSlzebhpIl8R4UqUQ.png) + +### Unwrapping + +Unwrapping your OUSD does not require any approvals since you already hold the wOUSD in your wallet. There's also no minimum term or lock-up period. You can use the same form shown above and just click the arrow to flip it to unwrap mode. This form calls the `redeem` function to unwrap a spcific amount of wOUSD. You can also [use Etherscan](https://etherscan.io/address/0xd2af830e8cbdfed6cc11bab697bb25496ed6fa62#writeProxyContract) to call the `withdraw` function if you prefer to specify the amount of OUSD that you want to be taken out. + diff --git a/zh/core-concepts/yield-generation/README.md b/zh/core-concepts/yield-generation/README.md new file mode 100644 index 000000000..b1d3861bc --- /dev/null +++ b/zh/core-concepts/yield-generation/README.md @@ -0,0 +1,30 @@ +# Yield Generation + +**Automated Yield Farming** + +While the Cambrian explosion of new lending and automated market maker pools has fueled total value locked (TVL), it has also made it increasingly challenging for yield farmers to manually allocate capital in efficient and optimal ways. + +[Yearn](https://yearn.finance) has demonstrated that smart contracts can automate the rebalancing of funds across various strategies to optimally earn lending interest, market-making fees, and rewards tokens. Over time, new strategies will be deployed that maximize returns while minimizing risk and dependencies. + +![Automated yield farming on the OUSD protocol](../../.gitbook/assets/ousd_earnings_graphic.png) + +OUSD uses the following high-level strategies for generating yield: + +{% content-ref url="lending.md" %} +[lending.md](lending.md) +{% endcontent-ref %} + +{% content-ref url="market-making.md" %} +[market-making.md](market-making.md) +{% endcontent-ref %} + +{% content-ref url="rewards.md" %} +[rewards.md](rewards.md) +{% endcontent-ref %} + +OUSD is able to generate higher yields than competing protocols due to a combination of important design decisions that amplify the rewards that are returned to OUSD holders: + +* Exit fees are returned to the pool, rewarding long term holders +* Price oracles favor the collective over the individual, again rewarding long term holders +* Smart contracts must manually opt-in to earn yield. This allows the protocol to put more capital to work than would be otherwise possible. +* Smart strategies balance risk and reward more effectively than deploying capital in any single underlying strategy. diff --git a/zh/core-concepts/yield-generation/lending.md b/zh/core-concepts/yield-generation/lending.md new file mode 100644 index 000000000..fa7607781 --- /dev/null +++ b/zh/core-concepts/yield-generation/lending.md @@ -0,0 +1,26 @@ +# Lending + +**Unbank the Banked** + +DeFi lending platforms let users lend and borrow crypto assets without any middlemen. Both lenders and borrowers get more value from their crypto. Lenders earn interest, while borrowers deposit crypto as collateral to gain access to credit without traditional banking headaches. DeFi lending platforms currently provide far superior returns for lenders than are generally available in the traditional markets. + +OUSD integrates with DeFi lending platforms that provide over-collateralized loans. Over-collateralization, combined with smart rules around liquidations, provide a reasonable level of security for lenders. Aave also additionally secures their lending pools with AAVE tokens respectively, further lowering risk. + +OUSD integrates with leading lending providers that have a proven track record, audited smart contracts, and have successfully lent hundreds of millions of dollars without issue. We are currently integrated with the following lending platforms: + +{% content-ref url="../supported-strategies/compound.md" %} +[compound.md](../supported-strategies/compound.md) +{% endcontent-ref %} + +{% content-ref url="../supported-strategies/aave.md" %} +[aave.md](../supported-strategies/aave.md) +{% endcontent-ref %} + + + + + + + + + diff --git a/zh/core-concepts/yield-generation/market-making.md b/zh/core-concepts/yield-generation/market-making.md new file mode 100644 index 000000000..464b5f13e --- /dev/null +++ b/zh/core-concepts/yield-generation/market-making.md @@ -0,0 +1,22 @@ +# Market Making + +**Own your Stake in Decentralized Exchanges** + +Automated market makers (AMMs) have quickly risen as the preferred form of decentralized exchange on the Ethereum network. This is in part due to the difficulty of supporting order book DEXes on Ethereum 1.0 that can rival the instant and low-slippage experiences on centralized exchanges. Further, AMMs like Uniswap are relatively user-friendly and gas-efficient to use. + +AMMs can only enable new markets when liquidity providers supply liquidity (e.g. multiple tokens for given trading pairs or pools). In return for providing liquidity, liquidity providers are rewarded with trading fees when other users swap tokens. For example, when traders swap two tokens on Uniswap v3, they are currently charged anywhere between 0.05% and 1% on top of the gas fees. These fees are distributed pro-rata to liquidity providers of the pair based on the percentage of total liquidity that they have provided. + +{% hint style="info" %} +[Impermanent loss](https://medium.com/@pintail/uniswap-a-good-deal-for-liquidity-providers-104c0b6816f2) is an important risk factor to understand, but this concern is largely mitigated by OUSD only providing liquidity for stablecoins of approximately equal value. +{% endhint %} + +The OUSD protocol routes USDT, USDC, and DAI to highly-performing liquidity pools as determined by trading volume and rewards tokens (e.g. Curve rewards CRV tokens to liquidity providers). Yields are then passed on to OUSD holders. + +We are currently integrated with the following automated market maker: + +{% content-ref url="../supported-strategies/curve.md" %} +[curve.md](../supported-strategies/curve.md) +{% endcontent-ref %} + + + diff --git a/zh/core-concepts/yield-generation/rewards.md b/zh/core-concepts/yield-generation/rewards.md new file mode 100644 index 000000000..f598afe7c --- /dev/null +++ b/zh/core-concepts/yield-generation/rewards.md @@ -0,0 +1,12 @@ +# Rewards + +**Collecting Rewards** + +In addition to collecting interest from lending and fees from market making, we intend to automatically claim and convert the bonus incentives that are being distributed by many of the DeFi protocols. For example, Compound gives away COMP tokens and Curve gives away CRV tokens. These bonus rewards will be regularly converted into stablecoins, deployed in the market, and distributed to OUSD holders in the form of additional yield. + +{% hint style="info" %} +While the vault safely stores any unexpected rewards that it receives, custom strategies will need to be written and deployed to decide when and how the protocol should convert them to stablecoins. +{% endhint %} + +Today, rewards are a significant factor for yield farmers as they represent a large percentage of their returns. We anticipate that the OUSD protocol will be upgraded over time to take advantage of the most attractive yields available across the DeFi landscape. The protocol will factor in the market value of the various rewards being offered when deciding how to best allocate resources. + diff --git a/zh/faq.md b/zh/faq.md new file mode 100644 index 000000000..6d47859ae --- /dev/null +++ b/zh/faq.md @@ -0,0 +1,33 @@ +# FAQ + +**Where can I buy OUSD?** + +Check out [Getting Started](https://docs.ousd.com/getting-started) to see a variety of options. + +**What are the costs to mint and redeem OUSD?** + +As with any Ethereum transaction, you will need Ether to interact with the OUSD smart contract. We have taken measures to reduce gas usage where possible, but these costs can vary. + +Anytime you mint or redeem OUSD, there will be an exchange rate applied to your stablecoins deposited or withdrawn. You can read more about this in [Price Oracles](https://docs.ousd.com/core-concepts/price-oracles). + +To encourage long-term holding of OUSD and to protect the protocol from attackers, an exit fee of 0.25% is charged on all redeems. You can read more about this in [How It Works](https://docs.ousd.com/how-it-works). + +**How soon will my balance increase once I have OUSD?** + +The amount of OUSD in your wallet will grow each time there is a positive rebase event. You can read more about this in [Elastic Supply](https://docs.ousd.com/core-concepts/elastic-supply). The supply is currently rebased several times per day and is usually correlated with how many people are minting and redeeming OUSD. + +**Why does OUSD not grow when it's held in Uniswap, SushiSwap, etc?** + +By default, rebase events don't affect the supply of OUSD that is sitting in smart contracts. These contracts can opt in to receiving additional OUSD if they are capable of handling elastic supply tokens. You can read more about this in [Rebasing & Smart Contracts](https://docs.ousd.com/core-concepts/elastic-supply/rebasing-and-smart-contracts). + +**How is it possible for the APY to be so high?** + +You can read about our various strategies in [Yield Generation](https://docs.ousd.com/core-concepts/yield-generation). We currently get most of the yield from harvesting rewards tokens (namely COMP and CRV). Additionally, the yield increases as more OUSD is held in smart contracts that do not opt into rebasing since the underlying collateral continues to earn for the average OUSD holder. + +**Why is my balance increasing at a slower rate than the advertised APY?** + +OUSD balances increase when the supply is rebased. But the size of each rebase varies wildly depending on how much the vault has earned since the last rebase. And while most rebases collect a small amount earnings from lending strategies, other rebases involve liquidating rewards tokens or collecting fees. As a result, the yield will vary significantly during short time periods. + +**What about the hack? Is OUSD safe?** + +On November 7th 2020, OUSD was exploited for 7M USD due to a previously undetected reentrancy bug. You can read more [details about the hack](https://medium.com/originprotocol/urgent-ousd-has-hacked-and-there-has-been-a-loss-of-funds-7b8c4a7d534c) on our blog as well as the [detailed compensation plan](https://medium.com/originprotocol/origin-dollar-ousd-detailed-compensation-plan-faa73f87442e) for taking care of the affected users. Origin Dollar was relaunched in December after completing multiple audits and security upgrades. You can learn more about the steps taken to secure the protocol in our [relaunch announcement](https://medium.com/originprotocol/origin-dollar-ousd-is-back-b8ee0c601dad). diff --git a/zh/getting-started.md b/zh/getting-started.md new file mode 100644 index 000000000..2efbef86c --- /dev/null +++ b/zh/getting-started.md @@ -0,0 +1,71 @@ +# 开始 + +这些文档的目的是说明 OUSD 如何运作、传达潜在的风险和益处,并为希望为我们的代码库做出贡献或将 OUSD 集成到其产品中的开发人员提供指南。 您可以通过以下几种方法开始。 + +**Buying OUSD** + +{% hint style="info" %} +The [Origin Dollar DApp](https://ousd.com/swap) will intelligently route your transaction to get you the best rate. +{% endhint %} + +The [Origin Dollar DApp](https://ousd.com/swap) allows anyone to buy or sell OUSD using a web-3 enabled cryptocurrency wallet like [Metamask](https://www.metamask.io), [Ledger](https://www.ledger.com), or [Gnosis Safe](https://gnosis-safe.io). This is the native way to get OUSD, especially if you want a large amount that could risk moving the market on other exchanges. The DApp will intelligently decide whether to create or trade-in OUSD tokens using the vault or help you complete the trade on whichever AMM is currently offering the best rate. + +**Decentralized Exchanges** + +OUSD is currently available on the following decentralized exchanges. These are listed here for reference only. We recommend using the [Origin Dollar DApp](https://ousd.com/swap) to ensure you always get the best rate. + +* [Buy OUSD on 1inch](https://app.1inch.io/#/1/swap/USDT/OUSD) +* [Buy OUSD on Curve](https://curve.fi/factory/9) +* [Buy OUSD on Uniswap v3](https://app.uniswap.org/#/swap?inputCurrency=0xdac17f958d2ee523a2206206994597c13d831ec7\&outputCurrency=0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86) +* [Buy OUSD on Uniswap v2](https://app.uniswap.org/#/swap?inputCurrency=0xdac17f958d2ee523a2206206994597c13d831ec7\&outputCurrency=0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86\&use=v2) +* [Buy OUSD on Sushiswap](https://exchange.sushiswapclassic.org/#/swap?inputCurrency=0xdac17f958d2ee523a2206206994597c13d831ec7\&outputCurrency=0x2a8e1e676ec238d8a992307b495b45b3feaa5e86) + +**Centralized Exchanges** + +OUSD is currently available on the following centralized exchanges. Be sure to check on how they are handling the yield that is being generated by the protocol. Depending on the exchange, there may be additional steps you need to take to participate in the yield while it's being held in their custody. + +* Buy OUSD on KuCoin + * [OUSD/USDT](https://trade.kucoin.com/OUSD-USDT) + * [OUSD/BTC](https://trade.kucoin.com/OUSD-BTC) +* Buy OUSD on Gate.io + * [OUSD/USDT](https://www.gate.io/trade/OUSD\_USDT) +* Buy OUSD on Virgox + * [OUSD/USDT](https://virgox.com/exchange/141) +* [Buy OUSD on Dharma App](https://www.dharma.io) (US only) + +We're continuing to work on making OUSD available on additional centralized exchanges. + +**Adding OUSD to Your Wallet** + +{% hint style="success" %} +The main ERC20 address for Origin Dollar (OUSD) is: \ +**0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +If your OUSD does not automatically show up in your wallet, you should be able to add it manually using the address above. If you are planning on [storing your OUSD in a multi-sig wallet](core-concepts/elastic-supply/rebasing-and-smart-contracts.md), be sure to opt-in to receive yield. We want to have OUSD supported by as many wallets as possible and included on all the various lists of well-known tokens. We would greatly appreciate any help you can offer in this area. + +**Integrating OUSD** + +OUSD is a non-standard ERC-20 token that requires custom integration work for most applications that wish to support it. In particular, it is important for developers to understand how our elastic supply works as this can easily cause unexpected behavior. + +If you are a wallet provider or crypto exchange that is interested in supporting OUSD, please refer to the following guides: + +{% content-ref url="core-concepts/elastic-supply/rebasing-and-smart-contracts.md" %} +[rebasing-and-smart-contracts.md](core-concepts/elastic-supply/rebasing-and-smart-contracts.md) +{% endcontent-ref %} + +{% content-ref url="smart-contracts/architecture.md" %} +[architecture.md](smart-contracts/architecture.md) +{% endcontent-ref %} + +{% content-ref url="smart-contracts/api/" %} +[api](smart-contracts/api/) +{% endcontent-ref %} + +**Developer Analytics** + +Our internal developer dashboard is available at [analytics.ousd.com](https://analytics.ousd.com). The dashboard shows the current circulating supply, the assets under management in the vault, and the current allocations between each of the stablecoins and strategies. + +**Getting Help** + +Please join the Origin Dollar #engineering room in Origin's [Discord](https://www.originprotocol.com/discord) server. Our team and members of our community look forward to helping you build. Your questions help us improve, so please don't hesitate to ask if you can't find what you are looking for here. diff --git a/zh/governance/admin-privileges.md b/zh/governance/admin-privileges.md new file mode 100644 index 000000000..12f205347 --- /dev/null +++ b/zh/governance/admin-privileges.md @@ -0,0 +1,32 @@ +# 管理员权限 + +The OUSD smart contracts are designed to be owner upgradable. The Origin team uses two different Gnosis multisig wallet contracts in order to make changes to the protocol. These multisig wallets have been [audited by OpenZeppelin](https://blog.openzeppelin.com/gnosis-multisig-wallet-audit-d702ff0e2b1e/), [ConsenSys Dilligence](https://blog.gnosis.pm/the-gnosis-multisig-wallet-and-our-commitment-to-security-ce9aca0d17f6), Origin’s team, and others. + +{% hint style="info" %} +Time-delayed admin actions gives users a chance to exit OUSD if its admins become malicious, are compromised, or make a change that the users do not like. +{% endhint %} + +### Admin + +The primary admin is a 5 of 8 multisig contract which is required to make any code changes to the protocol. OUSD can only be upgraded from this 5 of 8 multi-sig wallet. The keys to this multi-sig are held by individuals with close ties to the company, and not even the Origin founders acting together have enough control to execute owner functions on their own. In addition, the OUSD contracts are owned by a [timelock](../smart-contracts/api/timelock.md) which places a 48 hour time delay before any changes to the protocol can be made. + +### Strategist + +Some functionality, such as rebalancing funds between strategies or pausing deposits, can be triggered without the timelock and with far fewer signers. This allows the Origin team to react more quickly to market conditions or security threats. These signers, known as Strategists, have the ability to execute a limited number of functions __ with only 2 of 9 signers. + +The strategist multisig can do the following actions on the vault: + +* reallocate - move funds between strategies +* setVaultBuffer - adjust the amount of funds held outside strategies for cheaper redeems. +* setAssetDefaultStrategy - which strategy mints and redeems pull from for a particular strategy +* withdrawAllFromStrategy - remove funds from a single strategy and send them to the vault +* withdrawAllFromStrategies - remove funds from all active strategies and send them to the vault +* pauseRebase - pause all rebases +* pauseCapital - pause all mints and redeems +* unpauseCapital - allow all mints and redeems + +### Future + +Having these admin privileges is necessary in the early days to ensure that the protocol is secure and optimized for earning yields while minimizing risks. We expect to release multiple iterations of our smart contracts in the first several months of the protocol's existence. + +Once several upgrade cycles have been completed, we intend to transfer ownership from our company control to a decentralized governance contract, thereby allowing the community to vote and participate in future protocol updates. diff --git a/zh/governance/contributing.md b/zh/governance/contributing.md new file mode 100644 index 000000000..5b63d22c7 --- /dev/null +++ b/zh/governance/contributing.md @@ -0,0 +1,103 @@ +# Contributing + +**100% Open-source** + +OUSD is an entirely open-source project and we welcome contributions of all sorts. There are many ways to help, from reporting issues, contributing code, and helping us improve our community. + +{% content-ref url="broken-reference" %} +[Broken link](broken-reference) +{% endcontent-ref %} + +We work in public and our company Discord is open to all. If you have questions or need help getting started, our [Discord OUSD channels](https://discord.gg/jyxpUSe) are the best place to get assistance from our team and community. + +{% content-ref url="broken-reference" %} +[Broken link](broken-reference) +{% endcontent-ref %} + +**Developer Analytics** + +Our internal developer dashboard is available at [analytics.ousd.com](https://analytics.ousd.com). The dashboard shows the current circulating supply, the assets under management in the vault, and the current allocations between each of the stablecoins and strategies. Various other developer tools can be found at [ousd.com/dashboard](https://ousd.com/dashboard). + +#### Development Process + +Our branching strategy is similar to [GitFlow](http://nvie.com/posts/a-successful-git-branching-model/), but we do all of our development in the `master` branch and have a `stable` branch for code that has been released. + +Your development flow should look like: + +1. Find an interesting issue and communicate! Please let the `#engineering` [Discord](https://discord.gg/jyxpUSe) channel know what you want to work on. +2. Ping a [core team member](https://github.com/orgs/OriginProtocol/teams/core/members) member on Discord and ask to be added to our [contributors team](https://github.com/orgs/OriginProtocol/teams/contributors). Otherwise, you’ll need to fork the relevant repository and push feature branches to your own fork. +3. Add a comment to the issue or self-assign so we don’t have multiple contributors unintentionally working on the same task. +4. Start with the `master` branch and check out a new feature branch unless you’re contributing to an existing feature. +5. Write some awesome code. +6. Pull the latest commits from `master` and confirm that your code works with any other work that has been merged since you started. +7. Push your branch to the upstream repository (i.e. https://github.com/OriginProtocol/\[repo]) so that other contributors can easily work off of it if necessary. +8. Please request a review in the PR by clicking on the gear icon next to “Reviewers” in the right column. + +For critical smart contract code to be merged it must pass the following checklist: + +* Code reviewed by 2 reviewers +* Unit tests pass +* Slither tests pass with no warning +* Echidna tests pass + +The `master` branch is locked so that only members of the [core team](https://github.com/orgs/OriginProtocol/teams/core) are able to merge your pull requests. Pull requests that are peer-reviewed by other trusted contributors will be fast-tracked and merged faster! Check in the `#engineering` Discord channel for appropriate reviewers. + +#### Coding Style + +We use a variety of programming languages in our repositories. When contributing, please follow existing coding conventions and refer to the CONTRIBUTING.md file in the repository, if one exists. + +For JavaScript, we use [NPM’s style](https://docs.npmjs.com/misc/coding-style), which is automatically enforced via [prettier](https://prettier.io). + +For Solidity, we use two-space indents. + +#### Protocol Design + +When considering protocol or implementation design proposals, we are looking for: + +* A description of the problem this design proposal solves +* Discussion of the trade-offs involved +* Review of other existing solutions +* Links to relevant literature (RFCs, papers, etc) +* Discussion of the proposed solution + +Please note that protocol design is hard and meticulous work. You may need to review existing literature and think through generalized use cases. + +#### Community Guidelines + +We want to keep the Origin community awesome, growing and collaborative. We need your help to keep it that way. To help with this we’ve come up with some general guidelines for the community as a whole: + +* Be nice: Be courteous, respectful and polite to fellow community members: no regional, racial, gender, or other abuse will be tolerated. We like nice people way better than mean ones! +* Encourage diversity and participation: Make everyone in our community feel welcome, regardless of their background and the extent of their contributions, and do everything possible to encourage participation in our community. +* Keep it legal: Basically, don’t get anybody in trouble. Share only content that you own, do not share private or sensitive information, and don’t break laws. +* Stay on topic: Make sure that you are posting to the correct channel and avoid off-topic discussions. Remember when you update an issue or respond to an email you are potentially sending to a large number of people. Please consider this before you update. Also remember that nobody likes spam. + +#### Reporting Issues + +If you find bugs, mistakes or inconsistencies in Origin’s code or documents, please let us know by filing a GitHub issue. No issue is too small. Help us fix our tpyos! + +#### Security Issues + +OUSD is still in early development, which means there may be problems with the protocol or in our implementations. We take security vulnerabilities very seriously. If you discover a security issue, please bring it to our attention right away! + +If you find a security vulnerability please send your report privately to [security@originprotocol.com](mailto:security@originprotocol.com) or send an encrypted message to [@joshfraser on Keybase](https://keybase.io/joshfraser). Please DO NOT file a public issue. Be sure to review our guidelines for responsible disclosure and eligibility for bug bounties. + +{% content-ref url="../security-and-risks/bug-bounties.md" %} +[bug-bounties.md](../security-and-risks/bug-bounties.md) +{% endcontent-ref %} + +#### **Community Improvement** + +Origin is just as much about community as it is about our technology. + +We need constant help in improving our documentation, building new tools to interface with our platform, spreading the word to new users, helping new users getting setup and much more. + +Please get in touch if you would like to help out. Our `discussion` channel on [Discord](https://www.originprotocol.com/discord) is a great place to share ideas and volunteer to help. + +#### Full-Time Positions + +Origin occasionally hires developers for part-time or full-time positions. + +We have a strong preference for hiring people who have already started contributing to the project. If you want a full-time position on our team, your best shot is to engage with our team and start contributing code. It is very unlikely that we would offer you a full-time position on our engineering team unless you’ve had at least a few pull requests merged. + +If you are interested, check out [the Origin Protocol job listings](https://angel.co/originprotocol/jobs). If you’d like to help in other ways, please propose your ideas in [our Discord channel](https://www.originprotocol.com/discord). + diff --git a/zh/governance/governance.md b/zh/governance/governance.md new file mode 100644 index 000000000..c0a2891e5 --- /dev/null +++ b/zh/governance/governance.md @@ -0,0 +1,26 @@ +# 原则 + +**渐进式去中心化** + +我们希望 OUSD 能够成为一个由世界各地的许多利益相关者管理的一个去中心化协议。 我们认为 OUSD 的铸造者和持有者应该尽快地开始共同做出重要的协议决定。 + +但是在OUSD的早期,核心工程团队必须能够迅速而果断地采取行动,以构建协议的基础部分。 + +在接下来的几个月里,OUSD的去中心化将通过四个阶段快速进行。 我们的目标是尽快将控制权和治理权移交给社区。 + +![](../.gitbook/assets/ousd_docs_graphics_2%20%283%29.png) + +**时间锁** + +在实时完全去中心化式治理之前,我们将为所有管理员功能调用实施 [时间锁](../smart-contracts/api/timelock-1.md) 。如果 OUSD 用户对我们提出的升级有异议,他们会有\(48 小时\) 提取资金。 时间锁将在 OUSD 推出后添加。 + +**新的和现有的利益相关者** + +OUSD 是由 Origin Protocol [团队](www.originprotocol.com/team) 创建的一个新项目,将得到现存的 Origin 社区以及选择铸造、持有,使用OUSD并为其提供流动性的许多新利益相关者的支持。 + +此外,我们也希望确保我们现有的 Origin Token \(OGN\) 持有者,近50万名社区成员以及平台上的买家/卖家的积极参与。 现有的 OGN 持有者将能够 stake 他们的 OGN 以参与治理,并获得为OUSD 创造价值的激励。 我们接下来会提供更多详细信息。 + +OUSD 与 Origin 商务平台的其他部分之间的紧密联系将推动这两项计划的增长。 + + + diff --git a/zh/governance/ogn-staking.md b/zh/governance/ogn-staking.md new file mode 100644 index 000000000..e7a3e0bc2 --- /dev/null +++ b/zh/governance/ogn-staking.md @@ -0,0 +1,18 @@ +# OGN Staking + +Origin Token (OGN) is intended as the governance token for OUSD and OGN will play an increasingly important role as the Origin Platform becomes more decentralized. Today, users can stake their OGN tokens to earn additional OGN after a chosen staking period has elapsed. + +{% hint style="info" %} +Visit the [OUSD DApp](https://www.ousd.com/stake) in a web3-enabled browser to stake your OGN. +{% endhint %} + +The initial staking program offers three staking periods and respective yields: + +* 30-day staking period: Earn 7.5% annualized interest +* 90-day staking period: Earn 12.5% annualized interest +* 365-day staking period: Earn 25% annualized interest + +Staked tokens will be locked for the duration of the staking period. After each staking period ends, you will be able to claim both your initial OGN (principal) and yield. + +OGN is currently trading on top exchanges like [Coinbase](https://www.coinbase.com/price/origin-token), [Binance](https://www.binance.com/en/register?ref=NPPYAEAE), [Huobi](https://www.huobi.com/en-us/exchange/ogn_usdt/), [Upbit](https://upbit.com/exchange?code=CRIX.UPBIT.BTC-OGN), [Bittrex Global](https://global.bittrex.com/Market/Index?MarketName=BTC-OGN), and [dozens more](https://coinmarketcap.com/currencies/origin-protocol/markets/). Visit the Origin website to [learn more about OGN](https://www.originprotocol.com/ogn-token) or check out the [OGN Dashboard](https://www.originprotocol.com/dashboard) to track important token metrics. + diff --git a/zh/governance/phases.md b/zh/governance/phases.md new file mode 100644 index 000000000..4b45be826 --- /dev/null +++ b/zh/governance/phases.md @@ -0,0 +1,6 @@ +# Phases + +Progressive decentralization will follow four phases as outlined below. + +![](../.gitbook/assets/ousd_docs_graphics_2%20%282%29.png) + diff --git a/zh/governance/principles.md b/zh/governance/principles.md new file mode 100644 index 000000000..b809ce66f --- /dev/null +++ b/zh/governance/principles.md @@ -0,0 +1,30 @@ +# Principles + +**Governance Portal** + +OGN holders are encouraged to participate in creating and voting on proposals that impact the protocol in the [OGN governance portal](https://vote.originprotocol.com). Anyone with at least 1,000 OGN in their wallet or staked in our OGN Staking contract can create a new proposal using Snapshot. All OGN holders are able to vote for proposals. Our desire is for our community to have a strong impact on the direction of Origin’s products, open-source codebase, and to have a voice in key business decisions and the overall direction of the project. + +OGN holders can also [delegate votes](vote-delegation.md) to another account. + +**Progressive Decentralization** + +OUSD is designed to be a decentralized protocol governed by many stakeholders all over the world. We believe that the holders of OUSD should collectively determine important protocol decisions as soon as possible. + +That being said, in the very early days, it is imperative that the core engineering team can act quickly and decisively to build the foundational parts of the protocol. + +Decentralization will progress across four phases rapidly over the next few months. It is our intent to relinquish control and governance to the community as soon as possible. + +![](../.gitbook/assets/ousd\_docs\_graphics\_2 (2).png) + +**Timelock** + +Prior to full decentralized governance, we will implement a [timelock](../smart-contracts/api/timelock.md) in front of all admin function calls, giving OUSD users time to withdraw their funds if they have objections to our proposed upgrades. + +**New and Existing Stakeholders** + +OUSD is a new project founded by Origin Protocol [team](https://www.originprotocol.com/team) and will be supported by the existing Origin community as well as many new stakeholders that choose to mint, hold, use, and provide liquidity for OUSD. + +In addition, we also want to ensure high participation from our existing Origin Token (OGN) holders and the millions of people in our community. Existing OGN holders are able to [stake their OGN](ogn-staking.md) to participate in governance and earn incentives for driving value to OUSD. + +The strong connection between OUSD and the rest of the Origin commerce platform will fuel growth in both initiatives. + diff --git a/zh/governance/vote-delegation.md b/zh/governance/vote-delegation.md new file mode 100644 index 000000000..9a8149d2f --- /dev/null +++ b/zh/governance/vote-delegation.md @@ -0,0 +1,18 @@ +# Vote Delegation + +OGN holders can forward their voting power on the [Governance Portal](https://vote.originprotocol.com/#/) to another Ethereum address. Choosing this option does not strip the delegator of their voting power. The delegatee receives the extra voting power only on proposals the delegator has not voted on. + +This is convenient when users want someone they trust or even one of Origin's team members to make governance decisions regarding Origin's ecosystem. It is also useful when users have OGN stored more safely in a hardware wallet and don’t want to go through the hassle of connecting it to the computer. A more accessible Ethereum wallet e.g. Metamask can be used to vote by having voting power delegated to it from the hardware wallet.\ + + +**How to Delegate** + +* Go to: [https://snapshot.org/#/delegate](https://snapshot.org/#/delegate). +* Type in the address or ENS name you want to delegate to. +* There is an option to limit the delegation power to only Origin’s products by selecting _Limit delegation to a specific space_ and typing in “origingov.eth”. +* Click confirm to save your delegation.\ + + +![](../.gitbook/assets/Screenshot 2022-03-20 at 10.47.43.png) + +After completing these steps, the OGN voting power is successfully delegated to the address specified. diff --git a/zh/guides/incentivized-harvesting-guide.md b/zh/guides/incentivized-harvesting-guide.md new file mode 100644 index 000000000..a24597e9c --- /dev/null +++ b/zh/guides/incentivized-harvesting-guide.md @@ -0,0 +1,46 @@ +# Incentivized Harvesting Guide + +The OUSD Harvester contract collects reward tokens earned by the OUSD strategies, sells them, and sends them on to increase protocol yield. **Anyone can call the harvest and earn 1% of the resulting USDT** for doing so. This creates a self-incentivizing system that operates at a known cost to the protocol. + +### When to call + +You'll want to call this contract when it is profitable to do so. You gain the 1% harvest USDT given by the contract, and spend the gas cost to send the transaction. + +The simplest way to calculate both of these is to simulate the transaction. You can then look at the resulting transfers to know the income received, and you can look at the gas amount used, the current gas prices, and the current cost of ETH, to find out the cost. + +Alternatively you can precompute the gas used for a given strategy's harvest, look up the pending reward tokens using various online services, then do your calculations without using the blockchain. + +The amount of rewards increases at a fairly steady, predictable rate. The primary variation is in gas prices, which will make a much bigger minute to minute difference on when you should call this. + +When calculating profitability, remember to account for the cost to swap back to ETH from USDT. + +### How to call + +When you call the harvest, **you will want to use some form of MEV protection**. Otherwise bots will see that your transaction is profitable, and execute it ahead of you, leaving you no gain and only gas fees. + +To harvest, you call `harvester.harvestAndSwap(strategyAddress, rewardTo)`. + +The harvester address and strategyAddresses can be found in the strategy tab of the [contract registry](../smart-contracts/registry.md). The `rewardTo` address is the account that will receive the USDT funds as a reward for calling the function - use your own address for it. + +Below is the harvestAndSwap ABI: + +``` +[{ + "inputs": [ + { + "internalType": "address", + "name": "_strategyAddr", + "type": "address" + }, + { + "internalType": "address", + "name": "_rewardTo", + "type": "address" + } + ], + "name": "harvestAndSwap", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" +}] +``` diff --git a/zh/guides/integration-guide-for-exchanges.md b/zh/guides/integration-guide-for-exchanges.md new file mode 100644 index 000000000..cda6f2cd1 --- /dev/null +++ b/zh/guides/integration-guide-for-exchanges.md @@ -0,0 +1,34 @@ +# Integration Guide For Exchanges + +Centralized exchanges will play an important role in helping us reach our goal of making OUSD ubiquitous. We are happy to help any exchange that wants to make OUSD available to its users. We believe OUSD will make a great addition to any exchange that wants to offer both a superior stablecoin and a new high-yield opportunity for their users. + +These docs are a great starting point for understanding how OUSD works. Here are some important questions for exchanges that wish to integrate OUSD to consider: + +**Do you want to participate in the yield that is generated?** + +We're assuming the answer will be yes and we highly encourage this as well! However, there may be some instances where you would prefer to move fast and list OUSD without participating in the [rebasing nature of OUSD](../core-concepts/elastic-supply/rebasing-and-smart-contracts.md) since it's the fastest and simplest integration. For exchanges that want to list OUSD, but are strapped for engineering resources, you may want to launch the non-rebasing version first while your engineers make whatever changes are necessary. To make OUSD non-rebasing you can call `rebaseOptOut()` from each EOA wallet that holds OUSD, or do nothing if you are storing OUSD on smart contracts. Non-rebasing OUSD behaves just like any other ERC-20 token. + +**Are you storing customer balances on smart contracts (ie. multi-sigs) or EOA wallets?** + +Any smart contract that is holding OUSD needs to manually opt-in to receive the yield by calling `rebaseOptIn()`. This is due to the [elastic supply](../core-concepts/elastic-supply/) and the [rebasing nature of OUSD](../core-concepts/elastic-supply/rebasing-and-smart-contracts.md). Many exchanges sweep customer funds into a multi-sig wallet for cold storage. If you do this, you'll want to make sure that you opt-in to rebasing so that you are always earning. + +**Are you caching user balances?** + +OUSD dynamically updates the value returned by the `balanceOf()` function on our ERC20 contract. Users' balances will update at unpredictable times as new yield is generated by the protocol. As long as you aren't caching this value, users will always see the correct amount of OUSD that they are holding. + +It's important to note that while OUSD is a rebasing token, user balances will only rebase in a positive direction (your balance will never go down). This makes things a lot simpler than integrating with other rebasing coins like AMPL or other algo-stables. + +**Are you comingling user funds?** + +If you are comingling funds, you'll want to be sure that each user gets their pro-rata amount of the yield that is generated by the protocol. Probably the easiest way to do this is to track each user's balance as a percentage of a pool instead of as a fixed amount. + +**Are you planning to provide liquidity?** + +The Origin team is often willing to provide a market maker and initial liquidity for exchanges that wish to integrate OUSD. There are also 9 figures worth of liquidity available on decentralized exchanges like [Curve](https://curve.fi/factory/9). + +If you are interested in using OUSD to power your own staking or earning program, you will probably want to be able to access OUSD on demand. OUSD can always be minted or redeemed using the [Origin Dollar DApp](https://www.ousd.com), or directly from the OUSD [smart contracts](../smart-contracts/registry.md). If you are planning on providing liquidity yourself, you should be aware that the exact amount of OUSD you will receive in exchange for your USDT, USDC, or DAI depends on the current exchange rates as determined by the [oracles.](../core-concepts/price-oracles.md) If you are planning on redeeming OUSD for the underlying stablecoins, you should know there is a 0.25% exit fee and OUSD will return a basket of stable coins in proportion to the backing stablecoins in the pool. We encourage exchanges to leverage existing pools of liquidity to avoid those fees. If possible, mints or redeems should be done in large batches for maximum efficiency. + +#### Do you have other questions? + +The best way to get help from both our engineering and business teams is usually on [Discord](https://www.originprotocol.com/discord). + diff --git a/zh/how-it-works.md b/zh/how-it-works.md new file mode 100644 index 000000000..061ececf6 --- /dev/null +++ b/zh/how-it-works.md @@ -0,0 +1,39 @@ +# How It Works + +#### 100% Backed and Stable + +Origin Dollar (OUSD) is an ERC-20 compliant token for the Ethereum network. + +OUSD is a stable currency that is backed 1:1 by other stablecoins like USDT, USDC and DAI. As a result, 1 OUSD should always be very close to 1 USD in value. + +{% hint style="success" %} +1 OUSD = 1 USD +{% endhint %} + +#### Buying OUSD + +Users can convert their existing stablecoins (currently USDT, USDC, and DAI) to OUSD at the official [Origin Dollar DApp](https://www.ousd.com). Received OUSD begins accruing compounding yield immediately. + +The Origin DApp will intelligently route user's transactions to give them the best available price while taking slippage and gas costs into consideration. This means that the DApp will sometimes encourage users to buy OUSD that is already in circulation versus minting fresh OUSD from the vault. The OUSD DApp will choose from multiple sources of liquidity and will suggest the option that gives the user the best possible rate. + +**Selling OUSD** + +Users can convert their OUSD back into other stablecoins at any time using the [Origin Dollar DApp](https://www.ousd.com). The Origin DApp will intelligently route user's transactions to give them the best available price while taking slippage, gas costs, and the vault's exit fee into consideration. This means that the DApp will often help users sell their OUSD on AMM's instead of redeeming OUSD with the vault and incurring the protocol's exit fee. + +A 0.25% exit fee is charged upon redemption with the vault. This fee is distributed as additional yield to the remaining participants in the vault (ie. other OUSD holders). The fee serves as a security feature to make it difficult for attackers to take advantage of lagging oracles, preventing them from siphoning stablecoins from the vault in the event of mispriced underlying assets. The fee exists to incentivize long-term holders over short-term speculators. + +Upon redemption, the vault will determine which stablecoin(s) to return to the user. In the current implementation, the vault will return coins in the same ratio as the current holdings. This lack of user optionality also protects the vault as a whole in the event that any of the supported stablecoins loses its peg to the dollar. + +{% hint style="warning" %} +Redemptions on the OUSD vault incur a **0.25% exit fee** and the user doesn't get to pick which stablecoins they receive. Users can often avoid this fee by selling to an AMM instead. +{% endhint %} + +#### A**utomated Yield Farming** + +OUSD generates yields by deploying the underlying stablecoins that were deposited to the OUSD smart contract to other DeFi protocols such as Compound, Aave, and Curve. There may be new diversified strategies added to the vault in the future. Collected interest, trading fees, and rewards tokens are pooled and converted to stablecoins to produce OUSD-denominated yields. Over time, the protocol will move assets in and out of different liquidity pools in order to provide the best yield to the holders of OUSD. + +#### **Elastic Supply** + +The generated returns are passed on to the holders of OUSD via constant rebasing of the money supply. OUSD constantly adjusts the money supply in response to the yield the protocol has generated. This allows the price of OUSD to stay pegged at $1 while the balances in token holders' wallets adjust in real-time to reflect yields that have been earned by the protocol. + +The end result is a stablecoin that is easy to spend, earns outsized yields automatically, and is more desirable to hold than existing stablecoins. diff --git a/zh/security-and-risks/asset-risk.md b/zh/security-and-risks/asset-risk.md new file mode 100644 index 000000000..00b7fc318 --- /dev/null +++ b/zh/security-and-risks/asset-risk.md @@ -0,0 +1,33 @@ +# 错误赏金 + +**错误赏金** + +所有Bug赏金由Origin Protocol酌情判断。 奖励的范围从小问题 **$ 100** 到重大漏洞的 **$ 250,000** 。 Currently, the bounty program only applies to OUSD and not other products from Origin. + +{% hint style="warning" %} +以获得赏金的资格,您必须遵守以下概述的“负责任的披露”规则。 +{% endhint %} + +**负责任的披露** + +安全是我们的重中之重。我们已尽一切努力确保我们的代码安全并按预期运作。 然而,有未检测到的一些大大小小的漏洞的可能性还是存在的。 + +如果您发现一个漏洞,我们希望您能够立刻通知我们,以便我们采取措施尽快解决它。 + +如果发现漏洞,请按照以下步骤: + +* 将您的报告发送到[security@originprotocol.com](mailto:security@originprotcol.com) 或通过Keybase[联系 Josh Fraser ](https://keybase.io/joshfraser)。 +* 不要趁机利用发现的漏洞或问题 +* 在问题被解决之前,不要向其他人透露问题 +* 请勿对物理安全,社会工程,分布式拒绝服务攻击,垃圾邮件或第三方应用程序进行攻击 +* 请提供足够的信息以帮助我们重现该问题,以便我们能够尽快解决它。 复杂的漏洞可能需要进一步解释说明,因此我们可能会要求您提供额外的信息。 + +我们承诺: + +* 我们将在3个工作日内回复您,并提供我们对报告内容的评估和预计的解决日期 +* 如果您按照以上的步骤,我们将不会对您采取任何法律行动。 +* 我们会以严格保密的方式处理您的报告。未经您的允许,我们是不会将您的个人信息传递给第三方的。 +* 如果您希望的话,我们会跟您分享问题解决的进展 +* 在与报告有关的公共信息中,我们将把您的名字公开为问题发现者\(除非您不希望我们透露您的身份\) +* 为了感谢您的协助,对于我们之前不知道的每一个安全问题报告,我们都会给予奖励。 奖励的金额将根据问题的严重性,报告的质量以及您提供的任何其他帮助来确定。 + diff --git a/zh/security-and-risks/audits.md b/zh/security-and-risks/audits.md new file mode 100644 index 000000000..20d813fd0 --- /dev/null +++ b/zh/security-and-risks/audits.md @@ -0,0 +1,40 @@ +# 审核 + +**The OUSD Vault, ERC-20, and Overall System** + +OUSD has been audited by multiple, well-respected security firms. We have worked with [OpenZeppelin](https://openzeppelin.com), [Trail of Bits](https://www.trailofbits.com), [Solidified](https://solidified.io), and [Certora](https://www.certora.com) to audit all of the code that powers Origin Dollar. Their findings are available below: + +* [Trail of Bits, OUSD Audit, December 2020](https://github.com/OriginProtocol/security/blob/master/audits/Trail%20of%20Bits%20-%20Origin%20Dollar%20-%20Dec%202020.pdf) +* [Solidified, OUSD Audit, December 2020](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20Origin%20Dollar%20-%20Dec%202020.pdf) +* [Solidified, OGN Staking Audit, December 2020](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20OGN%20Staking%20-%20Dec%202020.pdf) +* [Certora, OUSD Formal Verification Audit, January 2021](https://www.certora.com/pubs/OriginFeb2021.pdf) +* [OpenZeppelin, OUSD Audit, August 2021](https://github.com/OriginProtocol/security/blob/master/audits/OpenZeppelin%20-%20Origin%20Dollar%20-%20October%202021.pdf) +* [Solidified, wOUSD, ERC721a, Governance, Harvester & Dripper Audit, May 2022](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20OGV%2C%20wOUSD%2C%20and%20ERC721a%20-%20May%202022.pdf) + +Both our initial and future governance tokens have been audited as well: + +* [Trail of Bits, OGN Audit, November 2018](https://github.com/OriginProtocol/security/blob/master/audits/Trail%20of%20Bits%20-%20Origin%20Marketplace%20and%20OGN%20Token%20-%20Nov%202018.pdf) +* [Solidified, OGV Audit, May 2022](https://github.com/OriginProtocol/security/blob/master/audits/Solidified%20-%20OGV%2C%20wOUSD%2C%20and%20ERC721a%20-%20May%202022.pdf) + +In addition, the underlying strategies and dependencies that OUSD utilizes have been thoroughly audited by various firms. + +{% hint style="info" %} +OUSD only integrates strategies that have been carefully audited and battle-tested with significant capital over an extended period of time. +{% endhint %} + +**Compound Strategy and Open Price Feed** + +Compound has been audited by [Trail of Bits](https://www.trailofbits.com) and [OpenZeppelin](https://openzeppelin.com) and formally verified by [Certora](https://www.certora.com). Visit the Compound website for their [full list of audits](https://compound.finance/docs/security#audits) including the original code for the modified [Timelock](../smart-contracts/api/timelock.md) that OUSD is using. + +**Aave Strategy** + +Aave has been audited by [Trail of Bits](https://www.trailofbits.com), [OpenZeppelin](https://openzeppelin.com), [ConsenSys Diligence](https://consensys.net/diligence/), [Certik](https://certik.io), [MixBytes](https://mixbytes.io), and [PeckShield](https://peckshield.com). They have also been formally verified by [Certora](https://www.certora.com). Visit the Aave website for [their full list of audits](https://docs.aave.com/developers/security-and-audits). + +**Curve Strategy** + +Curve has been audited by [Trail of Bits](https://www.trailofbits.com) and [Quantstamp](https://quantstamp.com). Visit the Curve website for [their full list of audits](https://www.curve.fi/audits). + +**Chainlink Oracles** + +Chainlink has been audited by [Quantstamp](https://github.com/smartcontractkit/chainlink/tree/bafa91c), [SigmaPrime](https://github.com/smartcontractkit/chainlink/tree/cee356), [Callisto](https://gist.github.com/yuriy77k/c3a70d212a7f9ecda715252e45073158), and [Nick Johnson](https://github.com/smartcontractkit/chainlink/tree/5327f9). + diff --git a/zh/security-and-risks/bug-bounties.md b/zh/security-and-risks/bug-bounties.md new file mode 100644 index 000000000..d6e21196f --- /dev/null +++ b/zh/security-and-risks/bug-bounties.md @@ -0,0 +1,32 @@ +# Bug Bounties + +**Bug Bounties** + +Bug bounties are granted at the full discretion of Origin Protocol. The rewards range in size from **$100 OUSD** for minor issues to **$250,000 OUSD** for major vulnerabilities. Currently, the bounty program only applies to OUSD and not other products from Origin. + +{% hint style="warning" %} +In order to be eligible for a bug bounty, you must follow the rules of Responsible Disclosure outlined below. +{% endhint %} + +**Responsible Disclosure** + +Security is our top priority and we've taken every effort to make sure our code is secure and works as intended. However, it's completely possible that vulnerabilities both large and small may have gone undetected. + +In case you discover a vulnerability, we would like to know about it immediately so we can take steps to address it as quickly as possible. + +If you discover a vulnerability, please do the following: + +* Report your findings to [security@originprotocol.com](mailto:security@originprotocol.com) or contact [Josh Fraser on Keybase](https://keybase.io/joshfraser). Here is an example of a [well written disclosure](https://gist.github.com/DanielVF/66f459da88804d1fd917c47576c68523). +* Do not take advantage of the vulnerability or problem you have discovered +* Do not reveal the problem to others until it has been resolved +* Do not use attacks on physical security, social engineering, distributed denial of service, spam or applications of third parties +* Do provide sufficient information to reproduce the problem, so we will be able to resolve it as quickly as possible. Complex vulnerabilities may require further explanation so we might ask you for additional information. + +In return, we promise: + +* We will respond to your report within 3 business days with our evaluation of the report and an expected resolution date +* If you have followed the instructions above, we will not take any legal action against you in regard to the report +* We will handle your report with strict confidentiality, and not pass on your personal details to third parties without your permission +* If you so wish we will keep you informed of the progress towards resolving the problem +* In the public information concerning the problem reported, we will give your name as the discoverer of the problem (unless you desire otherwise) +* As a token of our gratitude for your assistance, we offer a reward for every report of a security problem that was not yet known to us. The amount of the reward will be determined based on the severity of the leak, the quality of the report, and any additional assistance you provide. diff --git a/zh/security-and-risks/contributing.md b/zh/security-and-risks/contributing.md new file mode 100644 index 000000000..223ec24f1 --- /dev/null +++ b/zh/security-and-risks/contributing.md @@ -0,0 +1,95 @@ +# 如何贡献 + +**100% 开源。** + +OUSD 是一个完全开源的项目,而我们欢迎各种各样的贡献。 您可以通过报告问题,贡献代码或帮助我们改善社区的多种方式提供帮助。 + +我们的工作和我们的公司 Discord 都是公开的。 如果您有任何疑问或需要任何帮助,我们的 Discord OUSD 渠道是从我们的团队和社区获得帮助的最佳场所。 + +**Developer Analytics** + +Our internal developer dashboard is available at [analytics.ousd.com](https://analytics.ousd.com). The dashboard shows the current circulating supply, the assets under management in the vault, and the current allocations between each of the stablecoins and strategies. + +#### 开发过程 + +Our branching strategy is similar to [GitFlow](http://nvie.com/posts/a-successful-git-branching-model/), but we do all of our development in the `master` branch and have a `stable` branch for code that has been released. + +Your development flow should look like: + +1. 选择一个您感兴趣的问题! 请在 `#engineering` [Discord](https://discord.gg/jyxpUSe) 频道里让我们的团队知道您想贡献的内容。 +2. 在 Discord 给其中一位 [核心团队成员](https://github.com/orgs/OriginProtocol/teams/core/members) 发信息,并要求把您添加到我们的 [贡献者团队](https://github.com/orgs/OriginProtocol/teams/contributors)。 否则,您需要分支相关的存储库,并将功能分支推到您自己的分叉。 +3. 在议题上添加评论或将议题分配给自己,这样我们不会有多个贡献者无意间试图解决同一个问题。 +4. 从 `master` 分支开始,然后签出新功能分支,除非您想为现有功能做出贡献。 +5. 遵循适当的 [编码样式](https://docs.originprotocol.com/guides/getting_started/contributing.html#contributing-email-coding-style) 并编写一些很棒的代码。 +6. 从 `master` 提取最新提交,并确认您的代码可与自您开始之后已合并的任何其他代码一起使用。 +7. 将您的分支推到上游存储库 \(即 https://github.com/OriginProtocol/\[repo\]\) ,以便其他贡献者可以轻松地使用它。 +8. 请通过单击右列的“Reviewers”旁边的齿轮图标来请求 PR 的审阅。 + +For critical smart contract code to be merged it must pass the following checklist: + +* Code reviewed by 2 reviewers +* Unit tests pass +* Slither tests pass with no warning +* Echidna tests pass + +The `master` branch is locked so that only members of the [core team](https://github.com/orgs/OriginProtocol/teams/core) are able to merge your pull requests. Pull requests that are peer-reviewed by other trusted contributors will be fast-tracked and merged faster! Check in the `#engineering` Discord channel for appropriate reviewers. + +#### 编码风格 + +We use a variety of programming languages in our repositories. When contributing, please follow existing coding conventions and refer to the CONTRIBUTING.md file in the repository, if one exists. + +For JavaScript, we use [NPM’s style](https://docs.npmjs.com/misc/coding-style), which is automatically enforced via [prettier](https://prettier.io/). + +For Solidity, we use two-space indents. + +#### 协议设计 + +When considering protocol or implementation design proposals, we are looking for: + +* A description of the problem this design proposal solves +* Discussion of the trade-offs involved +* Review of other existing solutions +* Links to relevant literature \(RFCs, papers, etc\) +* Discussion of the proposed solution + +Please note that protocol design is hard and meticulous work. You may need to review existing literature and think through generalized use cases. + +#### 社区准则 + +We want to keep the Origin community awesome, growing and collaborative. We need your help to keep it that way. To help with this we’ve come up with some general guidelines for the community as a whole: + +* Be nice: Be courteous, respectful and polite to fellow community members: no regional, racial, gender, or other abuse will be tolerated. We like nice people way better than mean ones! +* Encourage diversity and participation: Make everyone in our community feel welcome, regardless of their background and the extent of their contributions, and do everything possible to encourage participation in our community. +* Keep it legal: Basically, don’t get anybody in trouble. Share only content that you own, do not share private or sensitive information, and don’t break laws. +* Stay on topic: Make sure that you are posting to the correct channel and avoid off-topic discussions. Remember when you update an issue or respond to an email you are potentially sending to a large number of people. Please consider this before you update. Also remember that nobody likes spam. + +#### 报告问题 + +If you find bugs, mistakes or inconsistencies in Origin’s code or documents, please let us know by filing a GitHub issue. No issue is too small. Help us fix our tpyos! + +#### 安全问题 + +OUSD is still in early development, which means there may be problems with the protocol or in our implementations. We take security vulnerabilities very seriously. If you discover a security issue, please bring it to our attention right away! + +If you find a security vulnerability please send your report privately to [security@originprotocol.com](mailto:security@originprotocol.com) or send an encrypted message to [@joshfraser on Keybase](https://keybase.io/joshfraser). Please DO NOT file a public issue. Be sure to review our guidelines for responsible disclosure and eligibility for bug bounties. + +{% page-ref page="bug-bounties.md" %} + +#### **社区发展** + +Origin is just as much about community as it is about our technology. + +We need constant help in improving our documentation, building new tools to interface with our platform, spreading the word to new users, helping new users getting setup and much more. + +Please get in touch if you would like to help out. Our `general` channel on [Discord](https://www.originprotocol.com/discord) is a great place to share ideas and volunteer to help. + +#### 全职职位 + +Origin occasionally hires developers for part-time or full-time positions. + +We have a strong preference for hiring people who have already started contributing to the project. If you want a full time position on our team, your best shot is to engage with our team and start contributing code. It is very unlikely that we would offer you a full-time position on our engineering team unless you’ve had at least a few pull requests merged. + +If you are interested, check out [the Origin Protocol job listings](https://angel.co/originprotocol/jobs). If you’d like to help in other ways, please propose your ideas in [our Discord channel](https://www.originprotocol.com/discord). + + + diff --git a/zh/security-and-risks/insurance.md b/zh/security-and-risks/insurance.md new file mode 100644 index 000000000..f805d14f1 --- /dev/null +++ b/zh/security-and-risks/insurance.md @@ -0,0 +1,15 @@ +# Insurance + +OUSD holders can buy smart contract insurance to cover any losses that might result from any bugs or vulnerabilities in the OUSD contracts, including economic exploits (such as flash loans attacks). In addition, anyone who wants to make a financial bet on the security of our contracts can earn a yield by providing coverage. + +DeFi coverage for OUSD is currently available via[ Nexus Mutual](https://nexusmutual.io) and [InsurAce Protocol](https://www.insurace.io). These partnerships allow for more effective risk management by OUSD holders while creating new opportunities for coverage providers to profit. + +Read our [announcement post](https://medium.com/originprotocol/origin-partners-with-nexus-mutual-to-offer-defi-insurance-for-origin-dollar-ousd-6eb3432ee042) to learn how to [buy coverage](https://app.nexusmutual.io/cover/buy/get-quote?address=0xE75D77B1865Ae93c7eaa3040B038D7aA7BC02F70), [provide coverage](https://app.nexusmutual.io/staking), or [participate in shield mining campaigns](https://app.nexusmutual.io/rewards) with Nexus Mutual. You can learn more about InsurAce and how to buy coverage on their [user guide](https://docs.insurace.io/landing-page/documentation-1/user-guide) or [documentation](https://docs.insurace.io/landing-page/). + +**Nexus Mutual Coverage** + +Read our[ announcement post](https://medium.com/originprotocol/origin-partners-with-nexus-mutual-to-offer-defi-insurance-for-origin-dollar-ousd-6eb3432ee042) to learn how to[ buy coverage](https://app.nexusmutual.io/cover/buy/get-quote?address=0x0000000000000000000000000000000000000016),[ provide coverage](https://app.nexusmutual.io/staking), and[ participate in shield mining campaigns](https://app.nexusmutual.io/rewards) with Nexus Mutual. + +**InsurAce Protocol Coverage** + +Read InsurAce Protocol’s [User Guide](https://docs.insurace.io/landing-page/documentation-1/user-guide) to learn how to [buy coverage](https://docs.insurace.io/landing-page/documentation-1/user-guide/dashboard) and participate in [underwriting mining](https://docs.insurace.io/landing-page/documentation-1/user-guide/how-to-stake) for OUSD. diff --git a/zh/security-and-risks/risks.md b/zh/security-and-risks/risks.md new file mode 100644 index 000000000..64dc13dc0 --- /dev/null +++ b/zh/security-and-risks/risks.md @@ -0,0 +1,44 @@ +# Risks + +{% hint style="danger" %} +Use at your own risk. Do not deploy more capital than you are willing to lose. +{% endhint %} + +As with any yield-generating DeFi product, there are associated risks with holding OUSD that are important to understand. These risks can be broadly classified into 3 categories: + +* OUSD smart contract risk +* Underlying third-party platform risk +* Underlying stablecoin risk + +**OUSD smart contract risk** + +Our smart contracts have been [audited](audits.md) by multiple, well-respected security firms. However, it is important to note that even with formal audits, it is still possible for there to be logic errors that could lead to the loss of funds for OUSD holders. The contracts involve complex math and logic. While we have taken every precaution to ensure the safety and security of our smart contracts, users are reminded to use at their own risk. Origin Protocol will not be held responsible for any loss of funds, regardless of who is at fault. + +**Third-party platform risk** + +OUSD is built on top of other DeFi platforms like Aave, Compound, and Curve that add additional smart contract risk. We are choosing to work with platforms that have literally billions of dollars of assets under management and have made a reasonable efforts to ensure the security of their protocols. However, there are no guarantees that the underlying third-party platforms will continue to work as intended, and any failure in an underlying strategy would potentially lead to a loss of funds for OUSD holders. + +**Stablecoin risks** + +It is important to understand that OUSD is only as strong as the stablecoins that are backing it. Any loss of value to an underlying stablecoin asset will cause a similar loss to the value of OUSD. While OUSD is designed to maintain a 1:1 relationship between supply and number of backing stablecoins, it does not guarantee which stablecoins will make up that backing nor the value of those coins. + +It is important to note that each of the supported stablecoins introduces non-trivial counter-party risk. Tether, in particular, has had well-documented banking troubles and regulatory challenges. In addition, both USDT and USDC have backdoors that grant their issuers the power to freeze money in their holder's wallets. While DAI does not have any direct backdoors, its assets can also be negatively impacted since USDC and USDT are accepted as collateral for minting DAI. + +**Risk mitigation** + +While it's impossible to guarantee our contracts are 100% safe, we have taken every step possible to mitigate the chance of losing funds: + +We regularly have our work [audited ](audits.md)by the top auditors in the industry. + +[DeFi insurance](insurance.md) is availble to offer smart contract coverage as an optional add-on service for OUSD holders. + +We have retained [Certora](https://www.certora.com) to formally verify the various security properties of our contracts. They helped us establish automated verifications that will run anytime we update our contract code. We have automated checking for common errors with [Slither](https://github.com/crytic/slither) and [Echidna](https://github.com/crytic/echidna) tests. Together, these alert our team to common security issues in addition to our own test suite. + +Code reviews involving our smart contracts are incredibly rigorous. We require at least two engineers to review each change with a detailed checklist and we prioritize security reviews over new feature development. + +Finally, we have formalized an engineering [rotation](https://github.com/OriginProtocol/security/blob/master/incidents/ROTATION.md) for reviewing [attacks on other projects](https://github.com/OriginProtocol/security/tree/master/incidents) as well as ensuring we deep dive into each of these reviews, including reviewing the affected contracts' source code ourselves. We've observed that attackers often exploit the same fundamental vulnerability on multiple different projects. By reviewing other project's vulnerabilities, we force ourselves to stay up to date on the latest security threats in our industry and are constantly learning from their mistakes. + +**Actions speak louder than words** + +You should also know that many members of the Origin team, including both founders, are holding a significant portion of their personal wealth in OUSD. Origin Protocol's corporate treasury is also holding millions of dollars in OUSD. We have skin in the game and are willing to put our own money at risk with the code we have written. + diff --git a/zh/security-and-risks/untitled.md b/zh/security-and-risks/untitled.md new file mode 100644 index 000000000..b9641f742 --- /dev/null +++ b/zh/security-and-risks/untitled.md @@ -0,0 +1,20 @@ +# 审核 + +{% hint style="danger" %} +OUSD 智能合约尚未经过审核。 我们强烈建议您在存入大量资金之前,先查看我们的智能合约。 +{% endhint %} + +**OUSD** + +我们已经安排了安全公司 [Trail of Bits](https://www.trailofbits.com/)审核 OUSD,该审核将于2020年10月上旬进行。 他们的审计结果将在第一时间公开发布。 + +**支持策略** + +Compound 已完成多次审核,可以在它们的网站上查看细节。 这包括 OUSD 修改的 [时间锁(Timelock)](../smart-contracts/api/timelock-1.md) 所使用的的原始代码。 + +{% page-ref page="untitled.md" %} + + + + + diff --git a/zh/smart-contracts/api/README.md b/zh/smart-contracts/api/README.md new file mode 100644 index 000000000..ff400f20f --- /dev/null +++ b/zh/smart-contracts/api/README.md @@ -0,0 +1,9 @@ +# API + +Documentation of contracts API used by the protocol: + +* [Vault](vault.md) +* [ERC-20](erc-20-1.md) +* [Timelock](timelock.md) +* [Stategies](strategies.md) + diff --git a/zh/smart-contracts/api/erc-20-1.md b/zh/smart-contracts/api/erc-20-1.md new file mode 100644 index 000000000..164343cc0 --- /dev/null +++ b/zh/smart-contracts/api/erc-20-1.md @@ -0,0 +1,16 @@ +# ERC-20 + +{% hint style="success" %} +The main ERC20 address for Origin Dollar (OUSD) is: \ **0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +OUSD is an ERC-20 compliant token with one novel property (elastic supply) that is important to understand. + +{% hint style="warning" %} +Wallets and exchanges that wish to integrate OUSD should not cache token balances for OUSD as this value will change frequently as yield is accrued to token holders. +{% endhint %} + +The biggest difference separating OUSD from your average ERC-20 token is the way OUSD's`balanceOf()` function will return a variable amount based on the total value of the vault multiplied by the holder's stake in the vault. This difference is vital to understand, particularly for wallets and exchanges that wish to integrate the OUSD token. This value should be fetched in real-time instead of being cached since OUSD rebases frequently. + + + diff --git a/zh/smart-contracts/api/oracle.md b/zh/smart-contracts/api/oracle.md new file mode 100644 index 000000000..362749de7 --- /dev/null +++ b/zh/smart-contracts/api/oracle.md @@ -0,0 +1,7 @@ +# Oracles + +{% hint style="info" %} +Documentation coming soon. +{% endhint %} + +OUSD uses Chainlink [oracles](../../core-concepts/price-oracles.md) to secure the protocol from pricing attacks. You can [read more about our decision to work with Chainlink](https://blog.originprotocol.com/how-origin-uses-chainlink-oracles-to-secure-ousd-bff5601e840e) on the Origin blog. diff --git a/zh/smart-contracts/api/ousd.md b/zh/smart-contracts/api/ousd.md new file mode 100644 index 000000000..8d6981144 --- /dev/null +++ b/zh/smart-contracts/api/ousd.md @@ -0,0 +1,8 @@ +# OUSD + +{% hint style="info" %} +Documentation coming soon. +{% endhint %} + + + diff --git a/zh/smart-contracts/api/strategies.md b/zh/smart-contracts/api/strategies.md new file mode 100644 index 000000000..a275b76e6 --- /dev/null +++ b/zh/smart-contracts/api/strategies.md @@ -0,0 +1,14 @@ +# Strategies + +{% hint style="info" %} +Documentation coming soon. +{% endhint %} + +New strategies can be added or removed at any time to respond to new market realities and diversify risk. + +Once we migrate to decentralized governance, it is our intent for the community to propose new strategies and to vote on the appropriate weight for each strategy in the pool. We anticipate that most OUSD holders will value having some exposure to higher yield opportunities while maintaining more conservative positions for a portion of the funds. + + + + + diff --git a/zh/smart-contracts/api/timelock-1.md b/zh/smart-contracts/api/timelock-1.md new file mode 100644 index 000000000..2730bbdee --- /dev/null +++ b/zh/smart-contracts/api/timelock-1.md @@ -0,0 +1,22 @@ +# 时间锁 + +{% hint style="danger" %} +确保一切正常运作后,时间锁将很快的被添加。 在此之前,所有合约将由 Origin 的 5 of 8 多签钱包管理。 如果发现任何关键问题的话,这允许问题的迅速处理。 +{% endhint %} + +在执行 OUSD 合同的任何更改之前,时间锁合约会强制执行 48 小时的等待期。 The timelock can be called by our multi-sig and is the owner of our [ERC-20](../architecture.md), [Vault](vault.md), and [Strategies](strategies.md) contracts. 如果 OUSD 的管理员变得恶意,受到威胁或做出用户不喜欢的更改,则延时的管理员操作将给用户机会退出 OUSD。 + +{% hint style="info" %} +时间锁是一项安全措施,如果 OUSD 持有者反对协议的任何拟议升级,则可以使用这 48 小时的时间提取资金。 +{% endhint %} + +OUSD 使用的时间锁是 [Composite Timelock](https://compound.finance/docs/governance) 的略微修改版本,该版本已[由OpenZeppelin进行了审核](https://blog.openzeppelin.com/compound-finance-patch-audit/)。 3个显着差异是: + +1. OUSD 最初将使用比 Compound(72小时)更短的等待时间(48小时),以便在发现任何问题时更快地做出响应。 +2. 48 小时过后,任何人都可以自由执行更改,而不仅仅是合约的主人。 +3. 存款(不包括取款或转账)可以立即被冻结,而无需等待 48 小时的等待时间。 这是在发现关键漏洞的情况下。 + + + + + diff --git a/zh/smart-contracts/api/timelock.md b/zh/smart-contracts/api/timelock.md new file mode 100644 index 000000000..2273ddad7 --- /dev/null +++ b/zh/smart-contracts/api/timelock.md @@ -0,0 +1,15 @@ +# Timelock + +The timelock contract enforces a 48 hour wait period before any changes to the OUSD contracts can be executed. The timelock can be called by our multi-sig and is the owner of our [ERC-20](../architecture.md), [Vault](vault.md), and [Strategies](strategies.md) contracts. Time-delaying admin actions gives users a chance to exit OUSD if its admins become malicious, are compromised, or make a change that the users do not like. + +{% hint style="info" %} +The timelock is a safety measure that gives OUSD holders 48 hours to withdraw their funds if they have objections to any proposed upgrades to the protocol. +{% endhint %} + +OUSD is using a slightly modified version of the [Compound Timelock](https://compound.finance/docs/governance) which has been [audited by OpenZeppelin](https://blog.openzeppelin.com/compound-finance-patch-audit/). The two notable differences are: + +1. OUSD will initially use a shorter wait period (48 hours) than Compound (72 hours) to allow for a faster response if any issues are discovered. +2. Some actions, such as reallocating funds between existing strategies and freezing deposits can be called immediately by a multisig wallet without requiring the 48 waiting period. This is in case a major vulnerability is discovered. + + + diff --git a/zh/smart-contracts/api/vault.md b/zh/smart-contracts/api/vault.md new file mode 100644 index 000000000..13a7a8601 --- /dev/null +++ b/zh/smart-contracts/api/vault.md @@ -0,0 +1,184 @@ +--- +description: >- + The vault is the main contract of the protocol. The vault is responsible for minting/redeeming OUSD tokens, rebalancing funds between the various supported strategies, and liquidating rewards tokens. +--- + +# Vault + +## Units + +All OUSD amounts passed or returned by the Vault methods use 18 decimal places. For example, 1 OUSD is expressed as 1000000000000000000. + +For other stable coins, the number of decimal places varies. DAI uses 18 decimal places while USDC and USDT use only 6. + +The protocol was updated in November are [currently underway](https://github.com/OriginProtocol/origin-dollar/issues/590) to increase the resolution of rebasing calculations from 18 decimals to 27 decimals. The OUSD token itself will still retain 18 decimals of precision and user balances should not change. + +## Methods‌ + +### mint() + +**`function mint(address _asset, uint256 _amount, uint256 _minimumOusdAmount)`**‌ + +Mints OUSD in exchange for a deposit of a certain `_amount` of stablecoin specified by the `_asset` parameter. The caller receives a certain amount of OUSD depending on the **exchange rate**. + +| Parameter Name | Type | Description | +| --------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | +| \_asset | address | Address of the [supported](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/core-concepts/supported-assets) stablecoin | +| \_amount | uint256 | Amount deposited, expressed in decimal units | +| \_minimumOusdAmount | uint256 | Minimum amount of OUSD the caller is willing to receive. The call to mint() reverts if the minimum is not met. | + +### mintMultiple() + +**`function mintMultiple(address[] _assets, uint256[] _amounts, uint256 _minimumOusdAmount)`**‌ + +Mints OUSD in exchange for a deposit of multiple stablecoins in a single call. Stablecoins are specified by the `_assets` array parameter and the amounts by the `_amounts` array parameter. The caller receives a certain amount of OUSD depending on the **exchange rate**. + +| Parameter Name | Type | Description | +| --------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| \_assets | address\[] | Addresses of the [supported](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/core-concepts/supported-assets) stablecoins | +| \_amounts | uint256\[] | Amounts deposited, expressed in decimal units | +| \_minimumOusdAmount | uint256 | Minimum amount of OUSD the caller is willing to receive. The call to mint() reverts if the minimum is not met. | + +{% hint style="warning" %} +On redemptions, it is the protocol and not the user that decides which stablecoin(s) are returned to the user. This decision of which coin(s) to return is based on the internal ratios of the assets that are being held in the vault.‌ +{% endhint %} + +### redeem() + +**`function redeem(uint256 _amount)`**‌ + +OUSD specified by the `_amount` parameter is redeemed in exchange for one or multiple supported stablecoins. Amount of stablecoins received depends on the **exchange rate**. + +| Parameter Name | Type | Description | +| -------------- | ------- | ----------------------------------------- | +| \_amount | uint256 | amount of OUSD expressed in decimal units | + +### redeemAll()‌ + +**`function redeemAll()`**‌ + +All OUSD in user's possession is redeemed in exchange for one or multiple supported stablecoins. Amount of stablecoins received depends on the **exchange rate**. + +### rebase() + +**`function rebase()`**‌ + +Updates the balances for all users based on the value of the assets currently stored in the vault. Returns total value of the underlying assets and strategies represented by `uint256` type.‌ + +### allocate() + +**`function allocate()`**‌ + +Moves the assets under management into their prescribed [Stategies](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/architecture/strategies) to maximize yield and diversify risk.‌ + +### totalValue() + +**`function totalValue()`**‌ + +Returns total value of underlying assets and strategies. + +| `return` name | Type | Description | +| ------------- | ------- | ------------------------------------------------ | +| value | uint256 | total value of underlying assets and strategies. | + +### checkBalance() + +**`function checkBalance(address _asset)`**‌ + +Returns the balance of an asset specified by the`_asset` parameter held in Vault and all strategies represented by `uint256` type. + +| Parameter Name | Type | Description | +| -------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | +| \_asset | address | Address of the [supported](https://app.gitbook.com/@originprotocol/s/ousd/\~/drafts/-MHSojsgAcBjyg6RCmpF/core-concepts/supported-assets) stablecoin | + +### calculateRedeemOutputs() + +**`function calculateRedeemOutputs(uint256 _amount)`**‌ + +Calculate the mix of stablecoins that a `redeem` function would return when redeeming certain amount of OUSD specified by the `_amount` parameter. Returns an array of stablecoin values. + +To attribute the stablecoin values to the correct stablecoin currency this call should be used in conjunction with `getAllAssets` function that returns an array of stablecoin addresses. + +The index of an array that is returned by the `calculateRedeemOutputs` corresponds to the stablecoin address with the same index in an array returned by the `getAllAssets` function. + +| Parameter Name | Type | Description | +| -------------- | ------- | ----------------------------------------- | +| \_amount | uint256 | amount of OUSD expressed in decimal units | + +| `return` name | Type | Description | +| ------------- | ----------- | --------------------------------------------------------------------------- | +| outputs | uint256\[] | array of the amount of the stablecoin assets `redeem` function would return | + +### getAssetCount() + +**`function getAssetCount()`**‌ + +Return the number of supported stablecoin assets represented by `uint256` type.‌ + +### getAllAssets() + +**`function getAllAssets()`**‌ + +Return all assets addresses of supported stablecoin assets in order represented by `uint256` type.‌ + +### getStrategyCount()‌ + +**`function getStrategyCount()`**‌ + +Return the number of strategies active on the Vault represented by `uint256` type.‌ + +### getAPR() + +**`function getAPR()`**‌ + +Return the total annual percentage yield (APR) of the Vault and all Strategies represented by `uint256` type. Resulting number has 18 decimal places.‌ + +### isSupportedAsset() + +**`function isSupportedAsset(address _asset)`**‌ + +Return the boolean that is true if the asset specified by the `_asset` parameter is supported by the Vault. + +| Parameter Name | Type | Description | +| -------------- | ------- | ------------------------- | +| \_asset | address | Address of the stablecoin | + +### priceUSDMint() + +**`function priceUSDMint(string symbol)`**‌‌ + +Returns the exchange rate price of a stable coin specified by the `symbol` parameters used when minting OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Parameter Name | Type | Description | +| -------------- | ------ | ------------------------ | +| symbol | string | Symbol of the stablecoin | + +### priceUSDRedeem() + +**`function priceUSDRedeem(string symbol)`**‌‌ + +Returns the exchange rate price of a stable coin specified by the `symbol` parameters used when redeeming OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Parameter Name | Type | Description | +| -------------- | ------ | ------------------------ | +| symbol | string | Symbol of the stablecoin | + +### priceAssetUSDMint()‌ + +**`function priceAssetUSDMint(address _asset)`**‌‌ + +Returns the exchange rate price of a stable coin specified by the `_asset` parameters used when minting OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Parameter Name | Type | Description | +| -------------- | ------- | -------------------------- | +| \_asset | address | Address of the stablecoin‌ | + +### priceAssetUSDRedeem()‌ + +**`function priceAssetUSDRedeem(address _asset)`**‌‌‌ + +Returns the exchange rate price of a stable coin specified by the `_asset` parameters used when redeeming OUSD represented by `uint256` type. Resulting number has 18 decimal places. + +| Parameter Name | Type | Description | +| -------------- | ------- | ------------------------- | +| \_asset | address | Address of the stablecoin | diff --git a/zh/smart-contracts/architecture.md b/zh/smart-contracts/architecture.md new file mode 100644 index 000000000..9ba93dc84 --- /dev/null +++ b/zh/smart-contracts/architecture.md @@ -0,0 +1,18 @@ +# 架构 + +![](../.gitbook/assets/ousd\_docs\_graphics\_3.png) + +OUSD 由一系列智能合约组成。 每一个合约都被包在可以通过治理协议升级的代理合约中。 + +Internally, ownership in the vault is tracked using a credits system that represents the percent ownership of the vault for each holder. 在查看余额或启动钱包之间的转账时由 [ERC-20](api/erc-20-1.md) 合约处理转换为美元的条款。 + +[保险库(Vault)](api/vault.md) 负责铸造和燃烧OUSD。 它也会强制部署到每个受支持的 [策略](../core-concepts/supported-strategies/)的资产百分比。 To optimize gas costs, the vault may maintain a buffer to allow most deposits and redemptions to occur without winding/unwinding assets from strategies. + +The Flipper is a smart contract for users to swap in and out of OUSD cheaply for any of DAI, USDC, or USDT at a fixed 1:1 rate. This contract is used as an alternative way to route user transactions originating from the web app. It's important to note that this contract may be empty on one side (e.g., contain 0 OUSD balance), and thus sometimes provides limited swap routes. While limited in functionality, Flipper uses around 45% less gas than Uniswap v3 due to its simplicity. + +The Harvester contract collects reward tokens earned by the strategies, sells them, and sends the resulting stablecoins to the Dripper to be released to the vault. Anyone can call the harvest and earn 1% of the resulting USDT for doing so. This creates a self-incentivizing system that operates at a known fixed cost. See our [incentivized-harvesting-guide.md](../guides/incentivized-harvesting-guide.md "mention") for details. + +The Dripper contract buffers aproximately one week of reward token sales proceeds and makes it avaiable at a smooth rate to the vault. This keeps OUSD yield from being extremely spiky when harvests come in. The rate is recalculated at least once per day and is the rate that it would take to distribute the current dripper holdings out over a one week period. + + + diff --git a/zh/smart-contracts/erc-20.md b/zh/smart-contracts/erc-20.md new file mode 100644 index 000000000..565729c52 --- /dev/null +++ b/zh/smart-contracts/erc-20.md @@ -0,0 +1,12 @@ +# 架构 + +![](../.gitbook/assets/ousd_docs_graphics_3.png) + +OUSD 由一系列智能合约组成。 每一个合约都被包在可以通过治理协议升级的代理合约中。 + +在内部,每个持有者池中的所有权百分比是用积分系统来跟踪。 在查看余额或启动钱包之间的转账时由 [ERC-20](api/erc-20-1.md) 合约处理转换为美元的条款。 + +[保险库(Vault)](api/vault.md) 负责铸造和燃烧OUSD。 它也会强制部署到每个受支持的 [策略](../core-concepts/supported-strategies/)的资产百分比。 为了优化gas成本,保险库保留了一个缓冲区以允许大多数存款和赎回都可以在无需从策略中存入/清算资产的情况下发生。 + + + diff --git a/zh/smart-contracts/registry.md b/zh/smart-contracts/registry.md new file mode 100644 index 000000000..f2d45b7dd --- /dev/null +++ b/zh/smart-contracts/registry.md @@ -0,0 +1,156 @@ +# Registry + +Here is the full registry of OUSD smart contracts that have been deployed to the Ethereum mainnet. + +{% hint style="success" %} +The main ERC20 address for Origin Dollar (OUSD) is: \ +**0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86** +{% endhint %} + +{% tabs %} +{% tab title="Core" %} +Well-known addresses (proxy wrappers): + + + +| Contract | Address | ENS | +| -------- | --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------- | +| OUSD | [0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86](https://etherscan.io/address/0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86) |

ousd.eth

origindollar.eth

| +| Vault | [0xE75D77B1865Ae93c7eaa3040B038D7aA7BC02F70](https://etherscan.io/address/0xe75d77b1865ae93c7eaa3040b038d7aa7bc02f70) | [originvault.eth](https://etherscan.io/address/originvault.eth) | + + + +Internal implementation contracts. The Vault is split into VaultAdmin and VaultCore to work around the maximum contract size limit on Ethereum: + + + +| Contract | Address | +| ---------- | --------------------------------------------------------------------------------------------------------------------- | +| OUSD | [0x33db8d52d65F75E4cdDA1b02463760c9561A2aa1](https://etherscan.io/address/0x33db8d52d65F75E4cdDA1b02463760c9561A2aa1) | +| VaultAdmin | [0x3EB68D8f4992A0e34aA58cc3dF86A40814078cF6](https://etherscan.io/address/0x3EB68D8f4992A0e34aA58cc3dF86A40814078cF6) | +| VaultCore | [0x226de75867B2f785BA19600e2a7e6eFccD57157B](https://etherscan.io/address/0x226de75867B2f785BA19600e2a7e6eFccD57157B) | +{% endtab %} + +{% tab title="Strategies" %} +Well-known addresses (proxy wrappers): + + + +| Strategy | Address | Auto-Allocation | +| -------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------- | +| Aave | [0x5e3646A1Db86993f73E6b74A57D8640B69F7e259](https://etherscan.io/address/0x5e3646A1Db86993f73E6b74A57D8640B69F7e259) | Manual allocation | +| Compound | [0x9c459eeb3FA179a40329b81C1635525e9A0Ef094](https://etherscan.io/address/0x9c459eeb3FA179a40329b81C1635525e9A0Ef094) | 100% of USDC, USDT and DAI | +| Convex | [0xEA2Ef2e2E5A749D4A66b41Db9aD85a38Aa264cb3](https://etherscan.io/address/0xEA2Ef2e2E5A749D4A66b41Db9aD85a38Aa264cb3#code) | Manual allocation | + + + +Internal implementation contracts: + + + +| Strategy | Address | +| -------- | -------------------------------------------------------------------------------------------------------------------------- | +| Aave | [0xA050eBE34Be464902F7E0F7F451f4B5253d57114](https://etherscan.io/address/0xA050eBE34Be464902F7E0F7F451f4B5253d57114) | +| Compound | [0x47f3eb71b5507df5ab6ac7f8660ef282ab0e560f](https://etherscan.io/address/0x47f3eb71b5507dF5Ab6aC7F8660Ef282Ab0E560f) | +| Convex | [0x08f3a0637851aA1B0E0750aA3d46E0E356f349aC](https://etherscan.io/address/0x08f3a0637851aa1b0e0750aa3d46e0e356f349ac#code) | + + + +Yield harvesting and collection: + + + +| | | +| --------- | -------------------------------------------------------------------------------------------------------------------------- | +| Contract | Address | +| Harvester | [0x21fb5812d70b3396880d30e90d9e5c1202266c89](https://etherscan.io/address/0x21fb5812d70b3396880d30e90d9e5c1202266c89#code) | +| Dripper | [0x80c898ae5e56f888365e235ceb8cea3eb726cb58](https://etherscan.io/address/0x80c898ae5e56f888365e235ceb8cea3eb726cb58#code) | +{% endtab %} + +{% tab title="Oracles" %} +The following Chainlink oracles are used to protect the vault in case a backing stablecoin loses value. They also offer slippage protection when harvesting rewards tokens or executing the OGN buyback. + + + +| Pair | Contract | +| ------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| [USDT/USD](https://data.chain.link/ethereum/mainnet/stablecoins/usdt-usd) | [0x3E7d1eAB13ad0104d2750B8863b489D65364e32D](https://etherscan.io/address/0x3E7d1eAB13ad0104d2750B8863b489D65364e32D) | +| [USDC/USD](https://data.chain.link/ethereum/mainnet/stablecoins/usdc-usd) | [0x8fFfFfd4AfB6115b954Bd326cbe7B4BA576818f6](https://etherscan.io/address/0x8fFfFfd4AfB6115b954Bd326cbe7B4BA576818f6) | +| [DAI/USD](https://data.chain.link/ethereum/mainnet/stablecoins/dai-usd) | [0xAed0c38402a5d19df6E4c03F4E2DceD6e29c1ee9](https://etherscan.io/address/0xAed0c38402a5d19df6E4c03F4E2DceD6e29c1ee9) | +| [COMP/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/comp-usd) | [0xdbd020caef83efd542f4de03e3cf0c28a4428bd5](https://etherscan.io/address/0xdbd020caef83efd542f4de03e3cf0c28a4428bd5) | +| [AAVE/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/aave-usd) | [0x547a514d5e3769680Ce22B2361c10Ea13619e8a9](https://etherscan.io/address/0x547a514d5e3769680Ce22B2361c10Ea13619e8a9) | +| [CRV/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/crv-usd) | [0xcd627aa160a6fa45eb793d19ef54f5062f20f33f](https://etherscan.io/address/0xcd627aa160a6fa45eb793d19ef54f5062f20f33f) | +| [CVX/USD](https://data.chain.link/ethereum/mainnet/crypto-usd/cvx-usd) | [0xd962fC30A72A84cE50161031391756Bf2876Af5D](https://etherscan.io/address/0xd962fC30A72A84cE50161031391756Bf2876Af5D) | +| [OGN/ETH](https://data.chain.link/ethereum/mainnet/crypto-eth/ogn-eth) | [0x2c881b6f3f6b5ff6c975813f87a4dad0b241c15b](https://etherscan.io/address/0x2c881b6f3f6b5ff6c975813f87a4dad0b241c15b) | +{% endtab %} + +{% tab title="Governance" %} + + +| Contract | Address | ENS | +| ------------------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------- | +| 5 of 8 Multisig | [0xbe2AB3d3d8F6a32b96414ebbd865dBD276d3d899](https://etherscan.io/address/0xbe2AB3d3d8F6a32b96414ebbd865dBD276d3d899) | [originprotocol.eth](https://etherscan.io/address/originprotocol.eth) | +| 2 of 9 Multisig | [0xF14BBdf064E3F67f51cd9BD646aE3716aD938FDC](https://etherscan.io/address/0xF14BBdf064E3F67f51cd9BD646aE3716aD938FDC) | [originstrategist.eth](https://etherscan.io/address/originstrategist.eth) | +| Governor / Timelock | [0x72426BA137DEC62657306b12B1E869d43FeC6eC7](https://etherscan.io/address/0x72426BA137DEC62657306b12B1E869d43FeC6eC7) |

origingovernor.eth

origintimelock.eth

| +| OGN Buyback | [0x77314EB392b2be47C014cde0706908b3307Ad6a9](https://etherscan.io/address/0x77314EB392b2be47C014cde0706908b3307Ad6a9) | [originbuyback.eth](https://etherscan.io/address/originbuyback.eth) | +{% endtab %} + +{% tab title="Stablecoins" %} +| Contract | Address | +| ------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| [USDT](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | [0xdac17f958d2ee523a2206206994597c13d831ec7](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | +| [USDC](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | [0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | +| [DAI](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | [0x6b175474e89094c44da98b954eedeac495271d0f](https://etherscan.io/address/0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428) | +{% endtab %} + +{% tab title="Staking" %} +| Contract | Address | ENS | +| ----------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- | +| OGN Staking | [0x501804B374EF06fa9C427476147ac09F1551B9A0](https://etherscan.io/address/0x501804B374EF06fa9C427476147ac09F1551B9A0) | [originstaking.eth](https://etherscan.io/address/originstaking.eth) | + + + +Internal implementation contracts: + + + +| Contract | Address | +| ----------- | --------------------------------------------------------------------------------------------------------------------- | +| OGN Staking | [0x8cd68a1e0b79150455c5498882d5d5d3df2dde08](https://etherscan.io/address/0x8cd68a1e0b79150455c5498882d5d5d3df2dde08) | + + + +OUSD compensation contract ([details](https://medium.com/originprotocol/origin-delivers-on-compensation-promise-claim-your-ousd-and-ogn-now-a9fa9b840476)): + + + +| Contract | Address | +| ----------------- | --------------------------------------------------------------------------------------------------------------------- | +| OUSD Compensation | [0x9C94df9d594BA1eb94430C006c269C314B1A8281](https://etherscan.io/address/0x9C94df9d594BA1eb94430C006c269C314B1A8281) | +{% endtab %} + +{% tab title="Flipper" %} +Flipper is a gas-optimized way for users to swap in and out of OUSD at a fixed 1:1 rate with other stablecoins. This contract may become empty on one side (e.g., contain 0 OUSD balance), and thus sometimes provides limited swap routes. + + + +| Contract | Address | ENS | +| -------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- | +| Flipper | [0xcecaD69d7D4Ed6D52eFcFA028aF8732F27e08F70](https://etherscan.io/address/0xcecaD69d7D4Ed6D52eFcFA028aF8732F27e08F70) | [originflipper.eth](https://etherscan.io/address/originflipper.eth) | +{% endtab %} + +{% tab title="Wrapped" %} +Wrapped OUSD\ +\ **Well known proxy address:** - [0xD2af830E8CBdFed6CC11Bab697bB25496ed6FA62](https://etherscan.io/address/0xD2af830E8CBdFed6CC11Bab697bB25496ed6FA62) + +Internal implementation address - [0xbf3b9b141cb3629f5bb8f721cba9265c92494539](https://etherscan.io/address/0xbf3b9b141cb3629f5bb8f721cba9265c92494539) +{% endtab %} +{% endtabs %} + + + + + + + +