Inspiration

During the last weeks the DeFi space took some serious hits, beginning with Luna-UST crash and the following down-trend of the market. In the middle of this crisis, TronDAO launched USDD, a very ambitious project to give added value to users via a decentralized, over-collateralized, algorithmic stablecoin promising very interesting yield rates (up to 30%). Everything looks good now with USDD, it ticks all boxes: it’s decentralized, over-collateralized with great APY. But is it enough for users to jump on board?

Let’s look at the last part, the promised high yield, up to 30%. How easy is to get that APY? Where is it available? After a quick search everyone can see that 30% is available only on CEX, which is not great for a stablecoin that has the word “decentralized” in its name. So, what about DeFi yields? At the time of writing this is the situation:

  • 12.7% on JustLend.org
  • 16.5% on USDD/USDT (SunSwap) liquidity farming on Sun.io
  • 19% on USDD/USDT (2Pool) liquidity farming on Sun.io
  • 48.5% on USDD/TRX liquidity farming on Sun.io

So, the 30% APY is not available on DeFi, unless you chose to farm the USDD/TRX LP, which exposes your capital to TRX price fluctuation.

The second best option is farming on USDD/USDT pool, which gives you 16%-19% APY. But how easy is to do it? To enter the Sun.io LP farming you need to supply USDD/USDT liquidity to 2Pool or SunSwap and then stake the LP tokens to earn USDD while farming. If you want to exit, you need to do it all in reverse. This might seem intimidating to inexperienced users, DeFi should be accessible to as many users as possible.

Supply liquidity on JustLend.org is the simplest way to access USDD yield, but it’s also the lowest APY of the pack, less than 13%.

So we did some research and tried to find a way to offer Tron and USTX users the best USDD DeFi APY and the simplest way to access it. We worked the math, coded the smart contracts, tested them and now we present WARP, our way to simplify USDD yield harvesting.

img

What it does

Warp is a DeFi app, within the USTX ecosystem, that implements a pseudo delta neutral farming strategy. Mmmm… that doesn’t sound simple at all. Let me try again: it’s an app that allows the users to stake USDD and get the highest DeFi rewards (30%+ APR) with low risk and very easy access.

The UX is very simple, similar to most staking dApps: deposit, claim rewards, compound, withdraw, while behind the scenes the smart contract and the team manage all the complex parts.

  • Interface: web app accessible via browser (pc, mac, mobile)
  • Wallet: Tronlink (Math and Klever will be validated shortly after the release)
  • Deposit token: USDD TRC20
  • Rewards token: USDD TRC20
  • Deposit lock: 1 full epoch (epochs duration is 1 week, changes every Saturday)
  • Rewards lock: till next epoch transition (unlock on Saturday after the request)
  • Rewards compounding: yes, manual compounding available
  • Max Warp factor: 5.0 (+50%) if user has at least 20 USTX in locked staking every USDD deposited
  • Fees: app requires energy to operate, a portion of the rewards will be used for buyback and reserve (max 25%), balance withdraw is not taxed unless the equity ratio is below 100%. This can happen after significant changes in TRX price, but recovers naturally within a few days. The team will create a reserve in the contract to avoid equity ratio < 100%.
  • Custody: the deposits are fully managed within the contract, they will NOT be moved to team wallets. The smart contract handles all the interactions with JustLend, SunSwap, Sun.io and all other contracts required to manage the strategy.
  • Management: the team will monitor the equity level continuously and weekly will re-balance the strategy, to make sure that it stays close to neutrality.
  • APR: Warp yield will vary over time and will depend on Sun.io and JustLend conditions. The team will make sure the contract parameters are always optimized for the best yield and lowest risk.
  • Anti-whale: There is a limit on how much a single user can deposit. At launch the limit will be 1,000 USDD but it will be increased to 10,000 USDD after a few weeks.

app

How we built it

Farming the USDD/TRX LP pair doesn’t protect the user against TRX price loss, so if you enter at a certain TRX price and after some time the price dips significantly your capital has reduced its value, even considering the high farming yield. There is a way to compensate this effect and JustLend makes it possible. If the user supplies USDD to JustLend and then borrows a part in TRX to get the USDD/TRX LP, it creates a situation where the TRX price variations are (almost) cancelled, so the name pseudo delta neutral.

