Avalanche in Review #19 — 56 Days in Struct Finance’s $BTC Vault

Achieving 7.98% APR over 56 days in the fixed tranche of a $BTC.b vault with Struct Finance.

harry.avax
Struct Finance
7 min readNov 6, 2023

--

Introduction

The article today is reviewing the performance of the fixed tranche of one of the $BTC.b vaults from Struct Finance that I wrote about in August as part of my Earning BTC on Avalanche series.

Each of these vaults run for a set period of time, with the one I entered starting on 9th August and maturing on 4th October this year, for a period of 8 weeks or 56 days in total.

This vault was built on top of $GLP from GMX, leveraging the deposits to offer an estimated 8% and 48% APR on the fixed and variable tranches respectively, with the variable side being boosted with incentivised $AVAX rewards.

Performance

Struct Fixed $BTC.b Tranche — BTC.b Value and APR
Struct Fixed $BTC.b Tranche — BTC.b Value and APR

The fixed tranche of this $BTC.b vault performed almost exactly as expected, achieving an APR of 7.98% upon maturity after 56 days.

This meant that I was able to withdraw 0.00465119 BTC.b from my original 0.0045948 BTC.b deposit, for an increase in value of 0.00005639 BTC.b from the vault.

The 0.02% difference between actual and expected performance is so small it’s hardly worth mentioning, but it’s due to the combination of a couple of things:

  • $BTC.b only has 8 decimal places of accuracy.
  • My deposit was relatively small, with the value in $BTC.b terms already well into these decimal places.

As a result, the interest received is truncated to 8 decimal places. If $BTC.b had greater decimal precision or my deposit was large enough to offset the impact this has, the actual rate would come out to exactly the 8.00% APR quoted during the subscription period.

Struct — Variable $BTC.b Tranche Performance
Struct — Variable $BTC.b Tranche Performance

Whilst I didn’t enter the variable tranche this time, I do think it’s worth highlighting its performance, having reached 77.90% APR rather than the 48% APR estimated originally, which is outstanding.

Part of this comes from the boosted $AVAX rewards for the variable tranche, but the main increase is due to the performance of $GLP during the tranche’s running period, with the outlook being generally bearish and the outcome matching this.

Process

Struct — $BTC.b Vault Withdrawal Approval
Struct — $BTC.b Vault Withdrawal Approval

Withdrawing from the $BTC.b vault upon maturity was a quick and simple process, essentially following the same steps as depositing but in reverse.

The first step was locating the vault I deposited in, which was easily done by clicking the Dashboards option at the top of the page.

This displays all positions you hold or have held with Struct, and clicking on the vault selected it. I then clicked the Approve button to allow access to the ERC-1155 token representing my deposit.

Struct — $BTC.b Vault Withdrawal Confirmation
Struct — $BTC.b Vault Withdrawal Confirmation

This required one transaction to complete, and the page automatically updated and displayed a message along the top one it was confirmed.

Struct — $BTC.b Vault Withdrawal Complete
Struct — $BTC.b Vault Withdrawal Complete

Finally, I clicked the withdraw button, which required another transaction to complete. The page updated automatically again and there was a confirmation message displayed along the top again too, but I missed it in the screenshot above.

And that was it. Both transactions were highly gas efficient, costing just 0.004818788 AVAX in total and leaving me 0.084938356 AVAX of the original 0.1 AVAX that I had allocated for gas fees originally, and 0.00465119 BTC.b back in my wallet.

After that, I sent the $BTC.b back to my main wallet for use in a future Earning BTC on Avalanche article.

Platforms and Protocols

Struct have continued to push out new vaults since my original article, having launched a total of 24 different vaults by early September. These include those for the three markets at the time of my previous article:

  • $USDC / $USDC
  • $BTC.b / $USDC
  • $BTC.b / $BTC.b

As well as new $BTC.b / $WETH.e and $WETH.e / $USDC markets.

If you’d like to read more about these and other updates, I’ll avoid repeating what Struct have already said better than I could, and suggest reading the recap article linked above.

Another update that I think is worth highlighting is their latest article explaining exactly how their $GLP vaults work, including the ideal outlook for each tranche.

This really helps in deciding between the fixed and variable tranches, or whether you may benefit from instead waiting for market conditions to change before making a deposit.

They haven’t been released yet, but one upcoming change I’m particularly excited about is the vaults for Trader Joe’s Auto Pools.

Struct — Upcoming Auto Pool Vaults Tweet
Struct — Upcoming Auto Pool Vaults Tweet

These have been recently teased as coming soon, so I’d expect to hear some updates in this regard from Struct and Trader Joe within the next few weeks.

Conclusion

Struct — Current Markets
Struct — Current Markets

I’ve been really impressed with Struct and the performance of their vaults. The fixed tranches have been offering an excellent and stable yield on blue-chip assets for several months now, and the variable tranches of the different pools provide options for all market outlooks.

I’ve started a sort of rolling deposit approach for the fixed tranches with some of my assets, namely $BTC.b as in this article, by reusing and compounding the deposit from one tranche in the next as it becomes available for withdrawal.

This hasn’t always been successful, in that at times the deposits for the fixed side outweigh those for the variable side. This has meant that my deposit has been refunded in such cases if I was later to deposit, and I’ve had to wait for the next suitable pool to open up before trying again, leading to some periods with no earnings on my assets as they’re sat idle.

This isn’t the fault of Struct, more the risk appetite of depositors and seemingly favouring the fixed yield rather than the higher but riskier variable yield. What I’d love to see in the future, whether from Struct themselves or somebody building on top of them, is the ability to automate such a process as I don’t imagine I’m the only one doing this.

In my mind, this would look something like the following:

  • I make a deposit into one of the tranches.
  • Upon completion, I’m asked if I would like to compound the deposit once the vault matures.
  • If I select no, it follows the same process as it does currently.
  • If I select yes, I can then choose the vault type(s) I’d be comfortable compounding into, for example let’s say I wanted to continue only with the $BTC.b / $BTC.b vaults.
  • I can then choose the tranche(s) I’d be comfortable compounding into, such as only the fixed tranches.
  • Struct (or another product) would then automatically deposit into these vaults once my initial deposit matures and as ones matching the criteria selected become available.

There’s definitely a lot more to consider for something like this, but it’s something I’d certainly use were it available.

Overall, this strategy performed exactly as expected. As mentioned, I’ve been that happy with Struct that I’ve begun using them with more of my assets too, and don’t see myself changing that any time soon. Whilst I can’t keep this strategy running indefinitely, as the vaults run for fixed periods, I will be continuing to use them personally and I’ll be writing about and tracking the performance of them again soon, particularly with the Auto Pool vaults on the horizon.

You can follow me on any of the following if you’d like to keep up to date with my latest strategies, articles and reviews:

You can also find me and all the protocols mentioned in this article at the links just below.

--

--

harry.avax
Struct Finance

Writing about DeFi, onchain yield and tracking real performance over time. Core Contributor @ Yield Yak | https://x.com/harry_avax