How can it be? If you borrow TRX from JL and add as liquidity in USDD/TRX pool you now have two positions on TRX: the borrow and the LP value. If TRX price increases, the LP value increases, but so does your debt. On the other hand, when TRX price decreases, the LP value is lower, but also your debt position. The overall value of the user invested capital stays roughly the same (supply value— borrow value+LP value). Let’s see this in a chart.

img1

So we’ve fixed the TRX price dependancy, but how about the yield? Can we do better than the 20% that the DeFi options are currently offering? Let’s put some real numbers and make a new chart with the APR, taking into account also the TRX price variation.

img2

Now it looks nice, APR is about 35%. But we’re still not done yet, what is the role of USTX in all this? WARP will merge in the USTX ecosystem in two ways: to generate more buyback and to increase the APR for USTX holders.

The WARP app will distribute weekly rewards to users, but a part of the raw APR will be routed to USTX buyback. The amount of user rewards will always be at least 75% of the total rewards (hardwired in the smart contract), the rest will be used to buyback USTX tokens from the DEX and also as reserve for the WARP contract, to make sure that the overall equity level stays positive at any time (even when the blue line in the chart goes below 0).

To incentive WARP users to also buy and stake USTX tokens, they will benefit from a multiplying factor over the base APR, called Warp Factor. The user warp factor is determined by the amount of USTX the users holds in any of the locked staking options that USTX offers. Maximum warp is obtained when 20 USTX are held for every USDD deposited. At the beginning the Max Warp factor will be 5.0, meaning that the warp APR will be up to 50% higher than the normal APR. Let’s see the final APRs in a chart.

img3

So, making the best use of Tron USDD DeFi options, we’re able to maximize the user rewards and simplify the overall experience at the same time. Warp users will get over 37% APR, while normal deposits still get 25% APR (these APRs will change over time and will depend on Sun.io and JustLend conditions).

Challenges we ran into

Working and debugging smart contracts is never easy, but fortunately most of the times you can work on testnet. Well, that's not the case for WARP. The main contract needs to interface with 17 (seventeen) other smart contracts, most of them live only on mainnet (JustLend, Sun farming, SunSwap), so we needed to design a way to develop and debug directly on mainnet. We partly solved this using a proxy + logic contract structure to be able to test only partial functions and be able to change certain pieces of code after deploy. This of course needed tons of energy, but we had support from some friends with that (@Moneyversac).

Accomplishments that we're proud of

This is one of the most complex project we made, at least on the blockchain side of things. We worked hard to make it in time for the hackathon and we're very proud to see it live and accessible to users with full functionality. We think we have met the main goal of the project: making a simple to use app, with good UX, masking the complex actions that happen behind the scenes. Technology should be about making complex things simple, so that more users can benefit from it. Warp can help the USDD ecosystem increase adoption and bring more users to Tron and USTX.

What we learned

Blockchain coding is hard and sometimes very little things can block development for days. Team work can really make the difference in these situation, since the eyes of one person might not see what is in plain sight of another. USTX team is not big, but we work as one, managing the different aspects of the projects: blockchain, front-end and marketing. Every member is specialized, but we always share the decisions and the road to follow. We learned that even the best project cannot succeed without a strong team behind, that shares a common view.

What's next for Warp by USTX Team

Warp has been released on July 16th: WARP

The team will keep building behind the scenes all the monitoring and management infrastructure to make sure that Warp can safely grow and also adapt to the market and the other apps it interfaces with (JustLend, Sun.io, SunSwap). We'll implement new features (like the auto-balancing contract) and improve the UX by listening to users feedback. We are getting a lot of user interest in a TRX version of WARP, to enable high APR on TRX single staking (20%+ APR). Since all the building blocks are in place we'll add this to our next developments, that might come around end of August. Warp fits within USTX ecosystem and is now the 6th app, together with DEX, Staking, Voting, Teleport bridge (2nd place on Tron Hackathon round 1), UpFolio. USTX journey will continue on Tron and BTTC (launched in July), but will also land on other chains like BSC and Cronos. We'll also keep working with partnerships like we did so far, building a strong community also from the development side.

Built With

+ 12 more
Share this project:

Updates

posted an update

WARP New epoch report

Another week as passed and WARP is really showing interest and great performance. Some stats:

  • TVL increased by 195% over the previous epoch, from 10,000 USDD to 29,500 USDD
  • APRs are still the best rates available: 22.6% the base APR and 33.9% for max WARP APR
  • The slight decrease in APRs is due to the reduction in JL rate for USDD supply and also reduced farming APR on USDD/TRX LP
  • WARP deposits account for over 80% of the total

banner_epoch_28|690x345

The price of USTX shows a significant increase in uptrend due to WARP effect in addition to the staking buyback.

image|567x500

Log in or sign up for Devpost to join the conversation.

posted an update

Warp pill #9: What advantages derive from WARP for USTX users?

I think this is a very interesting topic to explain. WARP fits together in the USTX ecosystem. USTX is the first attempt to create a low volatility asset on Tron, something in between stablecoins and normal tokens/coins. In the USTX platform we have a DEX, a voting portal, a staking app, a portfolio app and the Teleport multichain bridge (Tron, BTCC, BSC, CRONOS). WARP blends in and adds new opportunities both for USTX holders and users of the Tron blockchain that don't have USTX in the wallet.

For USTX users the benefits brought by WARP are twofold:

  1. A part of the rewards is used for weekly tokens buyback. This increases the buyback already present and gives a constant push over USTX price and provides sustainable staking rewards (up to 12%)
  2. The highest APR (over 36% on last epoch) is achieved by holding USTX in staking. This is like a fidelity reward for users that are already committed to USTX, but works as an incentive for new users to buy USTX before entering WARP, just to get the 50% increase in the APR.

After we announced and launched WARP we've seen a significant increase in buy volume on USTX, but an image is worth a thousand words...

image|480x500

Log in or sign up for Devpost to join the conversation.

posted an update

Warp pill #8: Do I need to hold USTX to use WARP?

No. WARP works like a single staking APP for USDD. You just need USDD to be able to use it. Deposit USDD and enjoy weekly rewards.

If you are also a USTX holder and you have tokens staked, you will benefit from a higher yield on your USDD. The extra yield depends on the WARP factor, which goes from 0.0 to 5.0. Maximum WARP (5.0) gives a 50% boost in APR. The obtain WARP 5.0 you need at least 20 USTX in locked staking for every USDD you want to deposit.

Let's make some examples using real data from last WARP epoch:

  • Case 1: Jim has 0 USTX in staking and deposited 1,000 USDD, he got an APR of 24.3% (WARP 0.0)
  • Case 2: Jane has 10,000 USTX in staking and deposited 1,000 USDD, she got an APR of 30.4% (WARP 2.5)
  • Case 3: Shannon has 20,000 USTX in staking and deposited 1,000 USDD, she got an APR of 36.5% (WARP 5.0)

Log in or sign up for Devpost to join the conversation.

posted an update

Warp pill #7: What does the compound button do?

The compound button on the main page of the UI triggers the internal rewards compounding function and updates all internal state variables.

Rewards compounding means that all rewards will be moved to the deposited balance and so will contribute to generate more rewards. This change is effective immediately.

Another effect is to update all internal states for the user account. This is important in case the users wants to change the Warp factor (i.e. adding or removing USTX in stake). There are two cases:

  1. The user wants to increment the warp factor (add USTX in stake);
  2. The user wants to reduce the warp factor (remove USTX from stake).

For case 1, the user needs to use the compounding function AFTER having increased the USTX in stake, to enable the new improved warp factor and enjoy the higher yield. For case 2, the user need to use the compounding function BEFORE removing USTX in stake, so that the rewards are calculated up to that point with the old (higher) warp factor.

Log in or sign up for Devpost to join the conversation.

posted an update

Warp pill #6: What are the risks in using Warp?

As always, we want informed users, so here’s the main risks associated with Warp:

  • smart contract risk: we carefully designed and tested the contracts on Nile and mainnet, but human error can never be excluded 100%;
  • capital risk: in case of TRX price variations, the value of the underlying assets (deposits, borrows and LP value) can go below 100%. The team will make sure that over time an adequate reserve will be created to handle these events and make sure the user capital is always 100% covered. This parameter is clearly shown on WARP app and is currently at 100.2%;
  • liquidation risk: TRX is borrowed from JustLend against USDD deposits. The strategy is balanced so that if TRX price increases up to 85% there is no liquidation risk. The team will continously monitor the margin and act to re-balance the strategy in case of significant variation from nominal;
  • USDD price risk: the contract works with USDD, so all values are relative to USDD. If USDD price is deviates from nominal (1$), the same will happen to the deposit value. This risk is NOT strictly related to Warp, but is present every time the user holds USDD (or any other token).

Log in or sign up for Devpost to join the conversation.

posted an update

Warp pill #5: Where does my money go? How can I check?

This is a very good question that might arise. After the user deposits the USDD in Warp, where do they go? The Warp algorithm is fairly complex, but it allow for very easy on-chain verification of where the funds are. Tronscan comes in help, just browse to this link: Warp asset overview.

image

As you can see currently there are almost 10k in deposit, of which about 60% are farming on Sun.io When the user deposits USDD in Warp, the funds go straight to JustLend.

Log in or sign up for Devpost to join the conversation.

posted an update

Warp pill #4: what are anti-whale limitations?

How do you feel when you enter a farm with good APY and after a while a whale comes in and crushes the APY? Not good! We wanted WARP to be a tool for users, to improve and simplify the yield opportunities. That’s why we put limits on how much a single account can hold. At the time of writing the limit is 5k$ per user, but it will be raised to at least 10,000 USDD.

Log in or sign up for Devpost to join the conversation.

posted an update

Warp pill #3: are deposits and rewards locked?

We wanted warp to be as easy as possible to use and as flexible as possible. There is a lock on deposits and a minimum time to be able to claim rewards, but we kept them as short as possible. Time in Warp is tracked in epochs. One epoch lasts 1 week. Epoch transition is on Saturday.

Lock time on deposits is 1 full epoch, which means from 7 to 14 days, depending when the user requests the unlock.

Lock time for rewards is the next epoch transition, which means from 0 to 7 days, depending when the user requests the unlock.

Why do we need to lock deposits? Because the user funds are all moved to other platforms to generate the yield, so before making the withdrawal possible, some time is needed to free the necessary allowance.

Log in or sign up for Devpost to join the conversation.

posted an update

Warp pill #2: is it really that hard to do pseudo-neutral farming? Can’t I just do it by miself?

When we say that WARP goal is to simplify something complex, we really mean it. Doing pseudo neutral farming involves making calculations and interfacing with all DeFi apps needed to move the funds around. Also you need about 1M in energy every time you need to balance. If you are willing to do all that, every week, go ahead. Otherwise, you can use WARP, deposit once and get rewards every week at the best possible APR on USDD. If you are willing to do more, you can push the Compound button, once per week and improve your APY.

Just to give an idea about the complexity of the strategy, the user needs to interact with one smart contract (i.e. WARP), while WARP interacts with 17 other smart contracts.

Log in or sign up for Devpost to join the conversation.

posted an update

Warp pill #1: what happens behind the scenes in WARP?

The team effort for the WARP project has been towards simplifying the user access to DeFi opportunities, that would otherwise be to complex for most users. So we’d like to shed some light on what happens behind the scenes, inside WARP contract.

User deposit

After the user deposits USDD in WARP, the tokens are immediately supplied to JustLend, so that they immediately start generating yield. If the user has USTX in locked staking, the effective deposit will be increased depending on the warp factor (up tp +50%)

User requests balance unlock

The portion of balance selected for withdraw is moved to the pending balances. On the next epoch transition the JustLend allowance will be setup

User withdraws pending balance

The desired amount is removed from JustLend and send to the user

User requests rewards unlock

User rewards are moved from locked to pending. They will be available on next epoch.

User claims rewards

The rewards in USDD are sent to the user wallet

User compounds rewards

The user rewards are added to the user deposit balance

Before epoch transition

The total deposits are updated (taking into account new deposits and withdraw requests) USDD balance to pay for pending rewards is moved to contract (if needed) The SunSwap liquidity amount is corrected, depending on the updated total deposits and balanced for neutrality against TRX price fluctuations The farming rewards are harvested and swapped is USDD (if needed)

New epoch

The available rewards are computed and used to calculate the last epoch APR. Contract data is updated, new epoch begins. Pending rewards are now claimable

Log in or sign up for Devpost to join the conversation.